Digitando e presença
Avisa o outro lado que o cliente está digitando e consulta quem está online na conversa.
Estas duas rotas dão vida à tela de chat. typing dispara o aviso "fulano está digitando..." para a outra parte. presence diz quem, entre os outros participantes, tem uma conexão aberta com a plataforma agora, para pintar a bolinha verde ou cinza no topo da conversa.
/api/v1/storefront/messages/threads/{id}/typingClienteAvisar que está digitando
Parâmetros de caminho
iduuidobrigatórioId da thread.
Corpo da requisição
is_typingbooleanpadrão: truetrue quando começou a digitar, false quando parou. O corpo é opcional: se faltar ou estiver ilegível, vale true.Exemplo de requisição
bash
curl -X POST "$BASE_URL/api/v1/storefront/messages/threads/$THREAD_ID/typing" \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{"is_typing":true}'Resposta
204Aviso enviado
json
Sem corpo de resposta. O evento entregue aos outros participantes é thread.typing, com thread_id, sender_id, sender_type e is_typing.
Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | id não é UUID. | {"error":"invalid id","detail":"id must be a valid UUID"} |
| 401 | Sem token, ou token inválido. | {"error":"missing authorization header"} |
| 403 | A thread não é do cliente (ou não existe). | {"error":"you are not a participant of this thread"} |
/api/v1/storefront/messages/threads/{id}/presenceClienteVer quem está online na thread
Parâmetros de caminho
iduuidobrigatórioId da thread.
bash
curl "$BASE_URL/api/v1/storefront/messages/threads/$THREAD_ID/presence" \
-H "Authorization: Bearer $TOKEN"200Presença
json
{
"participants": [
{ "user_id": "c2c9a7d4-3b1e-4f55-9a66-0f2d6b1a9e42", "online": true }
]
}Campos da resposta
participantsarrayOs outros participantes da thread.
[] quando não há outro.participants[].user_iduuidId do usuário.
participants[].onlinebooleantrue se o usuário tem uma conexão WebSocket aberta agora.Erros
| Status | Quando | Corpo |
|---|---|---|
| 400 | id não é UUID. | {"error":"invalid id","detail":"id must be a valid UUID"} |
| 401 | Sem token, ou token inválido. | {"error":"missing authorization header"} |
| 403 | A thread não é do cliente (ou não existe). | {"error":"you are not a participant of this thread"} |