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
.tplque 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, comoHTML,PDF,XML,CSVoTXT.description: una descripción legible de la plantilla.category: la familia del informe, comocadoc. Usa letras minúsculas, dígitos, guiones bajos y guiones, con hasta 100 caracteres.
Mantener las plantillas existentes
Usa los endpoints de plantillas para:- Listar plantillas.
- Consultar los detalles de una plantilla.
- Actualizar una plantilla.
- Eliminar una plantilla.
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.
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. - Obtener el esquema de una fuente de datos inspecciona las tablas o colecciones en vivo y sus campos tipados.
DATASOURCE_* al iniciar.
Interpretar los estados y errores del informe
Llama a Consultar el estado de un informe conREPORT_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 esFinished:
- Llama a Descargar un informe con
REPORT_ID. - Confirma que la respuesta tiene el tipo de contenido esperado y el encabezado
Content-Disposition. - 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 prefijostemplates/ y reports/. Reporter admite AWS S3, MinIO y SeaweedFS.
AWS S3
AWS S3
MinIO (desarrollo local)
MinIO (desarrollo local)
SeaweedFS (desarrollo local)
SeaweedFS (desarrollo local)
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
ConfiguraDATASOURCE_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:
CONFIG_NAME:
CONFIG_NAME. Por ejemplo, external_db corresponde a DATASOURCE_EXTERNAL_DB_SCHEMAS:
database:schema.table en las plantillas y schema.table como clave de tabla en el filtro:
public.
El Manager y el Worker se conectan a una fuente de datos bajo demanda, cuando una solicitud la necesita.

