Saltar al contenido
CRM Postventa documentación

Módulos

Mensajería y chatbot

Mensajería y chatbot · RF-04 y RF-05

Bandeja unificada

conversations agrupa por canal e identificador externo. Una conversación puede existir sin cliente: alguien desconocido escribe primero y se vincula —o se da de alta— después.

La ventana de 24 horas

Meta sólo permite texto libre dentro de las 24 h siguientes al último mensaje del usuario. Fuera de eso, sólo plantillas aprobadas.

El modelo lo sabe (window_expires_at, que se reabre con cada mensaje entrante) y la API lo expone como canSendFreeform, para que las dos interfaces bloqueen el compositor en vez de dejar que el envío falle en Meta.

Se bloquea en la interfaz y en el servidor: la interfaz no puede ser la única defensa.

Idempotencia

Meta reintenta los webhooks. webhook_events tiene unicidad sobre (provider, external_id): sin eso, un solo mensaje aparecería tres veces en la bandeja.

Firma

Cada webhook se valida con HMAC-SHA256 contra el secreto de la app. Una firma inválida se registra (signature_ok = false) y no se procesa — un pico de firmas inválidas es la señal de que alguien está tanteando el endpoint.

Chatbot

Un motor de reglas por palabra clave, no un modelo de lenguaje. Es deliberado: RF-05 pide exactamente cuatro cosas —respuestas frecuentes, alta de incidencia, consulta de estado y derivación— y un modelo generativo añadiría imprevisibilidad sin resolver nada más.

Sólo responde al primer contacto (bot_greeted_at lo garantiza). Un bot que saluda en cada mensaje es la forma más rápida de que un cliente deje de escribir.

Las reglas se editan desde Configuración, sin tocar código.

Facebook

El disparador de RF-02: cuando alguien hace clic en un producto de la fanpage, el webhook crea el ticket con channel = 'facebook' y guarda la referencia del producto en source_reference — que es lo que permite saber qué producto genera consultas.

Enlazan aquí