Qué es
Los webhooks son solicitudes HTTPS que YCloud envía a su aplicación cuando cambian la entrega de mensajes, los mensajes entrantes, los contactos, las plantillas, las llamadas y otros recursos.Antes de comenzar
- Guarde su clave de API de YCloud en
YCLOUD_API_KEY. - Despliegue un endpoint HTTPS públicamente accesible.
- Conserve el cuerpo sin procesar de la solicitud para la verificación de firmas.
- Decida qué tipos de eventos necesita su aplicación.
Cómo funciona
- Cree un endpoint de Webhook y suscríbalo a tipos de eventos.
- Guarde el
secretdel endpoint devuelto. - YCloud envía una solicitud de evento a su endpoint.
- Verifique
YCloud-Signatureantes de confiar en la solicitud. - Devuelva una respuesta
2xxde inmediato. - Procese el evento de forma idempotente, ya que la entrega puede repetirse.
Solicitud
Cree un endpoint conPOST /webhookEndpoints.
Campos de solicitud
Ejemplo de solicitud
Suscribirse a eventos de echo y handover
Para los agentes incorporados a través de la API REST pública, cree un endpoint con las siguientes suscripciones. Los agentes creados desde la consola no emiten estos tres eventos. Para modificar un endpoint existente, conserve las suscripciones a eventos que aún necesite.whatsappMessage con formato estándar de mensaje. El evento handover incluye whatsappMetaBusinessAgent y conserva su información de agente/control. No utilizan el contrato whatsapp.smb.message.echoes de la aplicación WhatsApp Business. Consulte los detalles de los eventos echo y handover para obtener definiciones de campos, ejemplos, orden y límites de correlación de handover.
Respuesta
La respuesta devuelve el endpoint creado y susecret de firma. Guarde el secreto de forma segura. YCloud lo utiliza para generar firmas de Webhook.
Ejemplo de respuesta
Campos de respuesta
Recibir eventos
Solicitud de evento
YCloud envía un objeto de evento JSON alurl configurado. El evento incluye campos comunes como id, type, apiVersion y createTime, además de una carga útil específica del tipo.
Su controlador debe:
- Leer el cuerpo de la solicitud sin procesar.
- Validar el encabezado
YCloud-Signaturecon el secreto del endpoint antes de confiar en la carga útil. - Devolver una respuesta
2xxexitosa de inmediato. - Mover el procesamiento lento a una cola.
- Hacer que el procesamiento de eventos sea idempotente para que la entrega repetida no duplique acciones comerciales.
Respuesta del receptor
Devuelva una respuesta HTTP2xx exitosa tan pronto como se acepten la firma y la solicitud. El cuerpo de la respuesta puede estar vacío.
2xx pueden provocar que YCloud reintente el evento, por lo que debe desduplicar por el id del evento.
Ejemplos comunes de carga útil
Despliegue un evento para inspeccionar el ejemplo completo de su carga útil. Estos ejemplos proceden de la especificación de OpenAPI para webhooks. Consulte todos los ejemplos de carga útil de webhook para ver cada tipo de evento admitido.Evento de atributos de contacto cambiados
Evento de atributos de contacto cambiados
Carga útil de ejemplo cuando se cambian los atributos de un contacto
Evento de contacto creado
Evento de contacto creado
Carga útil de ejemplo cuando se crea un nuevo contacto
Evento de contacto eliminado
Evento de contacto eliminado
Carga útil de ejemplo cuando se elimina un contacto
Evento de cliente que cancela la suscripción
Evento de cliente que cancela la suscripción
Carga útil de ejemplo cuando un cliente cancela la suscripción
Cliente reanuda la suscripción
Cliente reanuda la suscripción
Carga útil de ejemplo cuando un cliente reanuda la suscripción
Evento de plantilla de WhatsApp archivada
Evento de plantilla de WhatsApp archivada
Carga útil de ejemplo cuando se archiva una plantilla de WhatsApp
Evento de plantilla de WhatsApp desarchivada
Evento de plantilla de WhatsApp desarchivada
Carga útil de ejemplo cuando se desarchiva una plantilla de WhatsApp. El estado de la plantilla es el estado actual devuelto por Meta y no representa una nueva revisión de aprobación.
Evento de llamada de WhatsApp conectada
Evento de llamada de WhatsApp conectada
Carga útil de ejemplo cuando se conecta una llamada de WhatsApp
Evento de llamada de WhatsApp finalizada
Evento de llamada de WhatsApp finalizada
Ejemplo de payload cuando se finaliza una llamada de WhatsApp
Evento de actualización del estado de una llamada de WhatsApp
Evento de actualización del estado de una llamada de WhatsApp
Ejemplo de payload cuando se actualiza el estado de una llamada de WhatsApp
Event y la referencia interactiva de payloads.
Rotar el secreto del endpoint
Rota un secreto si queda expuesto o como parte de tu política de seguridad:Un endpoint que falla repetidamente al recibir notificaciones puede pasar al estado
pending y dejar de recibir eventos. Monitorea los fallos de webhook y el estado del endpoint.
