Skip to main content
Usa esta guía para el workflow recurrente de Reporter: gestiona una plantilla, genera un informe, verifica el resultado y descarga el archivo terminado.

Requisitos previos

Antes de empezar, confirma que:
  • Reporter está en ejecución y puedes autenticarte con su API.
  • Un operador configuró al menos una fuente de datos para los datos que consulta tu plantilla.
  • Tienes un archivo .tpl que corresponde al formato de salida deseado. Para la salida en PDF, escribe la plantilla como HTML. Consulta Ejemplos de plantillas y la referencia de plantillas.

Gestionar plantillas

Reporter usa los archivos .tpl subidos para definir el contenido y el diseño del informe.

Subir una plantilla

Llama a Subir una plantilla como 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 usas al generar informes.

Mantener las 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 ya creados a partir de ella.

Generar un informe con filtros

Llama a Crear un informe con los dos campos obligatorios:
  • templateId: el identificador que se devolvió al subir 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 admitidos y la estructura de los filtros.

Descubrir los esquemas de las fuentes de datos

Inspecciona las fuentes de datos configuradas antes de crear plantillas o interfaces de filtro dinámicas:
  • Listar fuentes de datos devuelve una página de conexiones registradas sin credenciales.
  • Consultar una fuente de datos devuelve la configuración de una conexión según su dataSourceId. Las credenciales permanecen ocultas.
  • GET /v1/data-sources/{dataSourceId}/schema inspecciona las tablas o colecciones en vivo y sus campos tipados.
La API controla el ciclo de vida del registro: crear una fuente de datos, actualizarla parcialmente, probar la conexión, inspeccionar su esquema o eliminarla de forma lógica. Reporter rechaza la eliminación mientras una plantilla activa siga referenciando la fuente. Los despliegues de un solo tenant también pueden sembrar entradas desde variables DATASOURCE_* al iniciar. Los despliegues multi-tenant crean entradas por tenant a través de la API.

Interpretar los estados y errores del informe

Llama a Consultar el estado de un 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 es Finished:
  1. Llama a Descargar un informe con REPORT_ID.
  2. Confirma que la respuesta tiene el tipo de contenido esperado y el encabezado Content-Disposition.
  3. Abre el archivo y verifica que sus datos y su diseño correspondan a la plantilla y a los filtros.
El endpoint de descarga solo sirve informes con estado Finished.

Solución de problemas


Configuración del operador

Los siguientes ajustes de despliegue son para operadores. Los usuarios de la aplicación no los necesitan 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 siguen usan HTTP solo para desarrollo local. Los despliegues de producción requieren HTTPS y TLS.
S3 no admite TTL por objeto. Configura las políticas de ciclo de vida del bucket de S3 si los informes generados deben expirar automáticamente.

Configurar fuentes de datos externas

Configura DATASOURCE_CRED_ENC_KEY con una clave AES hexadecimal persistente antes de iniciar Reporter. Genera una clave de 32 bytes con openssl rand -hex 32. El Manager falla al iniciar si la clave falta o tiene un formato inválido. Mantén la misma clave disponible para cada runtime de Reporter que lea el registro, porque las contraseñas guardadas están cifradas con ella. Usa la API para el ciclo de vida normal de las fuentes de datos. En modo multi-tenant, Reporter omite la siembra por variables de entorno y cada tenant crea sus propias entradas a través de la API. En modo de un solo tenant, puedes sembrar entradas de PostgreSQL o MongoDB al iniciar con variables DATASOURCE_<NAME>_*: Para una fuente cuyo CONFIG_NAME es midaz_onboarding:
Haz referencia a ella en una plantilla mediante su CONFIG_NAME:
Para varios esquemas de PostgreSQL, deriva la variable del esquema a partir 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 el filtro:
Cuando la variable del esquema no está definida, Reporter usa el esquema public. El Manager carga la configuración de la fuente de datos y se conecta bajo demanda. El Worker se conecta durante el inicio y reintenta las fuentes no disponibles. Puede seguir funcionando con capacidad reducida cuando una fuente permanece no disponible.

Tareas relacionadas