Árvore de páginas

Versões comparadas

Chave

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

Índice


       

Índice
exclude.*ndice
printablefalse

Objetivo

...


O objetivo da API de Integração de Tabelas Dinâmicas do

...

Smart View é promover uma forma de consultar e manipular tabelas dinâmicas dentro do ERP TOTVS. 

Download de Arquivo

Neste modelo iremos demonstrar com o fluxo onde é solicitado a geração de um relatório para o sistema.

É apresentado um cenário em que o relatório já esteja previamente cadastrado, e para prosseguirmos com o fluxo é necessário que tenhamos a informação do identificador do relatório.

Iniciaremos o fluxo buscando pelo identificador do relatório (id) na API de busca de relatório onde seguiremos nas etapas de busca de parâmetros, solicitação de geração finalizando na API de download do arquivo gerado.

Busca de Relatório

...

Informações
titleInformações

As APIs públicas de Tabelas Dinâmicas estão disponíveis em qualquer instalação do Smart View 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:

...

Image Added

Abaixo temos um exemplo da lista de

...

tabelas dinâmicas retornada pela API

...

:

...

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

...

1234
    }

...


]

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 Tabela Dinâmica. 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 Tabela Dinâmica.

A API possui os seguintes parâmetros:

  • pivotTableId;
  • 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:

Image Added

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

Bloco de código
languagetext
themeRDark
titleResponse Body
{
    "viewer": "http://localhost:7017/pivot-tables/{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 Tabela Dinâmica 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 Tabela Dinâmica selecionada, utilize a API abaixo para consultá-los:

Image Added

Nota: O resourceType para essa consulta deve ser "pivot-table".

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:

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

Busca de Parâmetros 

É importante lembrar que um relatório pode conter parâmetros para sua geração, caso não tenha conhecimento da existência de parâmetros para o relatório selecionado, basta consultar a API abaixo.

Image Removed

A "busca de parâmetros" lista todos os parâmetros necessários para que o relatório posso ser executado, utilizaremos o valor do campo "name" de cada parâmetro para a próxima etapa.

Bloco de código
themeRDark
[
    {
        "name": "pCodEscr",
        "displayName": "Código do Escritório",
        "type": "string",
        "multiValue": true
    },
    {
        "name": "pCodFatura",
        "displayName": "Código da Fatura",
        "type": "number",
        "multiValue": false
    },
    {
        "name": "pNomeSocio",
        "displayName": "Nome do Sócio da Fatura",
        "type": "string",
        "multiValue": false
    }
]

Solicitação de Geração de um Arquivo

O endpoint "Solicitar Geração de um Arquivo" é uma API utilizada para solicitar a geração de um arquivo para o relatório escolhido, desde o início do fluxo coletamos informações importantes para utilização deste endpoint. Utilizaremos o identificador do relatório id: a4127383-3229-420f-bd47-c795c2af5ebd e o valor da propriedade "name" de cada parâmetro necessário para geração "pCodEscr", "pCodFatura" e "pNomeSocio".

É importante destacar que alguns parâmetros podem ser Multivalorados, ou seja, podem receber mais de um valor. Este tipo de parâmetro é reconhecido quando sua propriedade "multiValue" está definida como "true".

No caso do exemplo, é possível perceber que o parâmetro "pCodEscr" é multi valorado "multiValue: true", ou seja, o parâmetro recebe uma lista de valores.

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

Image Removed

...

:

Bloco de código
themeRDark
title

...

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"
	}
]
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 tabela dinâmica com os parâmetros informados, respeitando os valores e visibilidade enviados.

Image Added

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).


Informações
iconfalse
Informações
iconfalse

Produto: Framework

Informações
iconfalse

Processo: Smart View

Informações

Versão: 1.6.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

...

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

Download do Arquivo

Em nossa última etapa do fluxo utilizaremos o identificador da geração "3b845650-3972-49ae-9b5c-32f02423782b"  da etapa anterior para requerer o download do arquivo. 

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

Image Removed

...

Excel a partir de 2010

...

html

...

Nota

Podem acontecer situações em que o relatório solicitado ainda não tenha sido gerado, sendo assim, a retornará um erro de 'não encontrado'. Basta refazer a requisição até que o arquivo esteja disponível.

Viewer Externo

Depois que o cadastro de um relatório foi feito, para que ele seja disparado em alguma extensão do ERP TOTVS, é preciso fazer a integração para ativar a geração do mesmo, sendo assim, é preciso utilizar o hyperlink que monta os links disponíveis para integração com visualizador.
Para iniciar o fluxo precisamos ter conhecimento do id de relatório que desejamos executar, caso não saiba essa informação, utilizaremos a busca de relatório para buscar essa informação.

Busca de Relatório

A "busca de relatório" é uma API que retorna os relatórios cadastrados no sistema, é possível buscar apenas os relatórios em que o usuário tem permissão de acesso, sejam eles de sua própria criação, compartilhados via pasta ou compartilhamento único. Assim como na interface do sistema, a busca possui a funcionalidade de filtro onde é necessário enviar no mínimo 3 caracteres para pesquisa, dessa forma, os relatórios que tiverem esses caracteres em comum em seu nome de exibição ou descrição serão retornados. 

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

Image Removed

Abaixo temos um exemplo da lista de relatórios retornados pela API, utilizaremos o relatório com id: cd767d3f-ec71-4c1a-8143-c6645dd8f63c como exemplo para dar continuidade em nosso fluxo de uso na próxima etapa.

Bloco de código
themeRDark
titleResponse Body
[	
	{
        "id": "a4127383-3229-420f-bd47-c795c2af5ebd",
        "displayName": "Recibo de Fatura (JU203b) ",
        "description": "Recibo de Fatura (JU203b) - Grupo de Estudos",
        "navigationFolderId": 1
    },
    {
        "id": "cd767d3f-ec71-4c1a-8143-c6645dd8f63c",
        "displayName": "Recibo de Fatura\"",
        "description": "Recibo de Fatura\"",
        "navigationFolderId": null
    },
]

Hyperlinks para integração

Os links retornados na requisição de Hyperlinks são utilizados para visualização de integrações feitas com o sistema, sendo uma delas a de Visualização, dessa forma, é possível abrir o TReports utilizando todos os seus recursos em um navegador.

O endpoint que utilizaremos para esse fluxo:

Image Removed

Para utilizar essa requisição vamos precisar de um ID de um relatório existente, nesse caso, utilizaremos o ID buscado na requisição de busca: cd767d3f-ec71-4c1a-8143-c6645dd8f63c

Os demais parâmetros podem ser informados por meio de QueryString ou diretamente na URL retornada. Esses parametros são as informações do token do usuário que irá abrir a interface da integração, essas informações são utilizadas para realizar contextualização e verificação de permissões.

...

Image Removed

...

titleInformações

...