Saltar al contenido principal

Qué es

Suscríbete a whatsapp.echo_message.created. Recibes este evento cuando YCloud registra un eco saliente de un Meta Business Agent integrado a través de la Public REST API. Lee el contenido con formato de mensaje estándar de whatsappMessage; no uses este evento para los mensajes entrantes de los clientes. El contrato actual mantiene el nombre del evento sin cambios mientras expone el eco como un mensaje estándar de WhatsApp. Los campos de Agent, transferencia (handover) y enrutamiento de Inbox no forman parte de esta carga útil.

Antes de comenzar

  1. Integra el Agent a través de la Public REST API.
  2. Suscribe un endpoint de webhook activo en la misma cuenta a whatsapp.echo_message.created.
  3. Verifica YCloud-Signature con el cuerpo sin procesar de la solicitud, acepta cada evento de forma duradera y procésalo de manera idempotente.
Los Agents creados desde la consola no emiten este webhook de cliente. Su sincronización con Inbox es un flujo independiente.
Consulta Configurar webhooks para la configuración del endpoint.

Cómo funciona

Todos los ejemplos utilizan identificadores de marcador de posición. Enruta por el type externo y lee whatsappMessage, no whatsappMetaBusinessAgent, whatsappEchoMessage o data. Desduplica las entregas repetidas utilizando el id externo. El createTime externo es la hora del evento del webhook; los campos de hora anidados del mensaje son marcas de tiempo de origen en formato RFC 3339.
  • Usa id o wamid para correlacionar eventos de estado posteriores.
  • Lee el texto de text.body. Para archivos multimedia, inspecciona type y el objeto de contenido correspondiente. Los ID de multimedia no son URL públicas de descarga.
  • El teléfono del cliente y el BSUID son independientes. Cuando la devolución de llamada de origen proporciona ambos, el evento incluye to junto con recipientUserId o parentRecipientUserId. Las identidades faltantes se omiten y no se deducen entre sí.
  • from es el número de teléfono visible de la empresa cuando la devolución de llamada de origen proporciona un número de teléfono válido. No se deriva de phoneNumberId.
  • El contexto de respuesta se normaliza según el contrato de mensaje estándar. Por ejemplo, el context.id de origen se expone como context.message_id.
  • No se incluyen campos de Agent, transferencia (handover), enrutamiento, precios ni conversaciones.
  • status es el estado almacenado cuando se procesa el eco; no se garantiza que sea sent.
  • Los mensajes entrantes de clientes utilizan whatsapp.inbound_message.received. Los ecos de Business App utilizan whatsapp.smb.message.echoes.

Solicitud

YCloud envía estos cuerpos JSON en solicitudes HTTP POST a tu URL de Webhook configurada.

Respuesta

Devuelve una respuesta 2xx tras aceptar cada evento de forma duradera. Procesa las tareas lentas de manera asíncrona.

Eco de texto saliente

Solicitud

Almacena el texto de whatsappMessage.text.body. id y wamid vinculan los eventos de estado posteriores.

Respuesta

Explicación

Lee el texto del eco desde whatsappMessage.text.body. Usa id o wamid para correlacionar eventos de estado posteriores.

Eco de imagen saliente

Solicitud

El contenido del mensaje varía según el tipo. Trata los ID de multimedia como referencias del proveedor, no como URL públicas de descarga.

Respuesta

Explicación

Usa type para seleccionar el objeto de contenido correspondiente. Trata el id multimedia como una referencia del proveedor.

Ejemplos relacionados