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

Mensagens

Caixa de entrada do seller: conversas com clientes, respostas, confirmação de leitura, estado da conversa e notificações.

Uma conversa (thread) é um diálogo entre um cliente da loja e um seller (lojista), o vendedor que opera dentro do marketplace. O cliente abre a conversa na vitrine, normalmente a partir de um produto ou de um pedido, e o seller responde por estas rotas, em /api/v1/vendor/messages. A mesma conversa aparece para o administrador da loja, que enxerga todas.

Pontos principais
  • O seller não cria conversas: só o cliente abre. O seller lista, lê, responde e muda o estado.
  • O seller só enxerga as conversas dirigidas a ele. Um id de outra conversa responde 403, nunca 404.
  • Mensagens são limpas de HTML perigoso antes de serem gravadas, e o texto volta como texto simples.
  • Leitura, entrega e "digitando" são avisos entregues em tempo real ao outro lado; a API apenas dispara o aviso.
  • Hoje só o dono do seller (o usuário vinculado à loja) acessa a caixa de entrada. Usuários de equipe recebem lista vazia ou 403.

Como funciona

O fluxo típico de um atendimento:

  1. Ver o que chegou

    Chame Contar não lidas para o contador e Listar conversas para a fila. A lista vem da conversa com atividade mais recente para a mais antiga.

  2. Abrir a conversa

    Consultar conversa devolve as mensagens. Se a conversa tem pedido ou produto ligado, o contexto traz os dados dele.

  3. Responder e confirmar a leitura

    Responder grava a mensagem. Leitura e presença marca as mensagens do cliente como lidas.

  4. Encerrar

    Estado da conversa marca como resolvida ou arquivada.

Conceitos-chave

Estados da conversa

O campo status da conversa é uma única letra. A API aceita palavras ao mudar o estado e devolve letras.

LetraPalavra ao alterarSignificado
AopenAberta (padrão de toda conversa nova).
RresolvedResolvida pelo atendimento.
CarchivedArquivada. Não existe uma letra separada de arquivo.

Mensagens: lida, entregue e ordem

Cada mensagem tem is_read, delivered_at e read_at. "Entregue" significa que o app do destinatário carregou a mensagem; "lida" significa que a pessoa abriu a conversa. A contagem de não lidas do seller ignora as mensagens que o próprio seller enviou.

Tempo real

Ao responder, marcar como lida ou entregue, ou avisar que está digitando, a plataforma envia um evento por WebSocket aos outros participantes (new_message, message.read, message.delivered, thread.typing). Se ninguém estiver conectado, nada se perde: o estado fica gravado e pode ser lido por estas rotas.

Endpoints

MétodoCaminhoPara que serveAutenticação
GET/api/v1/vendor/messages/threadsLista as conversas do seller.vendor
GET/api/v1/vendor/messages/unread-countConta mensagens não lidas.vendor
GET/api/v1/vendor/messages/threads/{id}Devolve a conversa e as mensagens.vendor
GET/api/v1/vendor/messages/threads/{id}/contextDados do pedido, produto ou seller ligado.vendor
POST/api/v1/vendor/messages/threads/{id}/replyEnvia uma mensagem.vendor
PATCH/api/v1/vendor/messages/threads/{id}/readMarca as mensagens recebidas como lidas.vendor
PATCH/api/v1/vendor/messages/threads/{id}/deliveredMarca as mensagens recebidas como entregues.vendor
POST/api/v1/vendor/messages/threads/{id}/typingAvisa que o seller está digitando.vendor
GET/api/v1/vendor/messages/threads/{id}/presenceDiz quem está online na conversa.vendor
PATCH/api/v1/vendor/messages/threads/{id}/statusMarca como aberta, resolvida ou arquivada.vendor
GET/api/v1/vendor/notificationsLista as notificações do usuário.vendor

Erros comuns

  1. Esperar 404 para uma conversa inexistente. A checagem de participante vem antes: o id inexistente e o id de outro seller devolvem 403.
  2. Mandar a letra ao mudar o estado. PATCH .../status aceita open, resolved e archived; R dá 400.
  3. Ler o paginado como se fosse cronológico. Com page ou per_page, as mensagens vêm da mais nova para a mais antiga. Sem eles, vêm todas, da mais antiga para a mais nova.
  4. Tentar abrir uma conversa. Não há rota de criação para o seller; a conversa nasce no lado do cliente.
  5. Enviar mensagem sem texto e sem anexo. Responde 400 body or attachments required.
  6. Usar um usuário de equipe. A caixa de entrada é resolvida pelo dono do seller; a equipe não vê as conversas.

Próximos passos

Listar conversas
A fila de atendimento.
Responder
Envie a primeira resposta.
Notificações
Avisos do usuário do seller.
Anterior
Resumo RFM
Próxima
Listar conversas
Nesta página
  • Como funciona
  • Conceitos-chave
  • Estados da conversa
  • Mensagens: lida, entregue e ordem
  • Tempo real
  • Endpoints
  • Erros comuns
  • Próximos passos