...
Índice | ||||
---|---|---|---|---|
|
...
Hoje o O TReports conta com sua interface para listar, buscar, gerar e fazer o download dos relatórios produzidos, agora com a introdução às APIs de Integração, será possível que os produtos que precisarem se integrarem com o sistema tenham novas formas de executar relatórios dentro do produto, tendo acesso a um visualizador e/ou ao relatório gerado em diversos formatos. Promovendo uma nova e melhor experiência para o usuário da linha de produto ao precisar acessar suas informações por meio de relatórios.
ABaixo demonstramos dois cenários de uso dessa integração:
A busca é utilizada para encontrar o relatório desejado, sendo possível buscar aqueles que o usuário tem permissão de acesso, sejam eles criados pelo próprio usuário, compartilhados via pasta ou via compartilhamento único. Assim como é feito na interface, a busca já pode ser realizada ao enviar no mínimo 3 caracteres para pesquisa, todos os relatórios que tiverem esses caracteres em comum serão retornados.
Para detalhes procure pelo endpoint abaixo:
O retorno apresentado lista os relatórios do sistema.
Bloco de código |
---|
[
{
"id": "a4127383-3229-420f-bd47-c795c2af5ebd",
"displayName": "Recibo de Fatura (JU203b) ",
"description": "Recibo de Fatura (JU203b) - Grupo de Estudos",
"navigationFolderId": 1
},
{
"id": "cd767d3f-ec71-4c1a-8143-c6645dd8f63c",
"displayName": "Recibo de Fatura\"",
"description": "Recibo de Fatura\"",
"navigationFolderId": null
},
{
"id": "e30288af-6989-4a30-9792-3c7f5735db56",
"displayName": "Relatorio sem fitro de casos",
"description": null,
"navigationFolderId": null
}
] |
Para seguirmos o fluxo apresentado iremos utilizar o relatório de ID: a4127383-3229-420f-bd47-c795c2af5ebd.
...
É importante lembra que um relatório pode conter parâmetros para sua geração, caso não tenha domínio dessa informação basta consultar o endpoint "Busca de Parâmetro"
O endpoint irá retornar os parâmetros necessários para solicitação do relatório. Iremos utilizar o campo "Nome" do parâmetro associado o tipo de valor exigido pelo mesmo.
Bloco de código |
---|
[
{
"name": "pCodEscr",
"displayName": "Código do Escritório",
"type": "string",
"multiValue": true
},
{
"name": "pCodFatura",
"displayName": "Código da Fatura",
"type": "string",
"multiValue": false
},
{
"name": "pNomeSocio",
"displayName": "Nome do Sócio da Fatura",
"type": "string",
"multiValue": false
}
] |
Neste momento temos o id do relatório e o name do parâmetros necessários para geração (pCodEscr, pCodFatura e pNomeSocio). Podemos perceber que o parâmetro "pCodEscr" é multi valorado (multiValue: true), isso significa que o parâmetro recebe uma lista de valores.
Para solicitar a geração utilizamos o endpoint abaixo:
Nesta requisição, como mencionado anteriormente, utilizaremos todos os dados reunidos até o momento. Cada solicitação é exclusiva de acordo com os parâmetros necessários, neste caso apresentamos a forma em que os parâmetros serão enviados no corpo (body) da requisição conforme o cenário apresentado.
Bloco de código |
---|
{
"pCodEscr": ["SP001", "SP001"],
"pCodFatura": "000000180",
"pNomeSocio": "Fulano de Tal"
} |
O retorno dessa requisição é o ID de geração que nós guiara na proxima etapa.
Bloco de código | ||||
---|---|---|---|---|
| ||||
"3b845650-3972-49ae-9b5c-32f02423782b" |
O download nada mais é do que uma forma de salvar o relatório gerado localmente em um formato especifico desejado, para fazer o download será preciso informar o ID da geração do relatório e o formato para download desejado.
GET: /api/reports/v1/generated/{id-da-geração}/{formato}
Formatos disponíveis: PDF, XLS, XLSX, RTF, DOCX, MHT, HTML, TXT, CSV, JPEG e PNG.
Ao fim da requisição será possível visualizar o relatório no formato escolhido e fazer o seu download.
As APIs publicas estão disponíveis em qualquer instalação do TReports e suas operações estão documentadas via Swagger.
Informações |
---|
Documentação no swagger: Api publica para integração; Para realizar testes é necessário o uso de alguma aplicação que simule requisições http; |
...
Tendo um relatório previamente cadastrado é possível fazer sua busca pelo sistema, ela pode ser feita pelo respectivo seu id, nome ou descrição do relatório ou pela pasta que ele pertence, sendo necessário apenas especificar corretamente qual tipo da busca desejada conforme mostra na documentação, também é possível fazer a procura dos parâmetros do relatório, parâmetros esses que serão necessários atribuir valor no momento da geração para se concluir com sucesso, feito isso, o download desse relatório ficará disponibilizado em diversos formatos no tempo que foi especificado.
...
Bloco de código | ||||
---|---|---|---|---|
| ||||
[ { "name": "parametro", "displayName": "parametro", "type": "string", "multiValue": true } ] |
...
Para fazer a geração é necessário informar o ID do Relatório, o tempo que a geração ficara disponível para consultas e seu parâmetro, caso já tenha sido previamente cadastrado.
...
Caso o relatório possua parâmetros cadastrados é necessário informar no body da requisição:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "nome-do-parâmetro":"valor-desejado-do-parâmetro" } |
O retorno dessa requisição é um código HTTP 200 e informa o ID de geração que será utilizado para fazer o download do relatório desejado.
Exemplo de resposta:
Bloco de código | ||||
---|---|---|---|---|
| ||||
"3b845650-3972-49ae-9b5c-32f02423782b" |
...
O download nada mais é do que uma forma de salvar o relatório gerado localmente em um formato especifico desejado, para fazer o download será preciso informar o ID da geração do relatório e o formato para download desejado.
...