Saltar al contenido principal

Inbox

El Inbox unificado centraliza conversaciones de múltiples canales (email, WhatsApp, SMS) en una sola interfaz.

Canales soportados​

CanalProveedorEstado
WhatsAppWhatsApp Business API✅
EmailAmazon SES✅
SMSTwilio✅

Conversaciones​

Modelo​

{
"id": "uuid",
"channel": "whatsapp",
"name": "Juan Pérez",
"handle": "+51987654321",
"subject": "Consulta sobre pedido",
"status": "open",
"assigned_to": "uuid-staff",
"priority": "high",
"last_message": "Gracias por la ayuda",
"last_message_at": "2026-04-08T12:00:00Z",
"unread_count": 3,
"sla_tone": "amber"
}

Estados de conversación​

EstadoDescripción
openAbierta, esperando respuesta
snoozedPausada temporalmente
closedCerrada

Endpoints del Inbox​

Vista principal​

GET /admin/inbox

Parámetros:

NombreTipoDescripción
channelstringFiltrar por canal
viewstringall, mine, unassigned
statusstringopen, snoozed, closed
qstringBuscar en nombre, asunto, mensaje
convuuidConversación activa

Ver thread​

GET /admin/inbox/thread?conv=:id

Enviar mensaje​

POST /admin/inbox/conv/:id/messages

CampoRequeridoTipoDescripción
bodysístringContenido del mensaje
attachmentsnoJSONAdjuntos
internalnobooltrue = nota interna

Subir adjunto​

POST /admin/inbox/conv/:id/attach

Multipart form, max 25MB.

Sugerencia IA​

POST /admin/inbox/conv/:id/suggest

Genera una respuesta sugerida usando Gemini.

Convertir a reclamo​

POST /admin/inbox/conv/:id/to-complaint

Crea una entrada en el Libro de Reclamaciones.

Vincular contacto CRM​

POST /admin/inbox/conv/:id/link-contact

Desvincular contacto​

POST /admin/inbox/conv/:id/unlink-contact

Asignar agente​

POST /admin/inbox/conv/:id/assign

Snooze​

POST /admin/inbox/conv/:id/snooze

Cerrar​

POST /admin/inbox/conv/:id/close


Widget flotante​

El inbox tiene un widget compacto de 2 columnas para uso embebido:

EndpointDescripción
GET /admin/inbox/widgetWidget principal
GET /admin/inbox/widget/threadThread del widget
GET /admin/inbox/widget/unread-countContador de no leídos

Configuración​

Ajustes generales​

GET /admin/inbox/settings POST /admin/inbox/settings/general

CampoTipoDescripción
bh_starttimeInicio horario laboral
bh_endtimeFin horario laboral
weekend_openboolAbierto sáb/dom
auto_replyboolRespuesta automática fuera de horario
round_robinboolAsignación round-robin
notify_slackboolNotificar en Slack
sla_firstintSLA primera respuesta (minutos)
sla_resolutionintSLA resolución (horas)
sla_warningint% de SLA para warning

Conectar canal​

POST /admin/inbox/settings/channel/:channel/connect

Configurar credenciales​

POST /admin/inbox/settings/channel/:channel/config

Probar email​

POST /admin/inbox/settings/email/test


Webhooks entrantes (públicos)​

EndpointCanalDescripción
GET /hooks/whatsapp/:slugWhatsAppVerificación del webhook
POST /hooks/whatsapp/:slugWhatsAppMensaje entrante
POST /hooks/emailEmailEmail entrante (SES)
POST /hooks/sms/:slugSMSSMS entrante (Twilio)
POST /hooks/sms/:slug/statusSMSEstado de entrega