Payload de entrada de WhatsApp Business API
El cuerpo del webhook contiene directamente el objetovalue original que provee Meta en entry[].changes[].value. Se conservan sus campos y estructura; no se incluyen los envoltorios object, entry, changes, field ni una propiedad adicional value.
En los eventos de mensajes entrantes, encontrarás:
messaging_product:"whatsapp".metadata: número de teléfono del negocio (display_phone_number) y su identificador (phone_number_id).contacts: datos del remitente, comoprofile.nameywa_id.messages: arreglo con los mensajes recibidos. Cada mensaje contienefrom,id,timestampcomo cadena,typey el objeto correspondiente a ese tipo.
context para respuestas o reenvíos y referral para mensajes originados desde anuncios. Estos campos se conservan dentro del mensaje tal como los entrega Meta.
Los mensajes multimedia incluyen el identificador del archivo en messages[].<tipo>.id, que permite consultar el recurso mediante la API de Meta. Los valores entre < y > en los ejemplos son marcadores de posición.
Referencia: WhatsApp Cloud API de Meta.
Tamaño de la petición
Las peticiones al webhook pueden ser de hasta 3MB.Error en la entrega de webhooks
Si enviamos una peticion a tu punto de conexión y tu servidor responde con un código de estado HTTP que no es 200, o si no podemos entregar el webhook por otro motivo, seguiremos intentando hasta 3 veces la entrega cada vez con menos frecuencia. Esto puede dar como resultado que se dupliquen las notificaciones de webhook.Tiempos de respuesta
Si enviamos una peticion a tu punto de conexión y tu servidor tarda más de 3 segundos en responder con un codigo de estado que no es 200 marcaremos la petición como fallida. Seguiremos intentando la entrega hasta 3 veces cada vez con menos frecuencia. Esto puede dar como resultado que se dupliquen las notificaciones de webhook.Solución de problemas
Si no recibes webhooks:- Asegúrate de que el punto de conexión acepte solicitudes.