> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Inicio rápido de Reporter

> Carga una plantilla mínima, genera tu primer informe y verifica el archivo descargado.

Usa este inicio rápido para generar un informe y confirmar que tu instalación de Reporter funciona de extremo a extremo. Para un flujo de producción recurrente, consulta [Usar Reporter](/es/reporter/using-reporter).

Para consultar los esquemas completos de solicitudes y respuestas, usa el [Inicio rápido de la API de Reporter](/es/reference/reporter/reporter-developer-quick-start) y las páginas de referencia de la API vinculadas.

## Objetivo

***

Vas a:

1. Crear una plantilla `.tpl` mínima.
2. Cargarla como una plantilla HTML.
3. Generar un informe sin filtros de datos.
4. Seguir el informe hasta que termine el procesamiento.
5. Descargar y verificar el archivo finalizado.

## Requisitos previos

***

Necesitas:

* Una instancia de Reporter en ejecución
* Un token de autenticación, si Access Manager está habilitado
* `curl`

Configura los valores usados en los ejemplos:

```bash theme={null}
export REPORTER_URL="https://reporter.example.com"
export TOKEN="tu-token-de-acceso"
```

## Crear una plantilla mínima

***

Crea `first-report.tpl` con contenido HTML estático:

```html theme={null}
<!doctype html>
<html>
  <body>
    <h1>Mi primer resultado de Reporter</h1>
  </body>
</html>
```

Las plantillas de Reporter siempre usan la extensión `.tpl`. El contenido de la plantilla debe coincidir con el formato de salida seleccionado. Reporter admite salidas HTML, CSV, XML, PDF y TXT. Para generar un PDF, escribe la plantilla en HTML y configura `outputFormat=PDF`.

Para crear plantillas que leen datos, consulta [Formatos de plantillas](/es/reporter/template-examples).

## Cargar la plantilla

***

Carga el archivo con los tres campos multipart obligatorios: `template`, `outputFormat` y `description`.

```bash theme={null}
curl --fail-with-body -X POST "$REPORTER_URL/v1/templates" \
  -H "Authorization: Bearer $TOKEN" \
  -F "template=@first-report.tpl" \
  -F "outputFormat=HTML" \
  -F "description=Primer resultado de Reporter"
```

Guarda el `id` de la plantilla devuelto como `TEMPLATE_ID`:

```bash theme={null}
export TEMPLATE_ID="id-de-plantilla-devuelto"
```

Consulta [Cargar plantilla](/es/reference/reporter/upload-template) para conocer el contrato completo de la operación.

## Generar el informe

***

Crea un informe con los campos obligatorios `templateId` y `filters`. Usa un objeto vacío cuando no necesites filtros.

```bash theme={null}
curl --fail-with-body -X POST "$REPORTER_URL/v1/reports" \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"templateId\":\"$TEMPLATE_ID\",\"filters\":{}}"
```

Guarda el `id` del informe devuelto como `REPORT_ID`:

```bash theme={null}
export REPORT_ID="id-de-informe-devuelto"
```

Consulta [Crear informe](/es/reference/reporter/create-report) para conocer la sintaxis de los filtros y el contrato completo de la operación.

## Seguir el procesamiento

***

Consulta el informe hasta que salga de `Processing`:

```bash theme={null}
curl --fail-with-body \
  -H "Authorization: Bearer $TOKEN" \
  "$REPORTER_URL/v1/reports/$REPORT_ID"
```

El ciclo de vida activo es:

```text theme={null}
Processing -> Finished | Partial | Error
```

| Estado       | Significado                                        | Qué hacer                                                                 |
| ------------ | -------------------------------------------------- | ------------------------------------------------------------------------- |
| `Processing` | Reporter está generando el archivo.                | Vuelve a consultar más tarde.                                             |
| `Finished`   | La generación finalizó correctamente.              | Descarga el informe.                                                      |
| `Partial`    | La generación finalizó con resultados incompletos. | Revisa los detalles del informe y los logs de la aplicación.              |
| `Error`      | La generación falló.                               | Revisa el error y los logs de la aplicación antes de volver a intentarlo. |

Consulta [Verificar estado del informe](/es/reference/reporter/check-report-status) para conocer el esquema de respuesta.

## Descargar y verificar el resultado

***

Descarga el archivo solo cuando el estado del informe sea `Finished`:

```bash theme={null}
curl --fail-with-body \
  -H "Authorization: Bearer $TOKEN" \
  "$REPORTER_URL/v1/reports/$REPORT_ID/download" \
  -o first-report.html
```

Confirma que el archivo no esté vacío y contenga el encabezado esperado:

```bash theme={null}
test -s first-report.html
grep -F "Mi primer resultado de Reporter" first-report.html
```

Consulta [Descargar informe](/es/reference/reporter/download-report) para conocer los encabezados de respuesta y los detalles de errores.

## Solución de problemas

***

| Problema                                  | Qué revisar                                                                                                                   |
| ----------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------- |
| La carga de la plantilla es rechazada     | Incluye el archivo `.tpl`, `outputFormat` y `description`; confirma que el contenido del archivo coincida con el formato.     |
| La creación del informe es rechazada      | Envía `templateId` y `filters`; usa `{}` cuando no corresponda ningún filtro.                                                 |
| El informe permanece en `Processing`      | Revisa el estado del worker y de la cola de Reporter y, después, los logs de la aplicación.                                   |
| El informe termina en `Partial` o `Error` | Revisa los detalles del informe, las fuentes de datos referenciadas y los logs de la aplicación antes de volver a intentarlo. |
| La descarga es rechazada                  | Confirma que el informe exista y tenga el estado `Finished`.                                                                  |

## Próximos pasos

***

* Sigue [Usar Reporter](/es/reporter/using-reporter) para diseñar un flujo reutilizable y recurrente.
* Aprende a referenciar datos configurados en [Formatos de plantillas](/es/reporter/template-examples).
* Revisa la guía especializada en [Plantillas BACEN](/es/reporter/reporter-bacen-templates) antes de trabajar con estructuras de informes regulatorios.
* Usa el [Inicio rápido de la API de Reporter](/es/reference/reporter/reporter-developer-quick-start) para consultar ejemplos completos de la API.
