Documentación

Qué hace Conext con cada evento de Meta.

No hay una API pública para empujar contactos a otro sistema. Esta página dice qué entra desde Meta, cómo se verifica y qué queda en la bandeja.

Una sola URL recibe a todos los clientes. El CRM no lee una API key en el webhook: Meta lo firma, y el negocio se resuelve por un id del payload.

Autenticación: la firma de Meta, no una clave tuya.

El GET de verificación responde el `hub.challenge` si el `hub.verify_token` coincide con el de la app. El POST trae la firma HMAC en la cabecera de Meta; si no calza, se descarta. Eso lo resolvemos nosotros con el secreto de la app. Al conectar el canal no hay un token de webhook que copiar en un panel.

Si el id del payload no pertenece a ningún negocio —un `phone_number_id`, un PAGE_ID o un IGID que nadie conectó— el evento se tira. No se adivina el destinatario.

Los tres objetos.

WhatsApp llega con `object: whatsapp_business_account` y `entry[].changes[]`. El negocio sale de `value.metadata.phone_number_id`. El texto está en `messages[]` cuando `type` es `text`; cualquier otro tipo se ignora y queda logueado. Los acuses vienen en `statuses[]` (sent, delivered, read, failed) y nombran el wamid del saliente.

Instagram y Messenger llegan con `entry[].messaging[]`. El `object` `instagram` resuelve por el IGID (`entry[].id`); el `object` `page`, por el PAGE_ID. Un `message.is_echo` se descarta. El id del contacto se guarda prefijado (`ig:…`, `fb:…`) para no chocar con un `wa_id` de la misma forma. En estos dos canales el acuse es una marca de agua: todo lo anterior a esa marca está entregado o leído, sin listar mensajes.

Estados, dedup y lo que no entra.

El CRM responde 200 y procesa después, para que Meta no reintente por tiempo. El id del mensaje se inserta en una tabla de eventos; si ya estaba, no se vuelve a correr el pipeline. Un acuse que llega desordenado no puede bajar el estado: entregado no pisa a leído.

No se procesan adjuntos entrantes, comentarios, menciones ni mensajes que no sean texto. No hay un webhook saliente hacia tu base, ni un esquema para Make o Zapier. Lo que queda en Conext es el hilo, el estado del globo y, si aplica, el borrador de la IA.

En la práctica

  1. 1

    Conectás el canal en el CRM

    Ahí se guardan los ids. Sin ellos el webhook de Meta no tiene a quién atribuir el evento.

  2. 2

    Meta POST-ea a nuestra URL

    Se verifica la firma. Se resuelve el negocio. Se responde 200.

  3. 3

    El pipeline corre o se descarta

    Texto nuevo: se clasifica y se redacta. Acuse: se actualiza el globo. Eco, adjunto o id desconocido: no entra a la bandeja.

Esta referencia describe el camino de Meta hacia Conext. No es una API para que otro sistema nos escriba, ni un conector hacia afuera.

¿Querés verlo con tus conversaciones?

El plan Esencial incluye un canal, 500 conversaciones de IA por mes y un agente activo.