Presencia y Escritura
Indicadores de presencia en tiempo real: escritura, grabación y estado del chat.
Visión General
Los eventos de presencia son señales de metadatos de mejor esfuerzo y alta frecuencia. Trátelos como pistas transitorias de UI, no como estado duradero.
Reportar Presencia (Empresa → Cliente)
El operador reporta presencia vía Socket.io. El chat del cliente muestra indicadores "escribiendo..." o "grabando...".
cURL
curl -X POST https://api.ixblix.app/api/conversations/{conversationId}/presence \
-H "X-API-Key: smci_xxxx" \
-H "Content-Type: application/json" \
-d '{ "type": "typing" }' Tipos válidos: typing, recording, stopped.
Reportar Presencia (Cliente → Operador)
El chat del cliente reporta presencia. El operador recibe webhooks.
cURL
curl -X POST https://api.ixblix.app/api/conversations/{token}/presence \
-H "Content-Type: application/json" \
-d '{ "type": "typing" }' Usa el token de la conversación (token del deeplink) en lugar de la clave de API.
Eventos de Webhook
| Evento | Descripción |
|---|---|
TYPING | El cliente comenzó a escribir. |
STOPPED_TYPING | El cliente dejó de escribir sin enviar. |
RECORDING | El cliente está grabando un mensaje de audio. |
CHAT_CLOSED | El cliente cerró la ventana del chat. |
Payload del Webhook
Webhook TYPING
{
"event": "TYPING",
"companyId": "660f9511-...",
"conversationId": "880fc844-...",
"type": "typing"
} Eventos Socket.io (Lado del Cliente)
La app web del cliente escucha estos eventos Socket.io:
presence— indicador de escritura/grabación del operador.message_delivered— el dispositivo del operador recibió un mensaje del cliente.message_read— el operador leyó un mensaje del cliente.