https://a.storyblok.com/f/270183/180170/fae5ac2375/sms-dlr-net.png

Como obter um comprovante de entrega de SMS no ASP .NET MVC

Publicado em May 18, 2021

Tempo de leitura: 2 minutos

Agora que você enviou com sucesso enviado um SMS e recebido um SMS usando seu número da Vonage, é hora de verificar o status da mensagem para garantir que ela foi entregue. Para isso, precisamos obter o comprovante de entrega, que informará o status de entrega da mensagem.

Requisitos

Receba webhooks no seu localhost

A SMS API da Vonage utiliza webhooks para informar ao aplicativo ASP.NET o status da mensagem de texto enviada. Conforme explicado no tutorial anterior, vamos usar o o ngrok para expor a porta à internet para que os servidores da Vonage possam se conectar a ela durante os testes.

Example of Ngrok running

Volte ao Visual Studio e execute seu programa; em seguida, acesse o Painel do Vonage. Na página “Configurações” , na parte inferior, você verá Retorno de chamada para confirmação de entrega , na seção Configurações da API. Cole a URL do ngrok na caixa de texto e adicione /SMS/DLR no final. Isso encaminhará a mensagem para a ação Receive no controlador SMS.

Configuring Nexmo webhooks

Mergulhando no código

Nesta série de tutoriais, começamos aprendendo a enviar um SMS.

Neste primeiro tutorial, criamos um projeto ASP.NET MVC e adicionamos um controlador chamado SMSController.cs. Em seguida, criamos dois métodos de ação. Um deles servia para exibir a visualização dos detalhes do SMS (número de destino e texto da mensagem) e o outro para recuperar os valores do formulário e enviar um SMS.

No segundo tutorial, criamos outro método de ação para exibir os detalhes da mensagem SMS recebida na janela de saída.

Para ler o comprovante de entrega, vamos criar um método de ação chamado DLR no SMSController.cs.

Code example receiving DLR

Como você pode ver no código acima, é preciso adicionar [FromUri] no parâmetro para poder ler o comprovante de entrega. Acima desse método, adicione um HTTPGetAttribute para restringir o método ao tratamento de solicitações GET. Imprima o messageID (ID da mensagem), msisdn (número virtual da Vonage) e to (número de destino) e o status (mensagem de status) na janela de saída usando ‘Debug.WriteLine’. Você pode verificar a lista de códigos de status aqui.

Agora você está pronto para começar! Envie um SMS usando seu número virtual da Vonage e abra a janela de saída no Visual Studio. Lá, você deverá ver o comprovante de entrega da mensagem de texto que enviou! Você configurou com sucesso seu número virtual para retornar um status de uma mensagem de texto por meio de um webhook!

Example output of a DLR

Compartilhar:

https://a.storyblok.com/f/270183/150x150/a3d03a85fd/placeholder.svg
Rabeb OthmaniEx-funcionários da Vonage

Rabeb era Developer Advocate na Nexmo, com foco em APIs de comunicação em nuvem e em ajudar desenvolvedores a terem a melhor experiência possível ao criarem seus aplicativos. Além de ganhar a vida escrevendo código, Rabeb defende a inclusão de mais mulheres e minorias no setor de tecnologia, daí seu envolvimento com a Women Who Code e com diversas comunidades tecnológicas. Ela lidera a rede Women Who Code em Bristol.