É possível clonar nosso exemplo de app de retorno de chamada para criar uma URL de retorno de chamada pública nos servidores do Glitch de modo que você possa testar webhooks. Com o Glitch, é possível gravar a carga do webhook em um arquivo de registro que pode ser visualizado em tempo real à medida que webhooks são acionados.
Este guia faz parte de um processo em várias etapas. Você precisa ter concluído diversas etapas antes de configurar o exemplo de ponto de extremidade do app usando o Glitch. É preciso ter concluído o seguinte:
Veja as instruções completas sobre como começar a usar a API de Nuvem do WhatsApp Business para enviar a primeira mensagem de teste em Introdução à API de Nuvem do WhatsApp Business.
.env
, atualize o valor de WEBHOOK_VERIFY_TOKEN
para uma string aleatória da sua escolha. Depois, é possível copiar o valor do token de acesso temporário/permanente em WhatsApp > Configuração da API no Painel de Apps e colá-lo em GRAPH_API_TOKEN
.
/webhook
no final da URL para obter a URL completa do retorno de chamada. Ela será semelhante a https://<project-name>.glitch.me/webhook
.Com o ponto de extremidade pronto, é preciso voltar ao Painel de Aplicativos.
https://<project-name>.glitch.me/webhook
) no URL de retorno de chamada e ("HAPPY") em Verificar token.
Para confirmar que uma notificação do webhook foi acionada, volte ao Glitch e selecione LOGS. A saída deve ter a aparência da imagem a seguir.
A carga completa de notificações do webhook deverá ter esta aparência:{ "object": "whatsapp_business_account", "entry": [ { "id": "0", "changes": [ { "field": "messages", "value": { "messaging_product": "whatsapp", "metadata": { "display_phone_number": "16505551111", "phone_number_id": "123456123" }, "contacts": [ { "profile": { "name": "test user name" }, "wa_id": "16315551181" } ], "messages": [ { "from": "16315551181", "id": "ABGGFlA5Fpa", "timestamp": "1504902988", "type": "text", "text": { "body": "this is a text message" } } ] } } ] } ] }
server.js
para ver a implementação do ponto de extremidade do Webhook.
https://<project-name.glitch.me/webhook
.
Incoming webhook: {"messages":[{"from":"1234567890","id":"ABGGhSkIc2B_Ago-sDy5BNm-1gI5","text":{"body":"Hi"},"timestamp":"1529381066","type":"text"}]} Incoming webhook: {"statuses":[{"id":"gBGGhSkIc2B_AgkXDygfSDwgG5s","recipient_id":"1234567890","status":"sent","timestamp":"1529381072"}]} Incoming webhook: {"statuses":[{"id":"gBGGhSkIc2B_AgkXDygfSDwgG5s","recipient_id":"1234567890","status":"delivered","timestamp":"1529381072"}]} Incoming webhook: {"statuses":[{"id":"gBGGhSkIc2B_AgkXDygfSDwgG5s","recipient_id":"1234567890","status":"read","timestamp":"1529381076"}]}