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

# Início rápido do Reporter

> Envie um template mínimo do Reporter, gere seu primeiro relatório a partir de dados reais e verifique o arquivo baixado. Uma configuração prática em menos de dez minutos.

Use este início rápido para gerar um relatório e confirmar que sua instalação do Reporter funciona de ponta a ponta. Para um workflow recorrente em produção, veja [Usando o Reporter](/pt/products/reporter/using-reporter).

Para schemas completos de requisição e resposta, use o [Início rápido da API do Reporter](/pt/reference/products/reporter/reporter-developer-quick-start) e as páginas de referência de API vinculadas.

## Objetivo

***

Você vai:

1. Criar um template `.tpl` mínimo.
2. Enviar esse template como um template HTML.
3. Gerar um relatório sem filtros de dados.
4. Acompanhar o relatório até o fim do processamento.
5. Baixar e verificar o arquivo finalizado.

## Pré-requisitos

***

Você precisa de:

* Uma instância do Reporter em execução
* Um token de autenticação, se o Access Manager estiver habilitado
* `curl`

Defina os valores usados nos exemplos:

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

## Crie um template mínimo

***

Crie `first-report.tpl` com conteúdo HTML estático:

```html theme={null}
<!doctype html>
<html>
  <body>
    <h1>My first Reporter output</h1>
  </body>
</html>
```

Templates do Reporter sempre usam a extensão `.tpl`. O conteúdo do template deve corresponder ao formato de saída selecionado. O Reporter aceita saídas em HTML, CSV, XML, PDF e TXT. Para saída em PDF, escreva o template em HTML e defina `outputFormat=PDF`.

Para templates que leem dados, veja [Formatos de template](/pt/products/reporter/template-examples).

## Envie o template

***

Envie o arquivo com os três campos multipart obrigatórios: `template`, `outputFormat` e `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"
```

Salve o `id` do template retornado como `TEMPLATE_ID`:

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

Veja [Upload template](/pt/reference/products/reporter/upload-template) para o contrato completo da operação.

## Gere o relatório

***

Crie um relatório com os campos obrigatórios `templateId` e `filters`. Use um objeto vazio quando não precisar de 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\":{}}"
```

Salve o `id` do relatório retornado como `REPORT_ID`:

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

Veja [Create report](/pt/reference/products/reporter/create-report) para a sintaxe dos filtros e o contrato completo da operação.

## Acompanhe o processamento

***

Verifique o relatório até que ele saia do status `Processing`:

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

O ciclo de vida ativo é:

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

| Status       | Significado                                         | O que fazer                                                         |
| ------------ | --------------------------------------------------- | ------------------------------------------------------------------- |
| `Processing` | O Reporter está gerando a saída.                    | Verifique novamente mais tarde.                                     |
| `Finished`   | A geração foi concluída com sucesso.                | Baixe o relatório.                                                  |
| `Partial`    | A geração foi concluída com resultados incompletos. | Inspecione os detalhes do relatório e os logs da aplicação.         |
| `Error`      | A geração falhou.                                   | Inspecione o erro e os logs da aplicação antes de tentar novamente. |

Veja [Check report status](/pt/reference/products/reporter/check-report-status) para o schema da resposta.

## Baixe e verifique a saída

***

Baixe o arquivo apenas quando o status do relatório for `Finished`:

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

Confirme que o arquivo não está vazio e contém o título esperado:

```bash theme={null}
test -s first-report.html
grep -F "My first Reporter output" first-report.html
```

Veja [Download report](/pt/reference/products/reporter/download-report) para os cabeçalhos de resposta e detalhes de erro.

## Solução de problemas

***

| Problema                                    | Verificação                                                                                                             |
| ------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- |
| O upload do template é rejeitado            | Inclua o arquivo `.tpl`, `outputFormat` e `description`; confirme que o conteúdo do arquivo corresponde ao formato.     |
| A criação do relatório é rejeitada          | Envie `templateId` e `filters`; use `{}` quando nenhum filtro se aplicar.                                               |
| O relatório permanece em `Processing`       | Verifique a saúde do worker e da fila do Reporter, depois inspecione os logs da aplicação.                              |
| O relatório termina em `Partial` ou `Error` | Inspecione os detalhes do relatório, as fontes de dados referenciadas e os logs da aplicação antes de tentar novamente. |
| O download é rejeitado                      | Confirme que o relatório existe e tem status `Finished`.                                                                |

## Próximos passos

***

* Siga [Usando o Reporter](/pt/products/reporter/using-reporter) para projetar um workflow reutilizável e recorrente.
* Aprenda a referenciar dados configurados em [Formatos de template](/pt/products/reporter/template-examples).
* Revise as orientações especializadas em [Formatos regulatórios do BACEN](/pt/products/reporter/reporter-bacen-templates) antes de trabalhar com estruturas de relatórios regulatórios.
* Use o [Início rápido da API do Reporter](/pt/reference/products/reporter/reporter-developer-quick-start) para exemplos completos da API.
