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

POSTResponder

Envia uma mensagem do seller em uma conversa existente, com texto, anexos ou os dois.

Use esta rota para responder ao cliente. A mensagem fica gravada, a prévia da conversa e last_message_at são atualizados e o evento message.created é emitido, o que alimenta os avisos em tempo real e as notificações do cliente e do administrador. O texto é limpo de HTML perigoso antes de ser gravado.

POST/api/v1/vendor/messages/threads/{id}/replySeller

Envia uma mensagem na conversa

Cabeçalhos

Authorizationstringobrigatório
Bearer $TOKEN. Token de acesso do usuário seller. Veja Tokens.

Parâmetros de caminho

iduuidobrigatório
Id da conversa.

Corpo da requisição

bodystring
Texto da mensagem. Obrigatório se não houver attachments. Tags perigosas (script, atributos on*, javascript:) são removidas; o texto volta decodificado como texto simples.
attachmentsarray

Anexos já enviados. Os arquivos não sobem por esta rota: envie antes pela API de mídia e passe aqui os metadados. Obrigatório se não houver body.

urlstring
URL do arquivo.
filenamestring
Nome do arquivo.
content_typestring
Tipo MIME.
sizeinteger
Tamanho em bytes.

Exemplo de requisição

bash
curl -X POST "$BASE_URL/api/v1/vendor/messages/threads/7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60/reply" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
  "body": "Olá, Maria! Seu pedido sai amanhã e chega em até 3 dias úteis."
}'

Resposta

201Mensagem criada
json
{
  "id": "d2f4a6b8-1c3e-4a5b-8c7d-9e0f1a2b3c4d",
  "thread_id": "7f0c2b1e-5a43-4d8e-9a67-3c1d2e4f5a60",
  "sender_id": "0fd409fb-9869-4c50-a18c-a810a19abeed",
  "sender_type": "vendor",
  "body": "Olá, Maria! Seu pedido sai amanhã e chega em até 3 dias úteis.",
  "attachments": [],
  "is_read": false,
  "created_at": "2026-10-10T14:32:10Z"
}

Campos da resposta

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).

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"}
400Sem body e sem attachments, ou JSON inválido.{"error":"body or attachments required"}
500Falha ao gravar a mensagem.{"error":"failed to send message","detail":"..."}
Anexos não são validados

A rota grava os metadados dos anexos exatamente como você os envia (url, filename, content_type, size). Envie apenas URLs de arquivos que você já subiu pela API de mídia.

Veja também

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