Skip to main content
O Reporter oferece uma única API HTTP. Toda operação fica sob o caminho base /v1, sem nenhum segmento de produto antes dele. Uma listagem de templates é GET /v1/templates. A API contém 28 operações distribuídas em sete áreas: templates, o construtor de templates, relatórios, fontes de dados, prazos, métricas e o manifesto de streaming. Todas as 28 são renderizadas sob a âncora Reporter na Referência da API. Esta página cobre o que as operações têm em comum e indica a página de referência de cada uma.
Os documentos OpenAPI deste portal são fontes de renderização para as páginas de referência. Eles não são contratos com o cliente, e não são uma base para geração de SDK.

Autenticação


O Reporter aceita um token bearer JWT. Um único esquema de segurança se aplica a toda operação:
O Reporter autoriza cada requisição em relação à aplicação reporter, um recurso e uma ação. O recurso segue a área: templates, reports, deadlines, data-source, metrics ou streaming. A ação é o método HTTP em minúsculas, então POST /v1/reports autoriza como a ação post em reports. PLUGIN_AUTH_ENABLED ativa o middleware, e PLUGIN_AUTH_ADDRESS aponta para o Access Manager. As rotas de probe ficam fora da autenticação, para que um orquestrador as alcance sem um token: /health, /readyz e /version. A identidade do tenant viaja dentro do token. O Reporter resolve o tenant a partir da claim tenantId do JWT. Nenhuma das operações acima obtém o tenant de um header de requisição, e nenhum valor fornecido pelo cliente o sobrepõe. Consulte Multi-tenancy.

As operações por função


Templates

Cinco operações controlam o ciclo de vida do template: listar, enviar, obter, atualizar e excluir. Um template é um arquivo .tpl em texto simples, além do seu formato de saída e descrição. Excluir um template também remove os prazos que apontam para ele.

Construtor de templates

Quatro operações sustentam um editor visual sem persistir nada. Listar definições de bloco e listar definições de filtro retornam o catálogo do qual um editor se baseia. Validar blocos verifica uma árvore de blocos e relata erros por bloco. Gerar código transforma essa árvore em código-fonte de template que você pode então enviar.

Relatórios

Quatro operações: criar, obter, listar e baixar. O ciclo de vida é criar e reter. POST /v1/reports responde 201 com um relatório em Processing e passa o trabalho para um worker em segundo plano. O relatório então chega a Finished, Partial ou Error. Consulte repetidamente a operação de obtenção, ou inscreva-se nos eventos descritos em Eventos. O download serve um relatório em Finished. Todo relatório que você cria permanece endereçável pelo seu identificador enquanto a política de retenção do seu armazenamento de objetos mantiver o artefato.

Fontes de dados

Sete operações gerenciam o registro persistido em /v1/data-sources (note o hífen). Você pode listar ou criar entradas, obter, atualizar parcialmente ou excluir de forma lógica uma por dataSourceId, inspecionar seu schema ativo e testar sua conexão. As senhas são apenas para escrita, criptografadas em repouso e ausentes de toda resposta. Uma exclusão é recusada enquanto um template ativo ainda referenciar a fonte de dados. Deploys single-tenant podem popular entradas do registro a partir de variáveis DATASOURCE_* na inicialização. Deploys multi-tenant as criam por tenant através da API.

Prazos

Seis operações modelam uma obrigação de entrega com uma data de vencimento e uma regra de recorrência: listar, criar, atualizar, excluir, entregar e notificações. O status é derivado da data de vencimento e da marca de entrega, nunca enviado por um cliente. As notificações são apenas por consulta: a operação retorna os prazos dentro da sua janela de alerta, ordenados com os vencidos primeiro.

Métricas e streaming

Métricas retorna contadores do deploy: templates, relatórios, fontes de dados e erros de relatório da janela atual em comparação com a anterior. errorPeriodDays define essa janela e usa 7 como padrão. Eventos de streaming retorna o manifesto de eventos abordado em Eventos.

Tipos de conteúdo


A criação e a atualização de template são multipart/form-data: uma parte de arquivo template, além de outputFormat e description. Todo o restante que carrega um corpo é application/json. O download responde com os bytes e um nome de arquivo Content-Disposition. O tipo de mídia segue o formato de saída do relatório: application/pdf, application/xml, text/csv, text/html ou text/plain.

Idempotência


A criação de template e a criação de relatório aceitam um header de requisição X-Idempotency. Envie sua própria chave, ou omita o header e o Reporter deriva uma a partir de um hash do corpo da requisição.
  • Uma requisição que repete uma que ainda está em andamento é rejeitada em vez de duplicada.
  • Uma requisição que repete uma já concluída reproduz a resposta original e marca X-Idempotency-Replayed: true nela.

Paginação


As listagens de templates, prazos e fontes de dados usam paginação por offset com os mesmos dois parâmetros. Um limit acima do teto é rejeitado com um erro de paginação, em vez de ser limitado automaticamente. A listagem de relatórios usa paginação por keyset: envie limit sem page e, em seguida, siga nextCursor ou prevCursor a partir da resposta. Um cursor fica ausente quando não há página naquela direção, e a resposta não inclui page nem total. A listagem de relatórios aceita status, template_id, created_at e sort_order. O cursor carrega a ordenação para o percurso. A listagem de templates filtra por outputFormat, e a listagem de prazos por status.

Erros


Todo erro responde application/problem+json e segue a RFC 9457, carregando um title, um status, um detail e um code de domínio estável. Faça a correspondência pelo código, nunca pelo texto. A lista de erros do Reporter mapeia cada código para seu status HTTP e sua correção.

Lendo a especificação a partir de um serviço em execução


SWAGGER_ENABLED=true monta uma referência navegável em /swagger/docs, com o documento OpenAPI 3.1 em /swagger/openapi.json e /swagger/openapi.yaml. Ela fica desativada a menos que você a ative. Mantenha-a desativada em produção.

Próximos passos


Referência da API

As 28 operações, com os formatos completos de requisição e resposta.

Início rápido da API

Envie um template, gere um relatório e baixe-o com cURL.

Eventos

Inscreva-se em eventos de relatório e prazo em vez de consultar repetidamente.

O que é o Reporter?

Templates, relatórios, fontes de dados e onde eles se encaixam.