Árvore de páginas

Índice


       

Objetivo


       O objetivo da API de Integração de Tabelas Dinâmicas do TReports é promover uma forma de consultar e manipular tabelas dinâmicas dentro do ERP TOTVS. 

Informações

As APIs públicas de Tabelas Dinâmicas estão disponíveis em qualquer instalação do TReports a partir da versão 1.6 e suas operações estão documentadas via Swagger.

Busca de Tabelas Dinâmicas


A "busca de tabelas dinâmicas" é uma API que retorna as tabelas cadastradas no sistema. Através dessa API é possível buscar apenas as tabelas as quais o usuário possui permissão de acesso, sejam elas de sua própria criação ou que tenham sido compartilhadas com o usuário de forma única ou através de pastas.

A busca possui a funcionalidade de filtro por Nome ou Descrição da tabela dinâmica, onde é necessário enviar no mínimo 3 caracteres para a pesquisa. Dessa forma, as Tabelas Dinâmicas que tiverem esses caracteres em comum em seu Nome de exibição ou Descrição serão retornados. Existe ainda a funcionalidade de busca através do ID de pasta, dessa forma serão retornadas as tabelas que estejam vinculadas à pasta informada.

Detalhes da implementação são encontrados no endpoint abaixo:


Abaixo temos um exemplo da lista de tabelas dinâmicas retornada pela API:

Response Body
[
    {
        "id": "5de91591-66bb-4615-9e7a-5fe55ccb584d",
        "displayName": "Pedidos Realizados",
        "description": "Tabela de Pedidos Realiados",
        "navigationFolderId": null
    },
    {
        "id": "2f670be2-679b-401e-a0b6-7f95a2ac8b28",
        "displayName": "Pessoas Registradas",
        "description": "Tabela de Pessoas Registradas",
        "navigationFolderId": null
    },
    {
        "id": "9f6977fa-0e37-43a3-a301-78ca1eeb040a",
        "displayName": "Produtos",
        "description": "Tabela de Produtos Cadastrados",
        "navigationFolderId": null
    }
]

Hyperlink para Integração com Viewer Externo


O "hyperlink para integração com viewer externo" é uma API que retorna quais são as rotas de integração por interface com as funcionalidades de Tabela Dinâmica. Seu objetivo é facilitar a integração com o visualizador do ERP TOTVS ou acesso diretamente pelo browser, informando qual deve ser a rota a ser acessada para exibir uma Tabela Dinâmica.

A API possui os parâmetros opcionais abaixo:

  • pivotTableId;
  • accessToken;
  • expiresIn;
  • tokenType;
  • refreshToken;
  • scope;
  • parameters;

Caso algum parâmetro não seja informado, a API retornará um valor TEMPLATE. Caso os parâmetros sejam informados, a API retornará a rota com esses valores preenchidos. 

Detalhes da implementação são encontrados no endpoint abaixo:

Abaixo temos um exemplo de hyperlink retornado pela API, sem que nenhum parâmetro tenha sido informado:

Response Body
{
    "viewer": "http://localhost:7017/pivot-tables/{pivotTableId}/view?access_token={accessToken}&refresh_token={refreshToken}&scope={scope}&token_type={tokenType}&expires_in={expiresIn}&parameters={parameters}&hidemenus=true"
}

Os parâmetros do recurso são enviados em estrutura JSON codificada como BASE64, e devem ser informados no formato abaixo, informando o Nome, Valor e Visibilidade do Parâmetro:

Formato da estrutura de Parâmetros
[
	{
		"name": "nome do parâmetro",
		"value": "valor do parâmetro",
		"visibility": "Default" | "Hidden" | "Disabled" 
	},
	{
		"name": "nome do parâmetro 2",
		"value": "valor do parâmetro 2",
		"visibility": "Default" | "Hidden" | "Disabled"
	}
]

O campo Visibilidade, possui 3 opções, sendo elas:

  • Default: Visibilidade padrão do parâmetro, onde o valor enviado pode ser alterado.
  • Hidden: Visibilidade onde o parâmetro não é exibido para o usuário, será enviado com o Valor preenchido no parâmetro.
  • Disabled: Visibilidade onde o parâmetro é exibido, mas o valor não pode ser alterado pelo usuário.

O exemplo abaixo contém o envio dos parâmetros com cada uma das visibilidades descritas:

Formato da estrutura JSON de Parâmetros
[
	{
		"name": "pAplicacao",
		"value": ["TReports"],
		"visibility": "Default"
	},
	{
		"name": "pPlataforma",
		"value": ["Windows"],
		"visibility": "Hidden"
	},
	{
		"name": "pVersao",
		"value": ["0.0.0+0"],
		"visibility": "Disabled"
	}
]
Envio de Parâmetros em Base64
WwoJewoJCSJuYW1lIjogInBBcGxpY2FjYW8iLAoJCSJ2YWx1ZSI6IFsiVFJlcG9ydHMiXSwKCQkidmlzaWJpbGl0eSI6ICJEZWZhdWx0IgoJfSwKCXsKCQkibmFtZSI6ICJwUGxhdGFmb3JtYSIsCgkJInZhbHVlIjogWyJXaW5kb3dzIl0sCgkJInZpc2liaWxpdHkiOiAiSGlkZGVuIgoJfSwKCXsKCQkibmFtZSI6ICJwVmVyc2FvIiwKCQkidmFsdWUiOiBbIjAuMC4wKzAiXSwKCQkidmlzaWJpbGl0eSI6ICJEaXNhYmxlZCIKCX0KXQ==

Com a URL do Viewer configurada, é possível acessar o browser para visualização, onde será apresentada a tabela dinâmica com os parâmetros informados, respeitando os valores e visibilidade enviados.