O que são os relatórios operacionais
Os relatórios operacionais expõem eventos em nível de linha do seu workspace no endpointGET /v1/reports/{report}. Diferente do analytics agregado, aqui cada linha é um evento individual — pronto para investigação, auditoria ou reconciliação no seu próprio destino.
O primeiro relatório é o message_errors: as falhas de entrega de mensagens no WhatsApp (webhooks de status failed da Cloud API da Meta), com o código e a descrição do erro reportado pela Meta.
Cada relatório reutiliza o mesmo motor de paginação por cursor da exportação de entidades: mesmo envelope
{ data, next_cursor, count }, mesma semântica de upsert por id, mesma chave de acesso do workspace.Janela de tempo obrigatória
Ao contrário da exportação de entidades, o relatóriomessage_errors exige uma janela de tempo limitada. Você informa updated_since (limite inferior, inclusivo) e, opcionalmente, to (limite superior; padrão: agora).
A janela mantém o relatório rápido e previsível — por isso o teto de 31 dias.
Como paginar
1
Defina a janela
Escolha
updated_since (e opcionalmente to), respeitando o teto de 31 dias. Use o timestamp da última sincronização como updated_since.2
Puxe a primeira página
Chame
GET /v1/reports/message_errors?updated_since=<ISO 8601>. Aplique os filtros que precisar (deal_id, conversation_id, agent_id, external_id, error_code).3
Grave e pagine
Faça upsert por
id das linhas de data. Se next_cursor não for null, chame de novo passando cursor=<next_cursor> até next_cursor retornar null.4
Avance a janela
Na próxima sincronização, use como
updated_since o maior cursor_at já processado. Para varrer um histórico longo, itere janelas de até 31 dias.Filtros do relatório
Os filtros abaixo são ANDados após o escopo do workspace. Chaves de filtro desconhecidas são simplesmente ignoradas.
O significado de cada coluna retornada está na referência do endpoint Falhas de mensagens.