Puedes usar Glitch para clonar nuestra app de devolución de llamada de ejemplo y crear una URL de devolución de llamada pública en los servidores de Glitch, que puedes usar para probar webhooks. El objetivo de crear el proyecto de Glitch es escribir cargas de webhooks en un archivo de registro que puedes ver en tiempo real a medida que se activan los webhooks.
Esta guía es parte de un proceso de varios pasos. Es necesario que hayas completado algunos de estos pasos antes de comenzar a configurar el punto de conexión de la app de ejemplo con Glitch. Debes haber completado lo siguiente:
Puedes encontrar las instrucciones completas sobre cómo comenzar a usar la API de la nube de WhatsApp Business para enviar tu primer mensaje de prueba en Primeros pasos con la API de la nube de WhatsApp Business.
.env
, elige una cadena al azar para actualizar el valor de WEBHOOK_VERIFY_TOKEN
. Luego, tienes la opción de copiar el valor del token de acceso temporal o permanente desde WhatsApp > Configuración de la API en el panel de apps y pegar dicho valor en GRAPH_API_TOKEN
.
/webhook
al final de la URL para obtener la URL de devolución de llamada completa. Será similar a esta: https://<project-name>.glitch.me/webhook
.Ahora que el punto de conexión está listo, debes regresar al panel de apps.
https://<project-name>.glitch.me/webhook
) en URL de devolución de llamada y ("HAPPY") en Token de verificación.
Para confirmar que se activó una notificación de webhook, vuelve a Glitch y selecciona LOGS. La salida tendrá el siguiente aspecto.
La carga de notificación de webhook completa tendrá el siguiente aspecto:{ "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
en el panel de navegación izquierdo para ver la implementación del punto de conexión del 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"}]}