Mensajes entrantes: estructura del evento
Todos los mensajes que llegan a tu número comparten el mismo sobre. Cambia el contenido según el tipo de mensaje.
API de WhatsApp y CRM
Necesitas una clave de API. Pídela a nuestro equipo de soporte o créala desde la plataforma.
El sobre común
Cada mensaje entrante llega a tu webhook con esta forma:
{
"app": "mi-app",
"timestamp": 1718007189549,
"version": 2,
"type": "message",
"payload": {
"id": "ABEGkZUTIXZ0Ago6jWqOZm-Sz0WD",
"source": "573001112233",
"type": "text",
"payload": { "text": "Hola" },
"sender": { "phone": "573001112233", "name": "Ana", "country_code": "57", "dial_code": "3001112233" },
"context": { "id": "gBEGkYaYVSEEAgnPFrOLcjkFjL8" }
}
}Campos
| Campo | Qué es |
|---|---|
app | Aplicación a la que entró el mensaje |
timestamp | Momento en que la plataforma recibió el mensaje (epoch en milisegundos) |
version | Versión del sobre |
type | Tipo de evento: message para mensajes del cliente |
payload.id | Identificador único del mensaje en WhatsApp |
payload.source | Teléfono del cliente en formato E.164 |
payload.type | text, image, file, audio, video, contact, location, button_reply o list_reply |
payload.payload | Contenido, que cambia según el tipo |
payload.sender | Nombre y teléfono de quien escribe |
payload.context | Opcional: aparece cuando el cliente responde a un mensaje tuyo |
Cuándo llega el objeto `context`
Solo cuando hay una respuesta a algo que enviaste. Trae el identificador del mensaje original, así puedes reconstruir el hilo sin guardar todo el historial en memoria.
Cómo leer el contenido
- Texto:
payload.payload.text. - Botón rápido: llega como texto con el rótulo que tocó el cliente y
type: "button"dentro del contenido. - Lista: el identificador de la opción elegida.
- Archivos: se recibe una referencia para descargar el medio, no el binario.
Los mensajes del cliente llegan con unos segundos de retraso respecto al envío: es normal y sirve para que alcances a guardar el identificador del mensaje saliente antes de procesar la respuesta.
¿Te sirvió esta página?