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

> Faça upload de um template mínimo, gere seu primeiro relatório e verifique o arquivo baixado.

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 fluxo de produção recorrente, consulte [Usar o Reporter](/pt/reporter/using-reporter).

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

## Objetivo

***

Você vai:

1. Criar um template `.tpl` mínimo.
2. Fazer upload dele como um template HTML.
3. Gerar um relatório sem filtros de dados.
4. Acompanhar o relatório até o processamento terminar.
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`

Configure os valores usados nos exemplos:

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

## Criar um template mínimo

***

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

```html theme={null}
<!doctype html>
<html>
  <body>
    <h1>Meu primeiro resultado do Reporter</h1>
  </body>
</html>
```

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

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

## Fazer upload do template

***

Faça upload do 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=Primeiro resultado do Reporter"
```

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

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

Consulte [Fazer upload de template](/pt/reference/reporter/upload-template) para conhecer o contrato completo da operação.

## Gerar 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="id-do-relatorio-retornado"
```

Consulte [Criar relatório](/pt/reference/reporter/create-report) para conhecer a sintaxe dos filtros e o contrato completo da operação.

## Acompanhar o processamento

***

Consulte o relatório até que ele saia de `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 o arquivo.             | Consulte novamente mais tarde.                                     |
| `Finished`   | A geração terminou com sucesso.                | Baixe o relatório.                                                 |
| `Partial`    | A geração terminou com resultados incompletos. | Verifique os detalhes do relatório e os logs da aplicação.         |
| `Error`      | A geração falhou.                              | Verifique o erro e os logs da aplicação antes de tentar novamente. |

Consulte [Verificar status do relatório](/pt/reference/reporter/check-report-status) para conhecer o schema da resposta.

## Baixar e verificar o resultado

***

Baixe o arquivo somente 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 "Meu primeiro resultado do Reporter" first-report.html
```

Consulte [Baixar relatório](/pt/reference/reporter/download-report) para conhecer os headers da resposta e os detalhes de erros.

## Solução de problemas

***

| Problema                                    | O que verificar                                                                                                        |
| ------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------- |
| 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 for aplicável.                                           |
| O relatório permanece em `Processing`       | Verifique a saúde do worker e da fila do Reporter e, depois, os logs da aplicação.                                     |
| O relatório termina em `Partial` ou `Error` | Verifique 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 está com status `Finished`.                                                          |

## Próximos passos

***

* Siga [Usar o Reporter](/pt/reporter/using-reporter) para projetar um fluxo reutilizável e recorrente.
* Aprenda a referenciar dados configurados em [Formatos de templates](/pt/reporter/template-examples).
* Consulte a orientação especializada em [Templates BACEN](/pt/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/reporter/reporter-developer-quick-start) para consultar exemplos completos da API.
