Tema
Mensagens
GET /v1/conversations/:id/messages
Lista as mensagens de uma conversa, da mais antiga para a mais nova, com paginação por cursor. Serve para ler o histórico, para acompanhar respostas humanas quando você não usa webhook e para recuperar mensagens depois de uma falha na entrega dos webhooks.
| Parâmetro | Descrição |
|---|---|
limit | Quantas mensagens por página, de 1 a 100. Padrão: 50. |
cursor | Id da última mensagem que você já leu. Omitido, a lista começa do início. |
bash
curl "https://api.cavori.com.br/v1/conversations/cm9x0conversa0001/messages?limit=50" \
-H "Authorization: Bearer $CAVORI_API_KEY"Exemplo de resposta:
json
{
"data": [
{
"id": "cm9x0mensagem0001",
"content": "Olá, vocês abrem no sábado?",
"direction": "INBOUND",
"senderType": "CONTACT",
"createdAt": "2026-10-28T15:01:00.000Z"
},
{
"id": "cm9x0mensagem0002",
"content": "Abrimos sim, das 9h às 13h.",
"direction": "OUTBOUND",
"senderType": "AI",
"createdAt": "2026-10-28T15:01:03.000Z"
}
],
"next_cursor": null
}| Campo | Descrição |
|---|---|
id | Id da mensagem. |
content | Texto da mensagem. |
direction | INBOUND (da pessoa para a Cavori) ou OUTBOUND (da Cavori para a pessoa). |
senderType | CONTACT (a pessoa), AI (o agente), HUMAN (alguém da equipe) ou SYSTEM. |
createdAt | Quando a mensagem foi gravada (ISO 8601). |
Os nomes senderType e createdAt estão em camelCase nesta rota, ao contrário do resto da API, que usa snake_case.
Paginação
Quando há mais mensagens, next_cursor traz o id da última mensagem da página. Passe esse valor em cursor para pedir a página seguinte. Quando next_cursor é null, não há mais mensagens. Um cursor que não é uma mensagem desta conversa responde 400 invalid_request.
bash
curl "https://api.cavori.com.br/v1/conversations/cm9x0conversa0001/messages?limit=50&cursor=cm9x0mensagem0002" \
-H "Authorization: Bearer $CAVORI_API_KEY"Para acompanhar uma conversa, guarde o id da última mensagem que você processou e use-o como cursor na próxima consulta.
