Árvore de páginas

Índice


       

Objetivo


       O objetivo da API de Integração de Visão de Dados do Smart View é promover uma forma de consultar e manipular visões de dados dentro do ERP TOTVS. 

Informações

As APIs públicas de Visão de Dados estão disponíveis em qualquer instalação do Smart View a partir da versão 1.7 e suas operações estão documentadas via Swagger.

Busca de Visões de Dados


A "busca de visões de dados" é uma API que retorna as visões cadastradas no sistema. Através dessa API é possível buscar apenas as visões 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 visão de dados, onde é necessário enviar no mínimo 3 caracteres para a pesquisa. Dessa forma, as Visões de Dados 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 visões que estejam vinculadas à pasta informada.

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

Abaixo temos um exemplo da lista de visões de dados retornada pela API:

Response Body
[
    {
        "id": "5de91591-66bb-4615-9e7a-5fe55ccb584d",
        "displayName": "Pedidos Realizados",
        "description": "Visão de Pedidos Realizados",
        "navigationFolderId": null
    },
    {
        "id": "9f6977fa-0e37-43a3-a301-78ca1eeb040a",
        "displayName": "Produtos",
        "description": "Visão de Produtos Cadastrados",
        "navigationFolderId": 1002
    }
]

Hyperlink para Integração com Viewer Externo


A API "Hyperlink para Integração com Viewer Externo" retorna as rotas de integração por interface com as funcionalidades de Visão de Dados. O objetivo dessa API é facilitar a integração com o visualizador do ERP TOTVS ou acesso diretamente pelo navegador, fornecendo a rota a ser acessada para exibir uma Visão de Dados.

A API possui os seguintes parâmetros:

  • dataGridId;
  • accessToken;
  • expiresIn;
  • tokenType;
  • refreshToken;
  • scope;
  • parameters;
  • licenseContext;

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

Os detalhes da implementação estão disponíveis 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/data-grids/{dataGridId}/view?access_token={accessToken}&refresh_token={refreshToken}&scope={scope}&token_type={tokenType}&expires_in={expiresIn}&parameters={parameters}&licenseContext={licenseContext}&hidemenus=true"
}

Busca de parâmetros e envio


Uma Visão de Dados pode conter parâmetros. Para facilitar a integração, é possível incluir esses parâmetros no hyperlink de integração. Caso não tenha conhecimento dos parâmetros da Visão de Dados selecionada, utilize a API abaixo para consultá-los:

Nota: O resourceType para essa consulta deve ser "data-grid".

Após obter os parâmetros do recurso, eles devem ser enviados em uma estrutura JSON codificada como BASE64 e informados no seguinte formato, que inclui 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 visão de dados com os parâmetros informados, respeitando os valores e visibilidade enviados.

Abono de licenças


Para maiores detalhes sobre o como realizar o abono de licenças durante a integração, acesse a documentação no link Consumo de Licenças (página interna).