Saltar al contenido principal
Usa esta guía para el flujo recurrente de Reporter: gestionar una plantilla, generar un informe, verificar el resultado y descargar el archivo terminado.

Requisitos previos

Antes de comenzar, comprueba lo siguiente:
  • Reporter está en ejecución y puedes autenticarte en su API.
  • Un operador configuró al menos una fuente para los datos que consulta tu plantilla.
  • Tienes un archivo .tpl que corresponde al formato de salida esperado. Consulta los ejemplos de plantillas y la referencia de plantillas.

Gestionar plantillas

Reporter usa archivos .tpl cargados para definir el contenido y la presentación de los informes.

Cargar una plantilla

Llama a Cargar una plantilla mediante una solicitud multipart con los tres campos obligatorios:
  • template: el archivo .tpl.
  • outputFormat: el formato del archivo generado, como HTML, PDF, XML, CSV o TXT.
  • description: una descripción legible de la plantilla.
Reporter devuelve el identificador de la plantilla que usarás para generar informes.

Mantener plantillas existentes

Usa los endpoints de plantillas para: Eliminar una plantilla es una eliminación lógica. Reporter la excluye de las consultas estándar, pero conserva los informes creados a partir de ella.

Generar un informe con filtros

Llama a Crear un informe con los dos campos obligatorios:
  • templateId: el identificador devuelto al cargar la plantilla.
  • filters: las condiciones agrupadas por fuente de datos, tabla y campo.
La siguiente solicitud limita el informe a una transacción:
Para generar un informe sin filtrar filas, envía un objeto vacío. No omitas el campo:
Reporter devuelve el identificador del informe en el campo id. Guarda este valor como REPORT_ID para consultar el estado de generación y recuperar el resultado. Consulta Filtrado avanzado para conocer los operadores compatibles y la estructura de los filtros.

Descubrir esquemas de fuentes de datos

Examina las fuentes configuradas antes de crear plantillas o interfaces de filtros dinámicos: Estos endpoints son de solo lectura. Los operadores configuran las fuentes durante el despliegue; la API no las crea ni las actualiza.

Interpretar estados y errores

Llama a Consultar el estado del informe con REPORT_ID. Trata solo Finished como descargable. Un resultado Partial requiere investigación aunque Reporter haya generado algunos datos.

Verificar y descargar el informe

Cuando el estado sea Finished:
  1. Llama a Descargar un informe con REPORT_ID.
  2. Confirma que la respuesta tenga el tipo de contenido esperado y el encabezado Content-Disposition.
  3. Abre el archivo y comprueba que los datos y la presentación correspondan a la plantilla y los filtros.
El endpoint de descarga solo entrega informes con estado Finished.

Solución de problemas


Configuración para operadores

Las siguientes opciones de despliegue están dirigidas a operadores. No las necesitas para el flujo de generación de informes.

Configurar el almacenamiento de objetos

Reporter guarda las plantillas y los informes generados en un bucket compatible con S3. Usa los prefijos templates/ y reports/. Reporter admite AWS S3, MinIO y SeaweedFS.
Los ejemplos de MinIO y SeaweedFS que aparecen a continuación usan HTTP solo para desarrollo local. Los despliegues de producción requieren HTTPS y TLS.
S3 no admite TTL por objeto. Configura políticas de ciclo de vida del bucket de S3 si los informes generados deben caducar automáticamente.

Configurar fuentes de datos externas

Define cada fuente PostgreSQL o MongoDB mediante variables de entorno DATASOURCE_<NAME>_*. Para una fuente cuyo CONFIG_NAME es midaz_onboarding:
Haz referencia a la fuente en una plantilla mediante su CONFIG_NAME:
Para usar varios esquemas de PostgreSQL, deriva la variable de esquemas de CONFIG_NAME. Por ejemplo, external_db corresponde a DATASOURCE_EXTERNAL_DB_SCHEMAS:
Usa database:schema.table en las plantillas y schema.table como clave de tabla en los filtros:
Cuando no defines la variable de esquemas, Reporter usa el esquema public. El Manager carga la configuración de las fuentes de datos y se conecta bajo demanda. El Worker se conecta durante el inicio y reintenta las fuentes no disponibles. Puede continuar con funcionalidad reducida si una fuente sigue sin estar disponible.

Tareas relacionadas