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

EventoDescrição
TYPINGCliente começou a digitar.
STOPPED_TYPINGCliente parou de digitar sem enviar.
RECORDINGCliente está gravando uma mensagem de áudio.
CHAT_CLOSEDCliente 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.