Puedes clonar nuestra aplicación de devolución de llamada de ejemplo con Glitch para crear una URL de devolución de llamada pública en los servidores de Glitch que puedes usar para probar los webhooks. El propósito de crear el proyecto de Glitch es que escribe cargas útiles de webhooks en un archivo de registro que puedes ver en tiempo real a medida que se activan los webhooks.
Esta guía forma parte de un proceso de varios pasos y debes haber completado una serie de estos pasos antes de empezar a configurar el extremo de aplicación de prueba con Glitch. Debes haber completado los siguientes pasos:
Las instrucciones completas para empezar con la API de nube de WhatsApp Business a fin de poder enviar tu primer mensaje de prueba están disponibles en Introducción a la API de nube de WhatsApp Business.
.env
, actualiza el valor de WEBHOOK_VERIFY_TOKEN
a una cadena aleatoria que elijas. A continuación, puedes copiar el valor del identificador de acceso temporal o permanente de WhatsApp > Configuración de la API en tu panel de aplicaciones y pegar dicho valor en GRAPH_API_TOKEN
.
/webhook
al final de la URL para obtener la URL de devolución de llamada completa. Tendrá un aspecto similar a https://<project-name>.glitch.me/webhook
.Ahora que el extremo está listo, debes volver al panel de aplicaciones.
https://<project-name>.glitch.me/webhook
) para la URL de devolución de llamada y (“HAPPY”) para el identificador de verificación.
Para confirmar que se ha activado una notificación de webhooks, vuelve a Glitch y selecciona LOGS. El resultado de salida debería parecerse a la siguiente imagen.
La carga útil completa de la notificación del webhook debería ser parecida a la siguiente:{ "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 de la izquierda para ver la implementación del extremo 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"}]}