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

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

GET/api/v1/vendor/messages/threadsSeller

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

Parâmetros de consulta

pageintegerpadrão: 1
Página, a partir de 1. Valor menor que 1 vira 1; texto é ignorado.
per_pageintegerpadrão: 20
Itens 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

threadsarray

Conversas da página. Lista vazia quando o usuário não é um seller ou não há conversas.

iduuid
Id da conversa.
subjectstring
Assunto, definido pelo cliente ao abrir a conversa.
statusstring
Estado da conversa, uma letra: A aberta, R resolvida, C arquivada. Conversas antigas podem ter outras letras. Veja Estado da conversa.
object_typestring
Tipo do objeto ligado à conversa: order, product, vendor ou user. Ausente quando a conversa não tem vínculo.
object_idstring
Id do objeto ligado. Ausente sem vínculo.
object_namestring
Rótulo do objeto para exibir (por exemplo, o número do pedido). Ausente sem vínculo.
customer_user_iduuid
Id do usuário cliente que abriu a conversa.
vendor_iduuid
Id do seller destinatário.
vendor_namestring
Razão social ou nome fantasia do seller.
customer_namestring
Nome de exibição do cliente.
last_message_previewstring
Início da última mensagem, até 100 caracteres. [attachment] quando a última mensagem só tinha anexo.
last_message_atstring
Data da última mensagem (RFC 3339, UTC).
created_atstring
Criação da conversa (RFC 3339, UTC).
updated_atstring
Última alteração (RFC 3339, UTC).
unread_countinteger
Mensagens ainda não lidas que não foram enviadas pelo seller.
totalinteger
Total de conversas do seller.
pageinteger
Página devolvida.
per_pageinteger
Itens por página efetivos.
total_pagesinteger
Total de páginas.

Contar não lidas

GET/api/v1/vendor/messages/unread-countSeller

Conta 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ório
Bearer $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

countinteger
Número de mensagens não lidas. 0 também quando o usuário não é um seller.

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"}
500Falha ao consultar o banco.{"error":"failed to list threads","detail":"..."}
Dono da loja apenas

A fila é resolvida pelo usuário vinculado ao seller. Um usuário de equipe (gerente ou membro) recebe lista vazia e contador 0. Se a sua equipe precisa atender, entre com a conta do dono.

Paginação

Uma página além do fim devolve threads vazio, mas total e total_pages continuam corretos. Veja Paginação.

Veja também

  • Consultar conversa
  • Responder
  • Visão geral de mensagens
Anterior
Mensagens
Próxima
Consultar conversa
Nesta página
  • Listar conversas
  • Exemplo de requisição
  • Resposta
  • Contar não lidas
  • Exemplo de requisição
  • Erros
  • Veja também