https://d226lax1qjow5r.cloudfront.net/blog/blogposts/get-sms-delivery-receipt-asp-net-mvc-dr/sms-dlr-net.png

Cómo obtener un recibo de entrega de SMS en ASP .NET MVC

Publicado el May 18, 2021

Tiempo de lectura: 2 minutos

Ahora que ya has enviado un SMS y recibido un SMS usando tu número de Vonage, es hora de verificar el estado del mensaje para asegurarnos de que fue entregado. Para ello, debemos obtener el recibo de entrega, que nos devolverá el estado de entrega del mensaje.

Requisitos

  • Un proyecto de Visual Studio

  • Un proyecto configurado como se describe en la anterior entrada de blog de esta serie de tutoriales que puedes encontrar en GitHub.

  • Opcional: CLI de Vonage

Vonage API Account

To complete this tutorial, you will need a Vonage API account. If you don’t have one already, you can sign up today and start building with free credit. Once you have an account, you can find your API Key and API Secret at the top of the Vonage API Dashboard.

This tutorial also uses a virtual phone number. To purchase one, go to Numbers > Buy Numbers and search for one that meets your needs.

Recibir webhooks en su localhost

La API de SMS de Vonage utiliza webhooks para informar a la aplicación ASP.NET sobre el estado del mensaje de texto enviado. Como se explicó en el tutorial anteriorutilizaremos ngrok para exponer el puerto a Internet para que los servidores de Vonage puedan conectarse a él durante las pruebas.

Example of Ngrok running

Vuelve a Visual Studio y ejecuta tu programa, luego dirígete al Panel de Vonage. En la sección Configuración hacia la parte inferior, verás Devolución de llamada para recibo de entrega en la sección Configuración API. Pegue la URL ngrok dentro del cuadro de texto y añada /SMS/DLR al final. Esto dirigirá el mensaje a la acción Recibir en el controlador de SMS.

Configuring Nexmo webhooks

Sumergirse en el código

En esta serie de tutoriales, empezamos aprendiendo a enviar un SMS.

En este primer tutorialcreamos un proyecto ASP.NET MVC y añadimos un controlador llamado SMSController.cs. Después, creamos dos métodos de acción. Uno de ellos para presentar la vista de los detalles del SMS (número de destino y texto del mensaje) y el otro para recuperar los valores del formulario y enviar un SMS.

En el segundo tutorialcreamos otro método de acción para imprimir los detalles del mensaje SMS entrante en la ventana de salida.

Para leer el recibo de entrega, crearemos un método de acción llamado DLR en el directorio SMSController.cs.

Code example receiving DLR

Como se puede ver en el código anterior, es necesario añadir [FromUri] en el parámetro para poder leer el recibo de entrega. Encima de este método, añade un método HTTPGetAttribute para restringir el método a la gestión de peticiones GET. Imprime el messageID (ID del mensaje), msisdn (número virtual de Vonage), to (número de destino), y el estado (mensaje de estado) a la ventana de salida utilizando 'Debug.WriteLine'. Puede consultar la lista de códigos de estado aquí.

¡Ahora estás listo para comenzar! Envía un SMS usando tu número virtual de Vonage y abre la ventana de salida en Visual Studio. Allí deberías ver el recibo de entrega del mensaje de texto que enviaste. Ahora has configurado correctamente tu número virtual para que devuelva el estado de un mensaje de texto a través de un webhook.

Example output of a DLR

Enlaces útiles

Compartir:

https://a.storyblok.com/f/270183/150x150/a3d03a85fd/placeholder.svg
Rabeb OthmaniAntiguos alumnos de Vonage

Rabeb fue defensora de los desarrolladores en Nexmo, centrándose en las API de comunicación en la nube y ayudando a los desarrolladores a obtener la mejor experiencia posible al crear sus aplicaciones. Además de escribir código para ganarse la vida, Rabeb aboga por atraer a más mujeres y minorías a la tecnología, de ahí su participación en Women Who Code y en diferentes comunidades tecnológicas. Dirige la red Women Who Code en Bristol.