Árvore de páginas

Versões comparadas

Chave

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

...

Geração de relatório via visualizador

...

Tendo um




Issuer

...

 Para realizar a integração com as APIs é necessário o envio do Access Token no campo Authorization do Header em todas as requisições e também é necessário  A requisição de Issuer é utilizada para fazer a verificação de disponibilidade da segurança através do produto. Com isso o produto pode validar se o TReports utilizado está devidamente configurado para receber as requisições que serão feitas.

GET: /api/security/v1/issuers

O retorno dessa requisição é o provider utilizado, displayName e utilizado e o Issuer.

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.

Exemplo:

Diferente da interface, na API não tem separação em contextos ('Meus Relatórios' "Relatórios Compartilhados') então, o retorno é sempre todos os relatórios que contém no nome ou na descrição o filtro inserido.

GET: /api/reports/v1/resources

  • O filtro de relatórios é passado dessa forma ao final da URL:
    ?q={nome-do-Relatorio}

  • O filtro de Pastas é passado dessa forma ao final da URL:
    ?NavigationFolderId={ID-da-Pasta}

    Informações

    O filtro funciona assim como a própria busca via interface, ou seja, digitando no mínimo 3 caracteres já é possível buscar o nome de relatórios baseados naquilo que foi escrito. 

    A resposta dessa chamada retornará um código HTTP 200 e o ID do(s) relatório(s) pesquisado(s), o displayName que é o nome de criação, a description e o navigationFolderId que informa se aquele relatório pertence a alguma pasta, se pertencer é mostrado o ID da pasta, se não, é mostrado 'Null'.

    Exemplo de Resposta:

    Bloco de código
    themeRDark
    titleResponde Body
    linenumberstrue
    [
        {
            "id": "1aa11111-1aa1-1aaa-1a1a-aa1aa1a11a11",
            "displayName": "Relatorio",
            "description": "Relatório utilizado para exemplificar",
            "navigationFolderId": 1
        }
    ]

Busca de Parâmetros

...

Nessa requisição é possivel visualizar os parâmetros cadastrados no relatório pesquisadonecessários para a execução de um relatório.

OPTIONS: /api/reports/v1/resources/{id-do-relatório}/generate

O retorno ifnorma informa o name do parâmetro, displayName, type e se ele é multiValue.

Exemplo de resposta:

Bloco de código
themeRDark
titleResponde Body
[
  {
    "name": "parametro",
    "displayName": "parametro",
    "type": "string",
    "multiValue": true
  }
]

Geração do 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
    {
      "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 retornoresposta:

    Bloco de código
    themeEclipse
    "3b845650-3972-49ae-9b5c-32f02423782b"

...

  • A resposta é preenchida com as informações do relatório desejado e com as informações retiradas do token.


    Exemplo de resposta:

    Bloco de código
    themeRDarkEclipse
    titleResponde Body
    linenumberstrue
    {
        "viewer": "http://localhost:7017/reportsV2/myreports/document-view/{reportId}?access_token={accessToken}&refresh_token={refreshToken}&scope={scope}&token_type={tokenType}&expires_in={expiresIn}&hidemenus=true"
    }
    
    

    Os parâmetros do template podem ser inseridos de acordo com a necessidade do produto, sendo preenchido via QueryString, dessa forma, as URLs retornadas no hyperlink já virão com os parâmetros preenchidos de acordo com as informações colocadas.

    Exemplo de URL enviando QueryString:

    Eclipse
    Bloco de código
    theme
    http://localhost:7017/api/reports/v1/hyperlinks?reportId=192f5b7a-01be-4592-8578-744bb84b9022&accessToken=MEU TOKEN&refreshToken=MEU REFRESH TOKEN&scope=default&tokenType=bearer&expiresIn=TEMPO DE EXPIRAÇÃO

...