Skip to main content

Listar Logs de Mensagens

Lista os logs de mensagens — enviadas e recebidas — do número de WhatsApp vinculado à sua chave de API, das mais recentes para as mais antigas, com paginação e filtros. Para o detalhe completo de uma única mensagem, use GET /v1/messages/{messageId}.
A página Logs & Analytics do painel é a contraparte visual deste endpoint — as mesmas linhas, filtros e status que você vê lá são o que este endpoint retorna em JSON.

Cabeçalhos

  • x-api-key: ps_... (ou x-api-key-id: <api_key_id>) — uma chave com escopo de número. Chaves com escopo de tenant recebem 403.

Parâmetros de query

Janela de atendimento de 24h: o WhatsApp abre uma janela de atendimento de 24 horas sempre que um contato manda mensagem para você. serviceWindowOpenAtSend registra o estado dessa janela no momento em que cada mensagem enviada foi aceita: true significa que foi uma resposta dentro de uma janela aberta e foi enviada imediatamente; false significa que foi um envio “frio” fora da janela — ritmado pelo motor anti-bloqueio em números web do Pilot Status, e exigindo um template aprovado em números Meta Cloud API; null significa que a janela não foi computada (linhas recebidas, destinos de grupo/canal). Filtre com window=open / window=closed.

Exemplos

Resposta (200)

Campos da resposta

Retenção: as linhas respeitam o modo de retenção de PII do número. Em números RELAY_ONLY, as linhas retornam redigidas (content: null).

origin — por qual trilho a mensagem saiu

origin: null não significa “recebida”. Para isso leia o direction. Um null numa linha OUT significa que o envio carregava uma origem que não mapeamos para uma etiqueta pública; trate como “saída não classificada”, não como tráfego recebido, ou um relatório de cobrança vai subcontar os seus próprios envios em silêncio.
O conjunto cresce. Trate um valor que você não reconhece como “saída não classificada”, não como erro.

Linhas de saída sem requisição de envio

Três tipos de linha OUT não foram enviados pela Pilot Status, então não há requisição de envio por trás deles: APP, LAYER e CHATWOOT vindo de uma inbox nativa WhatsApp Cloud. Nessas linhas:
  • correlationId, template, serviceWindowOpenAtSend, errorCode e errorMessage são null;
  • GET /v1/messages/{messageId} responde 404 — a linha da lista é tudo o que existe;
  • o status segue os status que a Meta informa: SENT, DELIVERED, READ ou FAILED;
  • a mensagem não conta no consumo de mensagens do seu plano;
  • num número cujo modo de retenção de PII redige a linha, to e content vêm null e redacted: true é acrescentado, como em qualquer outra linha.
Uma linha CHATWOOT vinda de uma inbox de espelho por API é um envio normal: tem correlationId e detalhe completo. Em linhas LAYER e linhas CHATWOOT de inbox nativa, o content é o que a requisição à Graph API trazia: o texto, a legenda da mídia ou o texto do corpo de uma mensagem interativa. Três tipos recebem um texto curto gerado no lugar:
  • um template aparece como Template: <nome> — o corpo renderizado não é guardado, e template continua null;
  • uma localização aparece como Location: <latitude>, <longitude>, seguida do nome e do endereço quando a requisição os trazia;
  • contatos aparecem como Contacts: <nomes>.
Áudio e figurinha vêm com content: null. Uma linha CHATWOOT de inbox nativa:
Os filtros status, direction=out, templateId e window deixam essas linhas de fora. Eles só devolvem mensagens que tiveram requisição de envio, então linhas APP, LAYER e CHATWOOT de inbox nativa nunca casam com eles, mesmo sendo OUT. Para obter essas linhas, liste sem esses filtros (startDate, endDate e uma search por telefone as mantêm) e leia direction e origin.
Linhas LAYER, e linhas CHATWOOT de inbox nativa, só são registradas a partir do momento em que a Pilot Status começou a registrar os envios pela camada para o número. Envios anteriores não são recuperados. O que é e o que não é registrado: Camada Meta → Envios ficam registrados nos Logs.

Erros comuns