> ## 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 da API do Reporter

> Coloque o Reporter em funcionamento: envie seu primeiro template, gere um relatório e baixe o arquivo final com cURL na API do Reporter.

> [!TIP]
>
> **Este guia é para desenvolvedores.** Se você procura uma visão de negócio sobre o que o Reporter faz, veja [O que é o Reporter?](https://docs.lerian.studio/pt/products/reporter/what-is-reporter.md).

Este guia leva você do envio do primeiro template até o download de um relatório gerado.

## Antes de começar

***

Você precisa de:

* Uma instância do Reporter em execução
* Um token de autenticação válido (se o Access Manager estiver habilitado)
* Um arquivo de template `.tpl` pronto para envio

Todos os exemplos usam `cURL`. Substitua `***` em cada header `Authorization` pelo seu token de autenticação e `https://reporter.example.com` pela URL do seu Reporter.

## Etapa 1: Enviar um template

***

Envie um arquivo `.tpl` que define a estrutura e o conteúdo do seu relatório, com o formato de saída, uma descrição e uma categoria. A categoria nomeia a família do relatório, em letras minúsculas, dígitos, sublinhados e hifens. O conteúdo do template deve corresponder ao formato de saída selecionado: HTML para `HTML` e `PDF`, XML para `XML`, CSV para `CSV`, e texto não vazio para `TXT`. O arquivo enviado deve ter a extensão `.tpl`.

> [!TIP]
>
> Referência da API: [Enviar template](https://docs.lerian.studio/pt/reference/products/reporter/upload-template.md)

```bash cURL theme={null}
curl -X POST "https://reporter.example.com/v1/templates" \
 -H "Authorization: Bearer ***" \
 -F "template=@account_summary.tpl" \
 -F "outputFormat=PDF" \
 -F "description=Daily account summary report" \
 -F "category=account_summary"
```

```json theme={null}
{
  "id": "0196b270-a315-7137-9408-3f16af2685e1",
  "outputFormat": "pdf",
  "description": "Daily account summary report",
  "category": "account_summary",
  "fileName": "0196b270-a315-7137-9408-3f16af2685e1.tpl",
  "createdAt": "2026-03-05T10:00:00Z",
  "updatedAt": "2026-03-05T10:00:00Z"
}
```

Salve o `id` do template. Você vai usá-lo para gerar relatórios.

### Formatos de saída suportados

| Formato | Caso de uso |
| - | - |
| `CSV` | Exportação de dados e integração com planilhas |
| `XML` | Dados estruturados e envios regulatórios |
| `HTML` | Relatórios visualizáveis no navegador |
| `PDF` | Documentos prontos para impressão e compartilhamento |
| `TXT` | Texto simples e integração com sistemas legados |

## Etapa 2: Verificar o template

***

Liste seus templates para confirmar que o envio foi bem-sucedido.

> [!TIP]
>
> Referência da API: [Listar templates](https://docs.lerian.studio/pt/reference/products/reporter/list-templates.md)

```bash cURL theme={null}
curl -X GET "https://reporter.example.com/v1/templates" \
 -H "Authorization: Bearer ***"
```

## Etapa 3: Gerar um relatório

***

Envie uma requisição de geração de relatório com o ID do template e o objeto `filters` obrigatório. Adicione filtros para restringir os dados, ou envie `{}` quando não quiser nenhum filtro.

> [!TIP]
>
> Referência da API: [Criar relatório](https://docs.lerian.studio/pt/reference/products/reporter/create-report.md)

```bash cURL theme={null}
curl -X POST "https://reporter.example.com/v1/reports" \
 -H "Authorization: Bearer ***" \
 -H "Content-Type: application/json" \
 -d '{
   "templateId": "0196b270-a315-7137-9408-3f16af2685e1",
   "filters": {
     "midaz_onboarding": {
       "account": {
         "created_at": {
           "between": ["2026-03-01", "2026-03-05"]
         }
       }
     }
   }
 }'
```

```json theme={null}
{
  "id": "0196c5c0-5044-724f-95f3-4b32076e7ad7",
  "templateId": "0196b270-a315-7137-9408-3f16af2685e1",
  "templateOutputFormat": "pdf",
  "templateDescription": "Daily account summary report",
  "filters": {
    "midaz_onboarding": {
      "account": {
        "created_at": {
          "between": ["2026-03-01", "2026-03-05"]
        }
      }
    }
  },
  "status": "Processing",
  "metadata": null,
  "completedAt": null,
  "createdAt": "2026-03-05T10:05:00Z",
  "updatedAt": "2026-03-05T10:05:00Z",
  "deletedAt": null
}
```

Salve o `id` do relatório para as próximas etapas.

### Estrutura do filtro

Os filtros seguem o caminho: **fonte de dados > tabela > campo > operador > valores**.

| Operador | Descrição | Exemplo |
| - | - | - |
| `eq` | Igual a | `{ "eq": ["active"] }` |
| `gt` / `gte` | Maior que / maior ou igual a | `{ "gte": ["2026-01-01"] }` |
| `lt` / `lte` | Menor que / menor ou igual a | `{ "lt": [1000] }` |
| `between` | Valor dentro de um intervalo | `{ "between": ["2026-03-01", "2026-03-31"] }` |
| `in` / `nin` | Valor está / não está em uma lista. `nin` também corresponde a um campo sem valor | `{ "in": ["active", "pending"] }` |
| `startsWith` / `notStartsWith` | O texto começa / não começa com um prefixo | `{ "startsWith": ["1", "2"] }` |
| `isNull` / `notNull` | O campo não tem valor / tem um valor | `{ "isNull": true }` |

> [!NOTE]
>
> O campo `filters` é obrigatório. Para gerar um relatório sem filtragem, envie um objeto vazio: `"filters": {}`.

## Etapa 4: Verificar o status do relatório

***

A geração do relatório é assíncrona. Consulte o endpoint de status até que o relatório esteja pronto.

> [!TIP]
>
> Referência da API: [Verificar status do relatório](https://docs.lerian.studio/pt/reference/products/reporter/check-report-status.md)

```bash cURL theme={null}
curl -X GET "https://reporter.example.com/v1/reports/0196c5c0-5044-724f-95f3-4b32076e7ad7" \
 -H "Authorization: Bearer ***"
```

| Status | Significado |
| - | - |
| `Processing` | O Reporter está consultando os dados e renderizando o template |
| `Finished` | O relatório está pronto para download |
| `Partial` | Algumas seções de dados tiveram sucesso e outras falharam; o `metadata` do relatório traz os códigos de erro por seção |
| `Error` | Um erro impediu a geração do relatório. |

Aguarde o status `Finished` antes de prosseguir para o download.

## Etapa 5: Baixar o relatório

***

Quando o relatório estiver finalizado, baixe o arquivo gerado.

> [!TIP]
>
> Referência da API: [Baixar relatório](https://docs.lerian.studio/pt/reference/products/reporter/download-report.md)

```bash cURL theme={null}
curl -X GET "https://reporter.example.com/v1/reports/0196c5c0-5044-724f-95f3-4b32076e7ad7/download" \
 -H "Authorization: Bearer ***" \
 -o account_summary.pdf
```

O Reporter retorna o arquivo com headers `Content-Disposition` que informam o nome e o formato do arquivo.

## Etapa 6: Explorar fontes de dados

***

Para entender quais dados estão disponíveis para seus templates, liste as fontes de dados configuradas. Depois, use `GET /v1/data-sources/{dataSourceId}/schema` para inspecionar o esquema de uma fonte de dados.

> [!TIP]
>
> Referência da API: [Listar fontes de dados](https://docs.lerian.studio/pt/reference/products/reporter/list-data-sources.md) | [Obter o esquema de uma fonte de dados](https://docs.lerian.studio/pt/reference/products/reporter/get-data-source-schema.md)

```bash cURL theme={null}
curl -X GET "https://reporter.example.com/v1/data-sources" \
 -H "Authorization: Bearer ***"
```

A resposta de listagem identifica cada fonte de dados. A resposta de esquema lista suas tabelas ou coleções e seus campos tipados. Um template lê uma tabela como `datasource.table` e os campos de cada linha pelo nome.

## Prazos e templates

***

A API de Prazos alimenta a gestão de prazos no Console, e você também pode chamá-la diretamente para integrar prazos aos seus próprios sistemas. Para testar `POST /v1/templates`, baixe [um arquivo `.tpl` de amostra](https://drive.google.com/file/d/1i8QP2Uk4ZGMy7Zk28b_c9e2Zwb9i65-X/view?usp=sharing).

## Próximos passos

***

> [card] [O que é o Reporter?](https://docs.lerian.studio/pt/products/reporter/what-is-reporter.md)
>
> Visão completa da sintaxe de templates, tags e filtros.

> [card] [Formatos de template](https://docs.lerian.studio/pt/products/reporter/template-examples.md)
>
> Exemplos práticos para templates HTML, XML e TXT.

> [card] [Usando o Reporter](https://docs.lerian.studio/pt/products/reporter/using-reporter.md)
>
> Guia detalhado sobre templates, armazenamento e configuração de fontes de dados.

> [card] [Tratamento de erros](https://docs.lerian.studio/pt/reference/products/reporter/reporter-error-list.md)
>
> Lista completa de códigos de erro e como resolvê-los.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.