Saltar al contenido principal
Esta guía presenta el ciclo de vida de generación de reportes en Reporter, desde la carga de tu primera plantilla hasta la descarga del reporte finalizado. Se enfoca en los conceptos y decisiones involucradas en cada etapa. Para instrucciones paso a paso con ejemplos de solicitudes y respuestas de la API, consulta el Inicio rápido de la API de Reporter.

El ciclo de vida de reportes


Cada reporte en Reporter sigue el mismo ciclo de cuatro etapas:
1

Diseñar una plantilla

Escribir un archivo .tpl que define la estructura y contenido de tu reporte.
2

Cargar la plantilla

Registrar la plantilla en Reporter para que pueda ser reutilizada en múltiples generaciones.
3

Generar un reporte

Enviar una solicitud con filtros opcionales para producir un reporte a partir de la plantilla.
4

Descargar el resultado

Obtener el archivo finalizado en el formato que necesitas.
Las secciones a continuación explican cada etapa.

Diseñar una plantilla


Una plantilla es un archivo de texto plano con extensión .tpl que define cómo se ve tu reporte y qué datos incluye. Las plantillas reflejan la estructura del resultado final — si quieres un reporte XML, escribes XML dentro del archivo .tpl; si quieres HTML, escribes HTML. En lugar de escribir consultas SQL, referencias datos a través de placeholders que siguen una sintaxis de ruta simple:
{{ datasource.table.field }}
Por ejemplo, {{ midaz_onboarding.account.name }} obtiene el nombre de la cuenta de la base de datos de onboarding de Midaz.

Qué puedes hacer en las plantillas

CapacidadDescripción
LoopsIterar sobre colecciones de registros
CondicionesMostrar u ocultar contenido según valores de datos
AgregacionesCalcular sumas, promedios, conteos, mínimos y máximos
AritméticaRealizar cálculos en campos numéricos
FiltrosTransformar valores en línea (formatear números, reemplazar cadenas, extraer subcadenas)
ContadoresRastrear y mostrar totales acumulados entre iteraciones

Formatos de salida soportados

Contenido de la plantillaFormato de salida
.tpl con estructura CSVArchivo CSV
.tpl con estructura XMLArchivo XML
.tpl con estructura HTMLArchivo HTML o PDF
.tpl con estructura TXTArchivo TXT
Consulta Formatos de plantillas para ver ejemplos completos de cada formato.

Cargar la plantilla


Una vez que tu archivo .tpl está listo, cárgalo en Reporter. Durante la carga, especificas:
  • El archivo de plantilla — tu archivo .tpl
  • Formato de salida — el formato que Reporter debe generar (CSV, XML, HTML, PDF o TXT)
  • Descripción — una etiqueta opcional para ayudar a identificar la plantilla después
Reporter almacena la plantilla en almacenamiento de objetos compatible con S3 y le asigna un ID único. Luego puedes listar, actualizar o eliminar plantillas a medida que tus necesidades de reportes evolucionen.
Las plantillas son reutilizables. Cárgalas una vez y genera reportes desde la misma plantilla todas las veces que necesites con diferentes filtros.
Referencia de API: Cargar plantilla | Listar plantillas

Generar un reporte


Para generar un reporte, envía una solicitud con el ID de la plantilla y filtros opcionales que acotan los datos.

Cómo funcionan los filtros

Los filtros siguen una ruta estructurada: fuente de datos > tabla > campo. Puedes filtrar por igualdad, rangos, mayor/menor que y pertenencia a listas. Por ejemplo, para generar un reporte para un rango de fechas y estado de cuenta específicos:
FiltroQué hace
createdAt: between ["2024-01-01", "2024-01-31"]Solo incluye registros de enero 2024
status: in ["active", "pending"]Solo incluye cuentas activas o pendientes
id: eq ["123", "456"]Solo incluye IDs de cuenta específicos

Operadores de filtro soportados

OperadorDescripción
eqIgual a
gt / gteMayor que / mayor o igual que
lt / lteMenor que / menor o igual que
betweenEl valor está dentro de un rango
in / ninEl valor está / no está en una lista

Procesamiento

La generación de reportes es asíncrona. Después de enviar una solicitud, Reporter devuelve un ID de reporte que usas para verificar el progreso. Los reportes pasan por dos estados:
EstadoSignificado
processingReporter está consultando datos y renderizando la plantilla
finishedEl reporte está listo para descargar

Descargar el resultado


Una vez que un reporte alcanza el estado finished, descárgalo. El archivo se devuelve en el formato especificado durante la carga de la plantilla — CSV, XML, HTML, PDF o TXT.
Referencia de API: Descargar reporte

Fuentes de datos


Reporter se conecta a tus bases de datos y extrae datos según lo que tus plantillas referencian. Soporta:
Base de datosCaso de uso
PostgreSQLDatos relacionales — cuentas, transacciones, asientos contables
MongoDBDatos de documentos — metadatos, esquemas flexibles
Las fuentes de datos se configuran a nivel de infraestructura mediante variables de entorno. Una vez configuradas, quedan disponibles para todas las plantillas a través de su nombre asignado (por ejemplo, midaz_onboarding o midaz_transaction).

Soporte multi-esquema

Para bases de datos PostgreSQL con múltiples esquemas, las plantillas pueden consultar entre esquemas usando sintaxis explícita:
{{ datasource:schema.table.field }}
Esto es útil cuando tus datos abarcan esquemas como sales, inventory y reporting dentro de una misma base de datos.

Escenario de ejemplo


Una fintech necesita generar un resumen diario de cuentas para su equipo de operaciones. Configuración:
  • Un diseñador de plantillas escribe una plantilla HTML con saldos de cuentas, conteos de transacciones y totales diarios usando los tags de agregación de Reporter
  • La plantilla se carga una vez con formato de salida configurado como PDF
Flujo de trabajo diario:
  1. Un job automatizado envía una solicitud de reporte con un filtro de fecha para el día actual.
  2. Reporter consulta la base de datos de Midaz, aplica la lógica de la plantilla y renderiza el resultado.
  3. El reporte alcanza el estado finished en segundos.
  4. El equipo de operaciones descarga el PDF y revisa el resumen diario.
  5. La misma plantilla se reutiliza todos los días — solo cambia el filtro de fecha.

Reportes regulatorios brasileños


Reporter incluye plantillas listas para usar para reportes regulatorios del Banco Central de Brasil (BACEN):
PlantillaPropósito
CADOC 4010 / 4016Balance de comprobación y reportes de balance general
CADOC 4111Reportes detallados de transacciones
CCSReportes de registro de clientes y cuentas
Estas plantillas siguen la estructura oficial de BACEN y pueden ser personalizadas para coincidir con el plan de cuentas de tu institución.
Consulta Plantillas BACEN para ver detalles de cada plantilla regulatoria.

Próximos pasos