VenddorDocumentação API
API atualAPI legada
Guia rápidoReferência completa
Carregando índice…
API atual/Referência completa/Mensagens e notificações

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

GET/api/v1/vendor/messages/threads/{id}Seller

Devolve 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ório
Bearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.

Parâmetros de caminho

iduuidobrigatório
Id da conversa.

Parâmetros de consulta

pageintegerpadrão: 1
Ativa o modo paginado. A partir de 1.
per_pageintegerpadrão: 50
Mensagens por página, de 1 a 100. Acima de 100 vira 100.

Exemplo de requisição

bash
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

200Conversa paginada
json
{
  "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

...object
Todos os campos da conversa, como em Listar conversas, exceto unread_count.
messagesarray

Mensagens da página (ou todas, sem paginação).

iduuid
Id da mensagem.
thread_iduuid
Conversa a que a mensagem pertence.
sender_iduuid
Id do usuário que enviou.
sender_typestring
customervendoradmin
Quem enviou: customer, vendor ou admin.
bodystring
Texto da mensagem, já sem HTML perigoso. Pode ser vazio quando há anexos.
attachmentsarray
Anexos, cada um com url, filename, content_type e size (bytes). Lista vazia sem anexos.
is_readboolean
true quando o destinatário já leu.
delivered_atstring
Quando a mensagem foi marcada como entregue. Ausente até lá.
read_atstring
Quando foi marcada como lida. Ausente até lá.
created_atstring
Envio da mensagem (RFC 3339, UTC).
pageinteger
Só no modo paginado: página devolvida.
per_pageinteger
Só no modo paginado: mensagens por página efetivas.
totalinteger
Só no modo paginado: total de mensagens da conversa.
total_pagesinteger
Só no modo paginado: total de páginas.

Consultar contexto

GET/api/v1/vendor/messages/threads/{id}/contextSeller

Dados 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ório
Bearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.

Parâmetros de caminho

iduuidobrigatório
Id da conversa.

Exemplo de requisição

bash
curl -X GET "$BASE_URL/api/v1/vendor/messages/threads/7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60/context" \
  -H "Authorization: Bearer $TOKEN"
200Contexto de um pedido
json
{
  "object_type": "order",
  "object_id": "b3a1c9d2-8e47-4f10-a2b5-6d7e8f901234",
  "data": {
    "order_number": "PEDIDO-20261010-0004",
    "status": "P",
    "total": 22500,
    "customer_name": "Maria Souza"
  }
}
200Conversa sem vínculo
json
{
  "context": null
}

Campos da resposta

object_typestring
orderproductvendoruser
order, product, vendor ou user.
object_idstring
Id do objeto.
dataobject
Depende do tipo. order: 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.
contextnull
Só quando não há contexto: a conversa não tem vínculo, o tipo é desconhecido ou o objeto foi apagado.

Erros

StatusQuandoCorpo de exemplo
401Token ausente, inválido ou expirado.{"error":"missing authorization header"}
403O token não é de um usuário seller (por exemplo, é de administrador).{"error":"insufficient permissions"}
400O {id} do caminho não é um UUID.{"error":"invalid id","detail":"id must be a valid UUID"}
403A 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"}
Duas ordens diferentes

Sem paginação as mensagens saem da mais antiga para a mais nova; com page ou per_page saem da mais nova para a mais antiga. Se você alterna entre os modos, inverta a lista no seu lado.

Veja também

  • Responder
  • Leitura e presença
  • Listar conversas
Anterior
Listar conversas
Próxima
Responder
Nesta página
  • Consultar conversa
  • Exemplo de requisição
  • Resposta
  • Consultar contexto
  • Exemplo de requisição
  • Erros
  • Veja também