API de WhatsApp y CRM

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

CampoQué es
appAplicación a la que entró el mensaje
timestampMomento en que la plataforma recibió el mensaje (epoch en milisegundos)
versionVersión del sobre
typeTipo de evento: message para mensajes del cliente
payload.idIdentificador único del mensaje en WhatsApp
payload.sourceTeléfono del cliente en formato E.164
payload.typetext, image, file, audio, video, contact, location, button_reply o list_reply
payload.payloadContenido, que cambia según el tipo
payload.senderNombre y teléfono de quien escribe
payload.contextOpcional: 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.

AnteriorWebhooks: cómo recibir mensajes y eventosSiguienteEventos de sistema: plantillas y cuenta
¿Te sirvió esta página?