Í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.
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:
[
{
"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:
{
"viewer": "http://localhost:7017/pivot-tables/{pivotTableId}/view?access_token={accessToken}&refresh_token={refreshToken}&scope={scope}&token_type={tokenType}&expires_in={expiresIn}¶meters={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:
[
{
"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:
[
{
"name": "pAplicacao",
"value": ["TReports"],
"visibility": "Default"
},
{
"name": "pPlataforma",
"value": ["Windows"],
"visibility": "Hidden"
},
{
"name": "pVersao",
"value": ["0.0.0+0"],
"visibility": "Disabled"
}
]
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.