BPM

Importação de dados agendada

620 views 03/02/2020 03/09/2020 lucas-reichert 2

1 – Obter a API de integração table-import-csv (versão 1.0.9),  clicando aqui.

2 – Criar uma chave de aplicativo para autenticação
Na plataforma Senior X, acessar o menu “Tecnologia > Administração > Gerenciamento de Aplicações”, cadastrar um aplicativo e gerar a chave e senha (accessKey e secret)

Criação aplicação para geração de crecendiais

Depois de cadastrar o app, ir em gerenciar chaves e “Gerar Chave”.

Gerar chaves
Obter chaves

 

Após a criação da chave, devemos associar a permissão para esse aplicação. Para importação, devemos ter as permissões de importar tabela do ECM.

3 – Criar a tabela no BPM

É preciso criar a definição da estrutura de dados da tabela para poder utilizar o recurso.
Em Plataforma: “BPM > Configurações > Tabelas > Configurar” criar a tabela com as definições a serem importadas.

Criando a tabela

Pode-se utilizar o “Tabelas > Importar” para carregar as definições automaticamente a partir do CSV e até mesmo já importar os dados diretamente.

4 – Criar a fonte de dados para utilização da tabela

Para disponibilizar os dados da tabela é necessário criar uma fonte de dados. É a fonte de dados que provê a API para consumir os dados.

Em Plataforma: “BPM > Configurações > Fonte de Dados” criar a fonte de dados para a respectiva tabela. Em formato utilizar o tipo “Tabela” e na sequência selecionar a tabela correspondente.

Criando a fonte de dados

5 – Configurar arquivo de propriedades da API

A API table-import-csv necessita de um arquivo de propriedades com as configurações da integração. O arquivo deve ser salvo no mesmo diretório onde está a API (arquivo .jar). O arquivo deve conter as configurações conforme exemplificado abaixo.

accessKey=mIVldskfjslkfdfjsHHh2gfgUxWxga
secret=faU5BMLdlfdsajhsedakfdlvkccv_fD_54Yka
tenantName=nome_tenant
file=C:/diretório-integracao/produtos.csv
tablename=produtos
csv.delimiter=";"

Accesskey e secret são os valores obtidos na geração da chave do aplicativo na plataforma.
tenantName é o nome do tenant do cliente.
file é o caminho completo para o arquvo csv com os dados a serem enviados. O arquivo deve ser criado pelo cliente seja manualmente ou de forma automatizada. É importante observar a limitação do tamanho do arquivo é de 500 kb.
tablename é o nome da tabela criada no BPM.                                                                                                                                                                                                                                                                              csv.import se informado, será o caracter separador de colunas, o padrão será o caracter “,” (vírgula).

NOTAS:
Recomenda-se que o nome do arquivo de propriedades tenha o mesmo nome do atributo tablename por questão de padronização. Exemplo “produtos.properties”.

6 – Executando o integrador

Para rodar o integrador deve ser executado o arquivo .jar da API via prompt de comando

java -jar table-import-csv-1.0.8.jar [arquivo .properties]>[arquivo.log]

Exemplo:

java -jar table-import-csv-1.0.8.jar produtos.properties>produtos.log
java -jar table-import-csv-1.0.8.jar clientes.properties>clientes.log

O comando irá gerar uma saída no arquivo.log no mesmo diretório.
No caso de sucesso o arquivo conterá o seguinte:
Importação iniciada com sucesso, o usuário admin irá receber uma notificação na plataforma G7 quando a importação for concluída.

7 – Criando um processo automático (batch)

É possível automatizar a execução do integrador utilizando execução de processo automático de regra da G5.
Para isso deve-se criar um .bat similar ao que segue:

cd c:\integracao\importcsv
java -jar table-import-csv-1.0.8.jar produtos.properties>produtos.log
java -jar table-import-csv-1.0.8.jar clientes.properties>clientes.log

Criar a regra LSP para execução do bat

Definir alfa comma;
comma = "/c C:\\marcio.poffo\\SENIOR\\importcsv\\run.bat";
execprog("c:\\WINDOWS\\system32\\cmd.exe", comma,1);

Então é só agendar a regra em processo automático.
NOTA: outro processo automático deve atualizar o arquivo csv de forma sincronizada com o agendamento da execução do integrador.

8 – Utilizando a API em frontend (para desenvolvedores)

URL: https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/platform/ecm_form/actions/getResultSet

Header

Authorization:Bearer [token]
Content-Type:application/json;charset=UTF-8

Payload exemplo:

{
"dataSource": "produtos",
"token": "41d66c47612ebd064a399152a4c50f44",
"dataSourceField": "codigo",
"searchingValue": "",
"filters": [
{
"fieldName": "codigo",
"operator": "≥","value": "2"
}],
"skip": 0,
"top": 10
}

Response exemplo:

{"data": "{"value":[{"codigo":33,"nome":"Note Dell ","precounitario":4244.0,"unidade":"UN"}]}"}

Ou seja, tem que fazer um parse de “data” e obter o array do “value”.

Este artigo foi útil para você?