Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

       

Índice
exclude.*ndice
printablefalse

Objetivo

...

       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:

  • No primeiro modelo iremos demonstrar com o fluxo onde é solicitado a geração de um relatório para o sistema. As premissas a serem seguidas são: É preciso pesquisar o relatorio a ser gerado, posteriormente aplicaremos um filtro nessa busca de relatórios.

Image Added

busca de relatório 

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:

Image Added

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.


busca de parâmetros 

...

É 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"

 Image Added

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
    }
]


Gerando um Relatório

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:

Image Added

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
themeRDark
titleResponde Body
"3b845650-3972-49ae-9b5c-32f02423782b"


Download do Relatório gerado

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


Geração de relatório para download 

...

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
themeRDark
titleResponde Body
[
  {
    "name": "parametro",
    "displayName": "parametro",
    "type": "string",
    "multiValue": true
  }
]

Gerando um Relatório

...

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.

...

  • O 'generate?ttl=' é o tempo em minutos em que o documento gerado ficará disponível, vindo por padrão o valor 1440 e sendo o mínimo aceitável 1 minuto. 
  • Caso o relatório possua parâmetros cadastrados é necessário informar no body da requisição:

    Bloco de código
    themeEclipse
    titleBody
    {
      "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
    themeRDark
    titleResponde Body
    "3b845650-3972-49ae-9b5c-32f02423782b"

Download do Relatório gerado

...

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.

...