Consultar conversa
Devolve uma conversa com as mensagens e, em outra rota, os dados do pedido, produto ou seller ligado a ela.
Abra a conversa para mostrar o histórico ao atendente. Há duas formas de ler as mensagens: todas de uma vez, da mais antiga para a mais nova, ou paginadas, da mais nova para a mais antiga. A rota de contexto traz o resumo do objeto ligado, para o atendente não precisar abrir outra tela.
Consultar conversa
/api/v1/vendor/messages/threads/{id}SellerDevolve a conversa e as mensagens
Sem page nem per_page, a resposta é a conversa com todas as mensagens em messages, da mais antiga para a mais nova. Com qualquer um dos dois, a resposta é paginada e as mensagens vêm da mais nova para a mais antiga.
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.Parâmetros de caminho
iduuidobrigatórioParâmetros de consulta
pageintegerpadrão: 1per_pageintegerpadrão: 50Exemplo de requisição
curl -X GET "$BASE_URL/api/v1/vendor/messages/threads/7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60?page=1&per_page=50" \
-H "Authorization: Bearer $TOKEN"Resposta
{
"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",
"created_at": "2026-10-10T14:30:00Z",
"updated_at": "2026-10-10T14:32:10Z",
"messages": [
{
"id": "d2f4a6b8-1c3e-4a5b-8c7d-9e0f1a2b3c4d",
"thread_id": "7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60",
"sender_id": "3093f506-d6af-4c27-9ef6-c245e8e602f9",
"sender_type": "customer",
"body": "Quando meu pedido chega?",
"attachments": [],
"is_read": false,
"created_at": "2026-10-10T14:32:10Z"
}
],
"page": 1,
"per_page": 50,
"total": 1,
"total_pages": 1
}Campos da resposta
...objectunread_count.messagesarrayMensagens da página (ou todas, sem paginação).
iduuidthread_iduuidsender_iduuidsender_typestringcustomervendoradmincustomer, vendor ou admin.bodystringattachmentsarrayurl, filename, content_type e size (bytes). Lista vazia sem anexos.is_readbooleantrue quando o destinatário já leu.delivered_atstringread_atstringcreated_atstringpageintegerper_pageintegertotalintegertotal_pagesintegerConsultar contexto
/api/v1/vendor/messages/threads/{id}/contextSellerDados do objeto ligado à conversa
Devolve um resumo do pedido, produto, seller ou usuário a que a conversa está ligada. Valores em dinheiro são inteiros em centavos.
Cabeçalhos
AuthorizationstringobrigatórioBearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.Parâmetros de caminho
iduuidobrigatórioExemplo de requisição
curl -X GET "$BASE_URL/api/v1/vendor/messages/threads/7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60/context" \
-H "Authorization: Bearer $TOKEN"{
"object_type": "order",
"object_id": "b3a1c9d2-8e47-4f10-a2b5-6d7e8f901234",
"data": {
"order_number": "PEDIDO-20261010-0004",
"status": "P",
"total": 22500,
"customer_name": "Maria Souza"
}
}{
"context": null
}Campos da resposta
object_typestringorderproductvendoruserorder, product, vendor ou user.object_idstringdataobjectorder: order_number, status (letra do pedido), total (centavos), customer_name. product: name, sku, price (centavos), image_url. vendor: company_name, status, email. user: name, email, role.contextnullErros
| 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"} |
| 400 | O {id} do caminho não é um UUID. | {"error":"invalid id","detail":"id must be a valid UUID"} |
| 403 | A conversa não existe ou não pertence ao seller. A API não distingue os dois casos. | {"error":"you are not a participant of this thread"} |