Saltar al contenido principal
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 cuatro 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.
  • category: la familia del informe, como cadoc. Usa letras minúsculas, dígitos, guiones bajos y guiones, con hasta 100 caracteres.
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: 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. Un despliegue self-hosted también puede sembrar entradas desde variables DATASOURCE_* al iniciar.

Interpretar los estados y errores del informe

Llama a Consultar el estado de un informe con REPORT_ID. Trata como descargables los informes Finished y Final, y un Draft sin campo obligatorio en blanco. 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.

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 y el Worker fallan 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 un despliegue self-hosted, también 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 y el Worker se conectan a una fuente de datos bajo demanda, cuando una solicitud la necesita.

Tareas relacionadas