Presença e Digitação
Indicadores de presença em tempo real: digitação, gravação e status do chat.
Visão Geral
Eventos de presença são sinais de metadados de melhor esforço e alta frequência. Trate-os como dicas transitórias de UI, não como estado durável.
Reportar Presença (Empresa → Cliente)
O operador reporta presença via Socket.io. O chat do cliente mostra indicadores "digitando..." ou "gravando...".
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 Presença (Cliente → Operador)
O chat do cliente reporta presença. O operador recebe webhooks.
cURL
curl -X POST https://api.ixblix.app/api/conversations/{token}/presence \
-H "Content-Type: application/json" \
-d '{ "type": "typing" }' Usa o token da conversa (token do deeplink) ao invés da chave de API.
Eventos de Webhook
| Evento | Descrição |
|---|---|
TYPING | Cliente começou a digitar. |
STOPPED_TYPING | Cliente parou de digitar sem enviar. |
RECORDING | Cliente está gravando uma mensagem de áudio. |
CHAT_CLOSED | Cliente fechou a janela do chat. |
Payload do Webhook
Webhook TYPING
{
"event": "TYPING",
"companyId": "660f9511-...",
"conversationId": "880fc844-...",
"type": "typing"
} Eventos Socket.io (Lado do Cliente)
O app web do cliente escuta estes eventos Socket.io:
presence— indicador de digitação/gravação do operador.message_delivered— o dispositivo do operador recebeu uma mensagem do cliente.message_read— operador leu uma mensagem do cliente.