/messages

Consulta uma mensagem específica, seja ela da linha do tempo de uma conversa ou um disparo avulso (campanha, /send-template com open_conversation=on_reply).

Escopo necessário: conversations:read. Limite: 120 requisições por minuto.

Endpoints

Método Rota Devolve
GET /messages?wamid=wamid.HBg... A mensagem com aquele id do WhatsApp
GET /messages/{id} Uma mensagem, pelo id da Wevichat
GET /messages?conversation_id=... Mensagens de uma conversa
GET /messages?contact_id=... Disparos avulsos feitos para um contato

Buscar pelo wamid

O wamid é o que /send-template e /send-message devolvem no envio. Guardá-lo do seu lado é a forma de acompanhar o que aconteceu com aquela mensagem depois.

curl "https://api.wevi.chat/functions/v1/messages?wamid=wamid.HBgLNTUxMT..." \
  -H "Authorization: Bearer wevi_SUA_CHAVE"

Objeto da mensagem

{
  "id": "2af0ebe5-7d37-4746-aec0-db64f1cd43d6",
  "conversation_id": "ffff0000-0000-4000-8000-0000000000f1",
  "role": "assistant",
  "content": "Consigo quinta às 15h ou sexta às 16h30. Qual fica melhor?",
  "file": null,
  "wamid": "wamid.HBgLNTUxMT...",
  "delivery": {
    "status": "read",
    "delivered_at": "2026-09-07T21:02:15Z",
    "read_at": "2026-09-07T21:03:02Z",
    "failed_reason": null
  },
  "reply_to_message_id": null,
  "reactions": [],
  "sent_by": null,
  "handled_by_agent_id": "dddd0000-...",
  "source": "api",
  "created_at": "2026-09-07T21:02:10Z"
}

source diz de onde a mensagem saiu: api, campaign, automation ou null quando veio do agente ou do inbox.

Objeto do disparo avulso

Um disparo que ainda não virou conversa tem uma forma um pouco diferente, com conversation_id: null e o template usado:

{
  "id": "8f1c...",
  "conversation_id": null,
  "kind": "template",
  "to": "5511999998888",
  "contact_id": "cccc...",
  "connection_id": "dddd...",
  "template": { "name": "reativa_teste", "language_code": "pt_BR", "body_params": ["Maria"] },
  "content": null,
  "wamid": "wamid.HBgLNTUxMT...",
  "delivery": {
    "status": "delivered",
    "sent_at": "2026-09-07T18:00:00Z",
    "delivered_at": "2026-09-07T18:00:04Z",
    "read_at": null,
    "failed_reason": null
  },
  "idempotency_key": "lead-12345-welcome",
  "created_at": "2026-09-07T18:00:00Z"
}

Você não precisa saber de antemão qual dos dois vai receber: mande o wamid ou o id e a API procura nos dois lugares.

Erros

Status error Quando
400 missing_filter Nenhum de wamid, conversation_id ou contact_id foi informado
404 message_not_found Nenhuma mensagem com aquele id ou wamid nesta organização