Los informes APIX 001 deben seguir estrictamente el esquema XSD definido por el BACEN (versión 2.5). Reporter automatiza la generación del XML, pero tú sigues siendo responsable de validar la salida y de asegurar el cumplimiento de los requisitos regulatorios.
¿Qué es APIX 001?
El APIX 001 es un informe regulatorio mensual que los participantes de Pix —directos o indirectos— deben enviar al Banco Central de Brasil. Consolida las estadísticas operativas del ecosistema Pix de la institución durante un mes determinado.
Qué espera recibir el BACEN
El informe abarca diez secciones de datos:Requisitos de envío
Atributos del encabezado
El elemento raíz<APIX001> requiere estos atributos:
Comprender la estructura de datos
Antes de construir la plantilla, es importante entender cómo se mapean los datos del plugin Pix con cada sección del APIX 001.
Fuentes de datos del plugin Pix
La plantilla consulta datos de las tablas del plugin Pix registradas como fuentes de datos en Reporter. Las entidades principales utilizadas son:
|
dict.claims | Reclamos DICT | Reclamos de portabilidad y titularidad |
El prefijo de la fuente de datos (por ejemplo,
pix_btg) depende de cómo registres el plugin Pix en Reporter. Reemplázalo por el nombre real de tu fuente de datos.Estructura de la tabla de transferencias
Estructura de la tabla de devoluciones
Códigos de motivo de devolución
Estructura del cargo de tarifa (JSONB)
El campofee_charge es una columna JSONB poblada solo para transacciones CASHIN (recepción):
Mapeo de datos
Tipos de detalle de transacción
Finalidades de transacción
El informe requiere exactamente 12 entradas de transacción — una por cada combinación de 3 tipos de detalle × 4 finalidades. Las entradas sin datos coincidentes deben aparecer igualmente con valores en cero.
Fuentes de ingresos
Tipos de detalle de devolución
Tipos de detalle de bloqueo cautelar
Tipos de pagador en autorizaciones (Pix Automático)
Uso de Reporter
A continuación se muestra la plantilla completa para generar el APIX 001 en Reporter. Este ejemplo utiliza
pix_btg como prefijo de la fuente de datos — reemplázalo por el nombre configurado en tu fuente de datos de Reporter.
Desglose del código
Elemento raíz
DtArquivo: fecha de generación del archivo, insertada dinámicamente mediantedate_timeAnoyMes: año y mes de referencia, pasados como parámetros del informeISPB: primeros 8 dígitos del CNPJ de la institución, extraídos con el filtroslicedesde los datos de onboarding de MidazTipoEnvio:Ipara inclusión,Spara sustitución de datos previamente aprobados
Sección de transacciones
La plantilla declara explícitamente las 12 entradas requeridas (3 tipos de detalle × 4 finalidades). Se utilizan consultas dinámicas cuando hay datos disponibles:count_bycuenta los registros que cumplen la condición del filtrosum_by ... by "field"suma un campo específico entre los registros coincidentesValorEspeciees0.00para transferencias estándar (solo distinto de cero para Pix Saque/Troco)
Sección de devoluciones
Las devoluciones se separan por código de motivo a través del camporeason:
FR01se mapea al tipo de detalle 1 del BACEN (fraude vía MED)- Todos los demás códigos de motivo (
BE08,MD06,SL02) se mapean al tipo de detalle 2
Sección de ingresos
Los ingresos se extraen del campo JSONBfee_charge.totalAmount, filtrando por tipo de transferencia y tipo de persona:
El campo JSONB
fee_charge utiliza sintaxis de ruta de campo anidada (fee_charge.totalAmount). El motor Pongo2 de Reporter recorre la estructura JSON para acceder al valor anidado.Métricas de tiempo y disponibilidad
Las métricas de tiempo (tiempos de procesamiento de transacciones, tiempos de operación DICT) y el índice de disponibilidad deben obtenerse de tu sistema de monitoreo de infraestructura — no derivan de datos transaccionales. Completa estos valores a partir de tus logs del SPI y del monitoreo de uptime.Consultas DICT
dict.entries con la fuente de datos real de consultas al DICT o complete QtdConsultas manualmente desde métricas de infraestructura.
Ejemplo renderizado
Ejemplo de solicitud con filtro de fecha
Para generar el APIX 001 de un mes específico, envía una solicitud
POST /v1/reports con el encabezado X-Organization-Id y el siguiente cuerpo:
Las fechas deben estar en formato ISO 8601 con zona horaria UTC (
Z). Asegúrate de cubrir todo el mes de referencia — desde el primer hasta el último segundo.Reglas de validación XSD
Restricciones clave del XSD oficial APIX 001 (versión 2.5) que tus datos deben cumplir:
Buenas prácticas
Entradas con valor cero
Aunque no haya transacciones para una combinación dada, la entrada debe seguir apareciendo en el informe con valores en cero. El BACEN exige las 12 entradas de transacción, las 4 entradas de ingresos, las 4 entradas de bloqueo cautelar y las 2 entradas de autorización — independientemente de si existen datos.Envíos de sustitución
UsaTipoEnvio="S" solamente para sustituir un envío previamente aprobado. Si tu primer envío fue rechazado, vuelve a enviarlo con TipoEnvio="I".
Precisión de valores
Todos los valores monetarios deben tener exactamente 2 decimales. Usa las funciones de formato de Reporter o asegúrate de que tu fuente de datos entregue valores ya formateados.Origen de las métricas de tiempo
Los percentiles de tiempo de transacción y los tiempos de operación DICT deben provenir de tu monitoreo de infraestructura — no de datos transaccionales. Estas métricas reflejan la experiencia real del usuario desde la iniciación del pago hasta la confirmación de la liquidación. El BACEN puede auditar estos valores contra los logs del SPI.Campos anidados en JSONB
Los cálculos de ingresos utilizan rutas de campo anidadas (por ejemplo,fee_charge.totalAmount) para acceder a valores dentro de columnas JSONB. Asegúrate de que tu versión de Reporter admita el análisis de campos anidados en funciones de agregación.

