Os relatórios APIX 001 devem seguir rigorosamente o esquema XSD definido pelo BACEN (versão 2.5). O Reporter automatiza a geração do XML, mas você continua responsável por validar a saída e garantir a conformidade com os requisitos regulatórios.
O que é o APIX 001?
O APIX 001 é um relatório regulatório mensal que os participantes do Pix — diretos ou indiretos — devem enviar ao Banco Central do Brasil. Ele consolida as estatísticas operacionais do ecossistema Pix da instituição em um determinado mês.
O que o BACEN espera receber
O relatório abrange dez seções de dados:Requisitos de envio
Atributos do cabeçalho
O elemento raiz<APIX001> exige estes atributos:
Entendendo a estrutura de dados
Antes de construir o template, é importante entender como os dados do plugin Pix se mapeiam para cada seção do APIX 001.
Fontes de dados do plugin Pix
O template consulta dados das tabelas do plugin Pix registradas como fontes de dados no Reporter. As principais entidades utilizadas são:O prefixo da fonte de dados (por exemplo,
pix_btg) depende de como você registra o plugin Pix no Reporter. Substitua-o pelo nome real da sua fonte de dados.Estrutura da tabela de transferências
Estrutura da tabela de devoluções
Códigos de motivo de devolução
Estrutura do encargo de tarifa (JSONB)
O campofee_charge é uma coluna JSONB preenchida apenas para transações CASHIN (recebimento):
Mapeamento de dados
Tipos de detalhamento de transação
Finalidades de transação
O relatório exige exatamente 12 entradas de transação — uma para cada combinação de 3 tipos de detalhamento × 4 finalidades. Entradas sem dados correspondentes ainda devem aparecer com valores zero.
Fontes de receita
Tipos de detalhamento de devolução
Tipos de detalhamento de bloqueio cautelar
Tipos de pagador em autorizações (Pix Automático)
Usando o Reporter
Abaixo está o template completo para gerar o APIX 001 no Reporter. Este exemplo usa
pix_btg como prefixo da fonte de dados — substitua pelo nome configurado na sua fonte de dados do Reporter.
Detalhamento do código
Elemento raiz
DtArquivo: data de geração do arquivo, inserida dinamicamente viadate_timeAnoeMes: ano e mês de referência — valores estáticos que você atualiza no template antes de cada envio (a requisição de relatório não transporta parâmetros de template)ISPB: primeiros 8 dígitos do CNPJ da instituição, extraídos com o filtroslicea partir dos dados de onboarding do MidazTipoEnvio:Ipara inclusão,Spara substituição de dados previamente aprovados
Seção de transações
O template declara explicitamente todas as 12 entradas obrigatórias (3 tipos de detalhamento × 4 finalidades). Consultas dinâmicas são utilizadas onde existem dados:count_byconta os registros que correspondem à condição do filtrosum_by ... by "field"soma um campo específico entre os registros correspondentesValorEspecieé0.00para transferências padrão (somente diferente de zero para Pix Saque/Troco)
Seção de devoluções
As devoluções são separadas pelo código de motivo por meio do camporeason:
FR01é mapeado para o tipo de detalhamento 1 do BACEN (fraude via MED)- Todos os demais códigos de motivo (
BE08,MD06,SL02) são mapeados para o tipo de detalhamento 2
Seção de receitas
As receitas são extraídas do campo JSONBfee_charge.totalAmount, filtradas por tipo de transferência e tipo de pessoa:
O campo JSONB
fee_charge utiliza sintaxe de caminho de campo aninhado (fee_charge.totalAmount). O motor Pongo2 do Reporter percorre a estrutura JSON para acessar o valor aninhado.Métricas de tempo e disponibilidade
As métricas de tempo (tempos de processamento de transações, tempos de operação DICT) e o índice de disponibilidade devem vir do seu sistema de monitoramento de infraestrutura — não são derivados de dados transacionais. Preencha esses valores a partir dos seus logs do SPI e do monitoramento de uptime.Consultas DICT
dict.entries pela fonte de dados real de consultas ao DICT ou popule QtdConsultas manualmente a partir de métricas de infraestrutura.
Exemplo renderizado
Exemplo de requisição com filtro de data
Para gerar o APIX 001 de um mês específico, envie uma requisição
POST /v1/reports com o seguinte corpo:
As datas devem estar no formato ISO 8601 com fuso horário UTC (
Z). Garanta que todo o mês de referência seja coberto — do primeiro ao último segundo.Regras de validação XSD
Restrições essenciais do XSD oficial do APIX 001 (versão 2.5) que seus dados precisam atender:
Boas práticas
Entradas com valor zero
Mesmo quando não há transações para uma combinação específica, a entrada deve aparecer no relatório com valores zero. O BACEN exige todas as 12 entradas de transação, todas as 4 entradas de receita, todas as 4 entradas de bloqueio cautelar e todas as 2 entradas de autorização — independentemente da existência de dados.Envios de substituição
UseTipoEnvio="S" apenas para substituir um envio previamente aprovado. Se o seu primeiro envio foi rejeitado, reenvie com TipoEnvio="I".
Precisão dos valores
Todos os valores monetários devem ter exatamente 2 casas decimais. Use os recursos de formatação do Reporter ou garanta que sua fonte de dados forneça valores já formatados.Origem das métricas de tempo
Os percentis de tempo de transação e os tempos de operação DICT devem vir do seu monitoramento de infraestrutura — não de dados transacionais. Essas métricas refletem a experiência real do usuário desde a iniciação do pagamento até a confirmação da liquidação. O BACEN pode auditar esses valores em comparação com os logs do SPI.Campos aninhados em JSONB
Os cálculos de receita usam caminhos de campo aninhados (por exemplo,fee_charge.totalAmount) para acessar valores dentro de colunas JSONB. Garanta que sua versão do Reporter suporte a leitura de campos aninhados em funções de agregação.

