Campos del webhook de WhatsApp, y adónde va cada uno
Una cuenta de WhatsApp Business entrega eventos como campos con nombre. Dos llevan contenido de conversación y se enrutan a tu endpoint. Seis llevan estado operativo y son la base del monitoreo. Saber cuál es cuál decide tu arquitectura.
- Dos campos de mensaje, seis operativos
- El enrutamiento se define por cuenta
- Campos con nombre, no un payload genérico
No se cobra nada durante 7 días. Cancela cuando quieras.
Campos de la ruta de mensajes: messages y smb_message_echoes.
Campos operativos que se guardan para el monitoreo.
Override por cuenta de WhatsApp Business, que es lo que separa los dos grupos.
¿Qué lleva cada campo?
messages lleva todo lo que un cliente envía al número: texto, referencias de medios, respuestas y reacciones. smb_message_echoes lleva lo que tu equipo envía desde la app de WhatsApp Business, que solo existe en un número con Coexistencia y es como el software ve las respuestas de una persona.
account_update lleva el estado de la conexión: PARTNER_REMOVED cuando la app se desinstala de la cuenta, ACCOUNT_OFFBOARDED, ACCOUNT_RECONNECTED, y eventos de restricción o de violación. phone_number_quality_update lleva cambios de calificación de calidad y de throughput. account_alerts lleva alertas que Meta levanta contra la cuenta, y account_review_update lleva el resultado de una revisión.
business_capability_update lleva cambios de límite de mensajes y de capacidades, y phone_number_name_update lleva aprobaciones y rechazos del nombre visible.
¿Por qué esta separación importa en la arquitectura?
Porque decide si el contenido de las conversaciones llega alguna vez a un proveedor.
El override manda los dos campos de mensaje a tu endpoint directamente desde Meta. Los seis campos operativos siguen hacia el proveedor, y eso es lo que hace posible tener panel y alertas sin que nadie guarde un mensaje.
También por eso la afirmación de no almacenar mensajes puede ser estructural y no solo una política. Si los campos de mensaje se entregan en otro lugar, no existe ninguna ruta de código en la que pudieran almacenarse. En nuestro caso, una cuenta sin override cae en el callback por defecto, donde el handler descarta esos eventos sin persistir nada.
¿Qué campos debe esperar tu handler?
Solo los dos campos de mensaje, si el override está definido, y conviene escribir el handler para ignorar cualquier otra cosa en lugar de fallar con ella.
Meta agrega campos con el tiempo y la forma de un payload puede ganar claves sin avisar. Un handler que decide por el nombre del campo e ignora lo que no reconoce sigue funcionando; uno que supone una forma se rompe en el primer evento desconocido.
También conviene tratar smb_message_echoes de forma explícita en lugar de verlo como ruido. Sin él, el software no tiene idea de que una persona ya respondió, y así es como un cliente termina con dos respuestas a la misma pregunta.
Errores comunes
- Suponer un payload genérico. Cada evento nombra su campo, y el handler debe decidir por él.
- Ignorar smb_message_echoes. Sin él el software responde encima de una persona que ya respondió.
- Fallar ante campos no reconocidos en lugar de saltarlos. Meta agrega campos sin pedir permiso.
EasyCoexistence suscribe los campos operativos para el monitoreo y enruta los dos campos de mensaje a tu endpoint, o los descarta sin persistir si no has definido uno.
Preguntas frecuentes
¿Puedo recibir solo algunos campos?
El override mueve la ruta de mensajes hacia ti. La separación operativa es fija, porque el monitoreo se construye a partir de ella.
¿smb_message_echoes existe en un número Cloud API normal?
No. Existe porque un número con Coexistencia tiene a una persona enviando desde la app además del software enviando desde la API.
¿Qué pasa con los eventos de mensaje si no defino destino?
Llegan a nuestro callback por defecto y se descartan sin ser persistidos.
¿Los nombres de los campos son de Meta o tuyos?
De Meta. Nada aquí es un nombre que inventamos, y por eso vale aprenderlos una vez.
Sigue leyendo
¿Listo para empezar?
Configura WhatsApp Coexistence en minutos, no en meses. La app sigue funcionando en el teléfono.
Empezar prueba gratisNo se cobra nada durante 7 días. Cancela cuando quieras.Verificado el