Passo a passo: | A integração entre o Protheus e Feedz ocorre para envio dos dados abaixo: - Filiais (SM0) - Funcionários (SRA) - Participantes (também conhecido como Pessoas - RD0 e RDZ) - Cargos (SQ3) - Departamentos (SQB) - Grupos de Contrato (SX5 - Tabela 1C) - Líder dos Funcionários (utilizado quando o cliente tem controle de Hierarquia por uso do App MEU RH ou Portal GCH - SRA + RD0 + RDZ)
As informações enviadas do Protheus para a Feedz, estarão presentes em uma tabela chamada REF, e os dados integrados (com falha ou sucesso) via rotina de Carga Inicial ou Schedule, podem ser visualizados na rotina de Consulta de Lotes.
OBS: para facilitar o entendimento, foram inseridos prints dos processos em todo o passo a passo. Todas as palavras em 'azul', representam uma imagem, para abri-la, basta clicar em cima da palavra com o hiperlink. Exemplo da uma imagem anexada a nossa documentação aqui.
Para que a integração aconteça, é necessário que exista um ambiente criado na plataforma Feedz + token de acesso. O cliente conseguirá esses dados através do seu Agente de Sucesso Feedz, ou seja, no momento de configurar a implantação no Protheus, ele já terá estes dados em mãos.
Para os testes do time de Suporte, serão utilizados os dados do ambiente TESTE abaixo: > URL da Plataforma: https://integrations.feedz.dev/protheus-feedz-etl/ > Token: eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwcm9maWxlX2lkIjo3MjM2MiwiY29tcGFueV9pZCI6MTAyLCJ0aW1lc3RhbXAiOjE3MTA3ODc3MjZ9.8Pb8BM_t2hQ9fNPdL-BUnAgMTMnAqbh8xj3vStEGRg0
Os parâmetros que devem ser preenchidos com estes dados são: → MV_APIFEE1
→ MV_APIFEE2 |
Para que seja possível o envio dos dados, configuração da amarração dos Cargos e Departamentos (explicaremos mais adiante sobre isso) e consulta das informações integradas com sucesso ou não, é necessária a inclusão de algumas rotinas no meu do SIGAGPE.
Para isso, acesse o Configurador - Ambiente - Cadastros - Menus - desmarque todos os menus e selecione apenas o 'Gestão de Pessoal' - clique em OK.
Adicione todos os menus do SIGAGPE à direita da tela para que não tenhamos problema com as demais rotinas existentes no módulo. Para melhor visualização, optei por criar uma nova 'pasta' de menu, chamada Feedz. Você pode definir onde ela será criada, no meu exemplo, criei esta pasta dentro da opção 'Atualizações'. Para isso, basta posicionar em cima do menu já existente e clicar em 'Novo Grupo'. Será aberta uma nova janela, onde você deve informar o nome da nova pasta, após isso, dê um ok.
Após ter criado a nova pasta, posicione sobre ela e clique em 'Novo Item' para iniciarmos a criação dos menus. Vamos criar quatro novas rotinas, que são: → De x Para de Cargos (GPEA944B) → De x Para de Departamentos (GPEA944C) → Integração (GPEM939) → Consulta (GPEM939B)
Quando finalizar a inserção dos quatro menus, clique em 'Gerar' - Arquivo SIGAGPE e Gerar novamente. Após finalizar, os menus já estarão disponíveis no SIGAGPE. OBS: faça esta etapa com o Protheus fechado, utilize apenas o Configurador nesta etapa.
Caso tenha dificuldades na criação da nova pasta e menus, veja este vídeo: |
Dentro do SIGAGPE, teremos que ajustar dados nas tabelas auxiliares S043 e S049, no menu Atualizações - Definições de Cálculo - Manutenção Tabelas.
Na S043, devemos preencher a coluna 'Tipo P&M/Feedz'.
Na S049, devemos preencher a coluna 'Agrupador P&M/Feedz'.
OBS: em ambos casos, o cliente deve decidir sobre qual a forma que considera mais adequada para preenchimento das tabelas. |
O De x Para de Cargos é utilizado quando o cliente utiliza a tabela SQ3 com algum nível de exclusividade. A Feedz não aceita a integração de dois Cargos com o mesmo nome existindo em Filiais diferentes, por este motivo, devemos utilizar esta rotina para 'amarrar' estes dados, de modo que uma única informação seja integrada para a Feedz.
No exemplo a seguir, tenho um Cargo com descrição 'Analista de Suporte' nas filiais M SP 01 e M SP 02. Neste caso, os Cargos tem o mesmo nível/são exatamente iguais, portanto, antes de processar a integração farei a amarração destes dados.
Acessando a rotina De x Para de Cargos, clique em Incluir para iniciar o vínculo entre os dados. Insira o código e descrição como preferir, e clique em Outras Ações - Vincular Cargos. Selecione os Cargos que são equivalentes e clique em Salvar. Após isso, será demonstrada na parte inferior os Cargos vinculados a este cadastro de De x Para, e você pode vincular quantos cargos forem necessários. Finalizando a seleção, basta clicar em Confirmar.
Com isso, teremos nosso cadastro de De x Para do Cargo 'Analista de Suporte' criado e pronto para ser integrado.
A mesma regra é utilizada para os cadastros de Departamentos da tabela SQB, ou seja, caso exista qualquer nível de exclusividade, se faz obrigatório o cadastro de De x Para de Departamentos.
No exemplo a seguir, tenho um Departamento com descrição 'Suporte' nas filiais M SP 01 e M SP 02. Neste caso, os Departamentos tem o mesmo nível/são exatamente iguais, portanto, antes de processar a integração farei a amarração destes dados.
Acessando a rotina De x Para de Departamentos, clique em Incluir para iniciar o vínculo entre os dados. Insira o código e descrição como preferir, e clique em Outras Ações - Vincular Departamentos. Selecione os Departamentos que são equivalentes e clique em Salvar. Após isso, será demonstrada na parte inferior os Departamentos vinculados a este cadastro de De x Para, e você pode vincular quantos departamentos forem necessários. Finalizando a seleção, basta clicar em Confirmar.
Com isso, teremos nosso cadastro de De x Para do Departamento 'Suporte' criado e pronto para ser integrado.
OBS: o De x Para de Cargos e Departamentos só é obrigatório se as tabelas SQ3 ou SQB tiverem algum nível de exclusividade. Caso alguma tabela totalmente Compartilhada, não é necessário nenhum tipo de cadastro de De x Para, por exemplo: se a SQ3 for CCC e a SQB for EEE, não é necessário o De x Para de Cargos, apenas o de Departamentos.
Caso tenha dificuldade na criação do De x Para, veja este vídeo: |
Como não temos um ambiente Quirons para receber os dados, vamos utilizar a ferramenta Webhook para simular o Quirons, através do endereço https://webhook.site/#!/view
Ao acessar o Webhook, será gerada uma URL única, e ela será usada nos cadastros do Protheus.
No SIGAGPE, vamos acessar a rotina de Parâmetros que criamos no passo 3, e faremos o preenchimento desta forma: • URI = nossa URL única gerada no Webhook • Usuário e Senha = você pode informar seu email e qualquer senha, pois como estamos usando o Webhook, estes dados não serão validados efetivamente. |
A última etapa cadastral, se trata do Schedule da rotina GPEM923, para que os dados enviados através da nossa rotina de Carga Inicial, sejam gravados na tabela RJP, e com isso, o Schedule envie os dados da RJP para o Quirons através do nosso arquivo JSON.
Para cadastrar o Schedule, será necessário acessar o Configurador - Ambiente - Schedule - Schedule. Devemos inicialmente cadastrar um Agent na opção de mesmo nome, levando em consideração: • IP = como faremos apenas testes em ambiente interno, podemos informar localhost • Porta = se trata da nossa porta TCP, contida no arquivo appserver.ini do nosso ambiente
Após o cadastro, nosso Agent deve ficar com status Habilitado para o correto funcionamento. OBS: cadastre o Agent vinculado ao Grupo de Empresas em que a integração foi toda configurada.
Por fim, vamos cadastrar o Job da rotina GPEM923, que será a responsável pelo envio dos dados da tabela RJP para o Quirons. • Para isso, vamos na opção Agendamentos e faremos a inclusão com a rotina GPEM923 • Na primeira parte do cadastro, informaremos a recorrência, ou seja, de quanto em quanto tempo queremos que o Job seja executado. Neste exemplo, estamos deixando como Sempre Ativo, ou seja, o Job sempre fará buscas na tabela por qualquer dado novo gravado, para que o envio ao Quirons seja feito em tempo real, porém, o cliente pode definir isso da melhor forma pra ele • Na segunda parte do cadastro, informaremos os dados do Grupo de Empresa, Filial e Módulo • Por fim, vamos conferir nosso cadastro para Concluir.
Após o cadastro, o Job aparecerá com status Habilitado.
Caso tenha dificuldade no cadastro de Agent e Job, veja este vídeo: Configuração do Schedule
|
Com todos os cadastros necessários, estamos prontos para fazer nossa integração funcionar \õ/
No Protheus, vamos acessar a rotina de Carga Inicial e vamos selecionar os dados que queremos integrar para o Quirons.
Após a confirmação de execução da rotina, ao consultar nossa tabela RJP, teremos o dado gravado corretamente, o que significa que podemos conferir o status do envio através da rotina de Monitor de Integração - GPEM924. Para isso, basta buscar o registro que tentamos integrar e clicar em Visualizar.
No Webhook, assim que o Job do Schedule processar o envio, podemos conferir a estrutura do arquivo JSON com os dados integrados.
Caso tenha dúvidas sobre o processo, veja este vídeo: Integrando Protheus x Quirons |
O Postman é uma ferramenta de mercado, onde conseguimos simular o envio de arquivos XML/JSON na integração via Mensagem Única (EAI), simulando integrações com o Protheus, ou seja, ao invés de termos que instalar o outro sistema e aprender como fazer o processo nele, usamos o Postman para simular os testes e validações necessárias. Link para baixar o Postman: https://www.postman.com/downloads/ Cabe ressaltar que usaremos o Postman apenas nos casos onde precisamos simular o consumo de dados no Quirons, por exemplo, se precisamos consumir os dados de um novo Centro de Custo cadastrado. - A API RESTful é uma interface que dois sistemas usam para trocar informações de forma segura pela internet.
- Os Métodos existentes em uma API são como as ações que esta API permite que sejam realizadas através dela:
- DELETE: Método específico para remoção de dados, ou seja, permite deletar dados através da API;
- GET: Método para uma requisição que busca dados, ou seja, ele é usado para consultar dados através da API, não altera informações, apenas as carrega;
- POST: Método para uma requisição que envia dados, ou seja, é usado para inserir informações através da API;
- PUT: Método para atualização de dados, pode ser utilizado quando se deseja atualizar uma informação já existente.
|
|
Neste teste, usaremos o Postman para simular o consumo de dados no Quirons, por exemplo: nos casos onde foi cadastrado um novo Centro de Custo no Protheus, o usuário precisa acessar o Quirons, e através dele fazer o consumo deste dado, para que ele também exista no Quirons. Para isso, usaremos o método GET no Postman e também usaremos esta documentação para sabermos quais parâmetros são chave para que seja feita a requisição dos dados na nossa API.
Simulando o consumo dos dados de um Centro de Custo: • devemos buscar na documentação os parâmetros que serão usados no nosso GET • acessar nosso REST, e procurar pela API informada na documentação, neste caso, a de nome payrollcostcenter. Ao localizá-la, clicar na opção For More Details. Aqui, vamos guardar os dados contidos no GET para usarmos na sequência no Postman • com o Postman aberto, criaremos um novo File e vamos iniciar o preenchimento do nosso GET. Primeiro, vamos informar o endereço do nosso REST + os dados copiados do GET do nosso REST • agora, vamos preencher os parâmetros conforme nossa documentação, informando manualmente um a um e contendo os dados do código de Filial e Grupo de Empresas. Com isso, poderemos ver que a barrinha do nosso GET ficará com todos estes parâmetros também • por fim, vamos clicar na opção Body - deixar marcada a opção None e clicar no Send
Protinho, agora conseguimos visualizar o arquivo JSON contendo os dados do Centro de Custo de código 01, de nome Suporte. Seu teste funcionou certinho =D
Se tiver dúvidas, você pode assistir esse vídeo com o processo: Simulação via Postman x Protheus |
|
|