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
bodystringContenido 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