Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Explicação sobre envio de contexto de licença pelo hyperlink

Índice


       

Índice
exclude.*ndice
printablefalse

Objetivo


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

Informações
titleInformações

As APIs públicas de Visão de Dados estão disponíveis em qualquer instalação do TReports 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:

Image RemovedImage Added

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

Bloco de código
themeRDark
titleResponse Body
[
    {
        "id": "5de91591-66bb-4615-9e7a-5fe55ccb584d",
        "displayName": "Pedidos Realizados",
        "description": "Visão de Pedidos Realizados",
        "navigationFolderId": null
    },
    {
        "id": "2f670be2-679b-401e-a0b6-7f95a2ac8b28",
        "displayName": "Pessoas Registradas",
        "description": "Visão de Pessoas Registradas",
        "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


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

A API possui os seguintes parâmetros abaixo:

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

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

Detalhes Os detalhes da implementação são encontrados estão disponíveis no endpoint abaixo:

Image RemovedImage Added

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

Bloco de código
themeRDark
titleResponse 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:

Image Added

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

Após obter os parâmetros do recurso, eles devem ser enviados em uma Os parâmetros do recurso são enviados em estrutura JSON codificada como BASE64, e devem ser informados no seguinte formato abaixo, informando que inclui o Nome nome, Valor valor e Visibilidade visibilidade do Parâmetroparâmetro:

Bloco de código
themeRDark
titleFormato 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:

Bloco de código
themeRDark
titleFormato 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"
	}
]
Bloco de código
titleEnvio 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.

Image Added

Abono de licenças


Para visualizar a Visão de Dados usando o hyperlink, é necessário ter uma Licença TOTVS I. Quando o ERP consumir a API de hyperlink de Visão de Dados, ele poderá fornecer o contexto de licença em uma estrutura JSON codificada em BASE64.

Abaixo está um exemplo de contexto de licença em estrutura JSON:

Bloco de código
themeRDark
titleFormato da estrutura JSON do contexto de licença
{
    "federalId": "11111111111111",
    "mainThreadId": <MainThread do Produto TOTVS>,
    "threadId": 999999,
    "moduleId": "<Módulo do Produto TOTVS>",
    "actionName": "<Rotina do Produto TOTVS>",
    "licenseServer": {
        "hostname": "<Ip do License Server>",
        "port": <Porta do License Server>
    },
    "client": {
        "hostname": "<Ip do Produto TOTVS>",
        "port": <Porta do Produto TOTVS>
    },
    "user": {
        "name": "<Usuário do Produto TOTVS>",
        "isFullDeterminado": false,
        "credentials": null
    }
}
Bloco de código
titleEnvio do contexto de licença em base64
eyJmZWRlcmFsSWQiOiIxMTExMTExMTExMTExMSIsIm1haW5UaHJlYWRJZCI6IjxNYWluVGhyZWFkIGRvIFByb2R1dG8gVE9UVlM+IiwidGhyZWFkSWQiOjk5OTk5OSwibW9kdWxlSWQiOiI8TW9kdWxvIGRvIFByb2R1dG8gVE9UVlM+IiwiYWN0aW9uTmFtZSI6IjxSb3RpbmEgZG8gUHJvZHV0byBUT1RWUz4iLCJsaWNlbnNlU2VydmVyIjp7Imhvc3RuYW1lIjoiPElwIGRvIExpY2Vuc2UgU2VydmVyPiIsInBvcnQiOiI8UG9ydGEgZG8gTGljZW5zZSBTZXJ2ZXI+In0sImNsaWVudCI6eyJob3N0bmFtZSI6IjxJcCBkbyBQcm9kdXRvIFRPVFZTPiIsInBvcnQiOiI8UG9ydGEgZG8gUHJvZHV0byBUT1RWUz4ifSwidXNlciI6eyJuYW1lIjoiPFVzdeFyaW8gZG8gUHJvZHV0byBUT1RWUz4iLCJpc0Z1bGxEZXRlcm1pbmFkbyI6ZmFsc2UsImNyZWRlbnRpYWxzIjpudWxsfX0===

O abono se dá pela combinação do mainThreadId + moduleId + client:hostname + client:port + user:name. Esses valores devem ser preenchidos com os mesmos valores utilizados pelo ERP que está solicitando o hyperlink de integração com a Visão de Dados para que ocorra o abono pelo License Server.Image Removed

Informações
iconfalse
Informações
iconfalse

Produto: Framework

Informações
iconfalse

Processo: TReports 

Informações

Versão: 1.7.X

Informações
iconfalse
Informações
iconfalse

Status: Rascunho

Informações
iconfalse

Data:  

Informações
iconfalse

Autores
 Aline Cristina Braz de Oliveira 

Cesar Henrique Silva Rodrigues_ 

Diogo Damiani Ferreira

Usuário desconhecido (fernando.souza)

Usuário desconhecido (samuel.frederico) 

Wemerson Marcelo Martins Guimarães 


Page Tree