Monitorar o status da mensagem do WhatsApp no Node.js e na API da Twilio para WhatsApp
Tempo de leitura: 3 minutos
Ao longo do tempo, os meios de comunicação de mídia digital se expandiram de e-mail e SMS para mídias sociais. Estima-se que o usuário médio gasta pelo menos 2 horas e 22 minutos em plataformas de mídia social e mensagens por dia. Em um mundo onde quase todos estão conectados, as empresas aproveitaram essa oportunidade para promover e fazer campanhas para seus produtos e serviços. Mas qual é o ponto de enviar conteúdo promocional se não há como rastreá-lo? A API da Twilio para WhatsApp adicionou recentemente o recurso de confirmação de leitura com o qual se pode medir efetivamente se o destinatário consome o conteúdo enviado a ele. Neste tutorial, vou mostrar como você pode obter o status de uma mensagem de WhatsApp enviada pela API da Twilio para WhatsApp.
Pré-requisitos
Para concluir este tutorial, você precisará do seguinte:
- Node.js, versão 8 ou superior
- Conta da Twilio
- Mongo DB
- ngrok
Primeiros passos
Criei um app expresso que segue o padrão MVC apenas com uma rota para o envio de mensagens de WhatsApp. Adicionaremos os controladores dele à medida que avançarmos no tutorial. Siga as instruções abaixo em seu terminal de preferência para configurar seu ambiente de desenvolvimento:
Ativar o Sandbox da Twilio para WhatsApp
Depois de criar uma conta e um projeto gratuitos na Twilio, vá para a aba "All Products & Services" (Todos os produtos e serviços) no console e selecione a opção "Programmable SMS" (SMS programável). No dashboard exibido, selecione "WhatsApp Beta" e siga as instruções para ativar o sandbox. No meu caso, deveria enviar o código join smooth-took
para +1 415 523 8886
.
Após uma ativação bem-sucedida do sandbox, você deverá receber uma imagem semelhante como a mostrada abaixo:
Em seu editor de código favorito, adicione as seguintes linhas de código no arquivo app/message.controller.js
.
OBSERVAÇÃO: Certifique-se de substituir a chave To no objeto
messageBody pelo seu próprio número.
O código acima cria o corpo de uma mensagem de WhatsApp e usa o Axios, um cliente baseado em promessa HTTP, para o navegador e o cliente enviarem a mensagem para o número de telefone especificado. Para fins de registro, estamos armazenando o status do WhatsApp, o SID da mensagem, o número do celular e o corpo do WhatsApp em nosso banco de dados.
No arquivo .env
, adicione o seguinte:
OBSERVAÇÃO: Verifique o SID e o auth token (token de autenticação) da Twilio no seu dashboard.
Em seguida, cole as seguintes linhas de código em app/message.router.js
.
Teste
Em uma nova sessão do terminal, execute mongod
e, na raiz de nosso projeto, execute node index.js
para iniciar nosso aplicativo. Espere ver uma tela semelhante como resultado do seu último comando.
Em seguida, precisamos configurar nosso webhook no dashboard da Twilio para WhatsApp para receber os diferentes status do WhatsApp. Depois de baixar e configurar o ngrok
, execute ./ngrok http 3000
para expor nosso localhost à Internet.
Copie o URL seguro e acrescente /results
. Em seguida, cole-o na configuração do sandbox do WhatsApp, conforme mostrado abaixo. De acordo com minha tela, o URL resultante é: https://1993fac3.ngrok.io/results
.
Abra o cliente REST de sua preferência e cole o seguinte URL http://localhost:3000/whatsapp. Você receberá uma nova mensagem do WhatsApp.
Para garantir que você esteja recebendo os diferentes status do WhatsApp, execute os seguintes comandos no seu terminal.
Antes de abrir a mensagem, recupere todas as mensagens usando db.messages.find({}).pretty()
. O whatsAppStatus
será delivered
. Após abrir a mensagem, o BD será atualizado com o status correto que é read
.
Conclusão
Neste tutorial, você aprendeu a rastrear mensagens do WhatsApp enviadas aos usuários. Você pode visualizar todo o código do projeto aqui. Adoraria saber sua opinião. Siga-me no Twitter ou me envie um e-mail. Aproveite as dicas!
Leitura adicional
Se quiser saber mais sobre como criar um aplicativo personalizado do WhatsApp, os seguintes documentos podem ajudar:
Publicações relacionadas
Recursos relacionados
Twilio Docs
De APIs a SDKs e aplicativos de amostra
Documentação de referência de API, SDKs, bibliotecas auxiliares, guias de início rápido e tutoriais para sua linguagem e plataforma.
Centro de Recursos
Os mais recentes e-books, relatórios do setor e webinars
Aprenda com especialistas em engajamento do cliente para melhorar sua própria comunicação.
Ahoy
Centro da comunidade de desenvolvedores da Twilio
Melhores práticas, exemplos de código e inspiração para criar comunicações e experiências de engajamento digital.