Listar conversas
Lista as conversas do seller, da mais recente para a mais antiga, e conta as mensagens ainda não lidas.
Use esta página para montar a fila de atendimento. A lista traz o resumo de cada conversa e quantas mensagens do cliente ainda não foram lidas. O contador de não lidas serve para o selo do menu, sem carregar a lista.
Listar conversas
/api/v1/vendor/messages/threadsSellerLista as conversas do seller
Ordena por last_message_at decrescente; conversas sem mensagem vão para o fim. Não há filtro por estado: filtre no seu lado pelo campo status.
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.Parâmetros de consulta
pageintegerpadrão: 1Página, a partir de 1. Valor menor que 1 vira 1; texto é ignorado.
per_pageintegerpadrão: 20Itens por página, de 1 a 100. Fora dessa faixa volta ao padrão (20).
Exemplo de requisição
bash
curl -X GET "$BASE_URL/api/v1/vendor/messages/threads?page=1&per_page=20" \
-H "Authorization: Bearer $TOKEN"Resposta
200Conversas retornadas
json
{
"threads": [
{
"id": "7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60",
"subject": "Dúvida sobre prazo de entrega",
"status": "A",
"object_type": "order",
"object_id": "b3a1c9d2-8e47-4f10-a2b5-6d7e8f901234",
"object_name": "PEDIDO-20261010-0004",
"customer_user_id": "3093f506-d6af-4c27-9ef6-c245e8e602f9",
"vendor_id": "94bd7e9a-fdad-4d01-8fc2-ba9d677d8b36",
"vendor_name": "Loja Seller Teste",
"customer_name": "Maria Souza",
"last_message_preview": "Quando meu pedido chega?",
"last_message_at": "2026-10-10T14:32:10Z",
"unread_count": 1,
"created_at": "2026-10-10T14:30:00Z",
"updated_at": "2026-10-10T14:32:10Z"
}
],
"total": 1,
"page": 1,
"per_page": 20,
"total_pages": 1
}Campos da resposta
threadsarrayConversas da página. Lista vazia quando o usuário não é um seller ou não há conversas.
iduuidId da conversa.
subjectstringAssunto, definido pelo cliente ao abrir a conversa.
statusstringEstado da conversa, uma letra:
A aberta, R resolvida, C arquivada. Conversas antigas podem ter outras letras. Veja Estado da conversa.object_typestringTipo do objeto ligado à conversa:
order, product, vendor ou user. Ausente quando a conversa não tem vínculo.object_idstringId do objeto ligado. Ausente sem vínculo.
object_namestringRótulo do objeto para exibir (por exemplo, o número do pedido). Ausente sem vínculo.
customer_user_iduuidId do usuário cliente que abriu a conversa.
vendor_iduuidId do seller destinatário.
vendor_namestringRazão social ou nome fantasia do seller.
customer_namestringNome de exibição do cliente.
last_message_previewstringInício da última mensagem, até 100 caracteres.
[attachment] quando a última mensagem só tinha anexo.last_message_atstringData da última mensagem (RFC 3339, UTC).
created_atstringCriação da conversa (RFC 3339, UTC).
updated_atstringÚltima alteração (RFC 3339, UTC).
unread_countintegerMensagens ainda não lidas que não foram enviadas pelo seller.
totalintegerTotal de conversas do seller.
pageintegerPágina devolvida.
per_pageintegerItens por página efetivos.
total_pagesintegerTotal de páginas.
Contar não lidas
/api/v1/vendor/messages/unread-countSellerConta as mensagens não lidas do seller
Soma, em todas as conversas do seller, as mensagens enviadas por cliente ou administrador que ainda não foram lidas.
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.Exemplo de requisição
bash
curl -X GET "$BASE_URL/api/v1/vendor/messages/unread-count" \
-H "Authorization: Bearer $TOKEN"200Contagem
json
{
"count": 6
}Campos da resposta
countintegerNúmero de mensagens não lidas.
0 também quando o usuário não é um seller.Erros
| Status | Quando | Corpo de exemplo |
|---|---|---|
| 401 | Token ausente, inválido ou expirado. | {"error":"missing authorization header"} |
| 403 | O token não é de um usuário seller (por exemplo, é de administrador). | {"error":"insufficient permissions"} |
| 500 | Falha ao consultar o banco. | {"error":"failed to list threads","detail":"..."} |