> ## 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

> Sube una plantilla mínima de Reporter, genera tu primer informe a partir de datos en vivo y verifica el resultado descargado. Una configuración práctica en menos de diez minutos.

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

Para ver los esquemas completos de solicitud y respuesta, usa el [Inicio rápido de la API de Reporter](/es/reference/products/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. Subirla como plantilla HTML.
3. Generar un informe sin filtros de datos.
4. Hacer seguimiento del informe hasta que termine el procesamiento.
5. Descargar y verificar el archivo terminado.

## Requisitos previos

***

Necesitas:

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

Define los valores usados en los ejemplos:

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

## Crea una plantilla mínima

***

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

```html theme={null}
<!doctype html>
<html>
  <body>
    <h1>My first Reporter output</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 en HTML, CSV, XML, PDF y TXT. Para la salida en PDF, escribe la plantilla en HTML y define `outputFormat=PDF`.

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

## Sube la plantilla

***

Sube 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=First Reporter output"
```

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

```bash theme={null}
export TEMPLATE_ID="returned-template-id"
```

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

## Genera 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` de informe devuelto como `REPORT_ID`:

```bash theme={null}
export REPORT_ID="returned-report-id"
```

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

## Haz seguimiento del procesamiento

***

Verifica el informe hasta que salga del estado `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 la salida.                | Vuelve a verificar más tarde.                                    |
| `Finished`   | La generación terminó correctamente.              | Descarga el informe.                                             |
| `Partial`    | La generación terminó 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 reintentar. |

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

## Descarga y verifica la salida

***

Descarga 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 "My first Reporter output" first-report.html
```

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

## Solución de problemas

***

| Problema                                  | Verificación                                                                                                              |
| ----------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
| La subida 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 tanto `templateId` como `filters`; usa `{}` cuando no aplique ningún filtro.                                        |
| El informe permanece en `Processing`      | Verifica el estado del worker y de la cola de Reporter, luego revisa 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 reintentar.      |
| La descarga es rechazada                  | Confirma que el informe exista y tenga el estado `Finished`.                                                              |

## Próximos pasos

***

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