public async Task HandleCallbackAsync(App app, HttpContext httpContext) { var request = httpContext.Request; var status = request.Form["MessageStatus"].ToString(); var reference = request.Query["reference"].ToString(); var referenceNumber = request.Query["reference_number"].ToString(); var result = default(SmsResult); switch (status) { case "sent": result = SmsResult.Sent; break; case "delivered": result = SmsResult.Delivered; break; case "failed": case "undelivered": result = SmsResult.Failed; break; } if (result != SmsResult.Unknown) { await smsCallback.HandleCallbackAsync(reference, referenceNumber, result, httpContext.RequestAborted); } }
public async Task HandleCallbackAsync(App app, HttpContext httpContext) { var status = await messageBirdClient.ParseStatusAsync(httpContext); if (status.Reference != null) { var result = default(SmsResult); switch (status.Status) { case MessageBirdStatus.Delivered: result = SmsResult.Delivered; break; case MessageBirdStatus.Delivery_Failed: result = SmsResult.Failed; break; case MessageBirdStatus.Sent: result = SmsResult.Sent; break; } if (result != SmsResult.Unknown) { await smsCallback.HandleCallbackAsync(status.Recipient, status.Reference, result, httpContext.RequestAborted); } } }