Apresentar ao usuário final, que faça uso da plataforma Carol para marcações de ponto dos colaboradores, como configurar o Protheus para habilitar a integração automática de marcações.
ESTE DOCUMENTO SOMENTE TERÁ UTILIDADE PARA CLIENTES QUE JÁ UTILIZAM A PLATAFORMA CAROL, CASO CONTRÁRIO NÃO SERÁ POSSÍVEL A REALIZAÇÃO DESTA CONFIGURAÇÃO. |
A configuração da integração entre a Carol e Protheus se baseia na configuração de um Schedule que será executado em intervalos previamente definidos, acionando as API's da Carol ou a rotina cadastrada em Menu:
O CAMPO PISCODE NA PLATAFORMA CAROL É OBRIGATÓRIO PARA A INTEGRAÇÃO CORRETA COM O PROTHEUS, POIS SE TRATA DE UMA INFORMAÇÃO CHAVE PARA O SISTEMA. |
O cliente utiliza a Carol para as marcações de ponto dentro da empresa, esta empresa possui diversos dispositivos espalhados pela organização.
O Protheus será o responsável por acionar a plataforma Carol, buscar as informações contidas em cada dispositivo e armazenar os registros dentro do módulo SIGAPON. Nos próximos tópicos, os passos serão detalhados:
Para que haja a devida integração entre os dois sistemas, se faz necessário preencher os parâmetros abaixo:
Parâmetro | Descrição do Parâmetro | Tipo | Exemplo de utilização |
---|---|---|---|
MV_APICLO0 | Clock In da Carol - Utiliza integração com Carol Clock in? | Lógico | Exemplo: .T. |
MV_APICLO1 | Clock In da Carol - Endereço de Acesso ao EndPoint | Caractere | |
MV_APICLO2 | Clock In da Carol - Patch de Acesso ao EndPoint. | Caractere | api/v2/oauth2/token |
MV_APICLO3 | Clock In da Carol - ID de Conexão de Acesso. | Caractere | clockinmobile |
MV_APICLO4 | Clock In da Carol - Username de Acesso ao EndPoint. | Caractere | username@totvs.com.br |
MV_APICLO5 | Clock In da Carol - Password de Acesso ao EndPoint. | Caractere | senha1 |
MV_APICLO6 | Clock In da Carol - Domain Name de Acesso EndPoint. | Caractere | domínioCliente |
MV_APICLO7 | Clock In da Carol - Path do EndPoint DeviceList. | Caractere | api/v2/queries/named/deviceList |
MV_APICLO8 | Clock In da Carol - Path EndPoint clockinrecordsList. | Caractere | api/v2/queries/named/clockinrecordsList |
MV_APICLO9 | Clock In da Carol - Nome da Organização de acesso EndPoint | Caractere | ambiente |
MV_APICLOA | Clock In da Carol - Codigo do API Token (Connector Token) | Caractere | 00a00a0a000007e597b39b8a07qw5f60 |
MV_APICLOB | Clock In da Carol - Define se na integração com Carol Clock In será efetuada pesquisa por lacuna na numeração do NSR (.T.) ou se será efetuado pesquisa a partir do último NSR gravado (.F.) | Lógico | Exemplo: .T. |
MV_APICLOC | Define se será gerado o log de integração com a Carol. .T. = Gera o log; .F. = Não gera o log | Lógico | Exemplo: .T. |
MV_APICLOD | Define se a integração utilizará a tabela RR1 ou MSA_CONTROL_MARCAC. .T. = RR1 .F. = MSA | Lógico | Exemplo: .T. |
A criação destes parâmetros estará disponível apenas na 12.1.27 e caso o cliente possua a plataforma Carol e versão inferior a citada e deseja integrar com o módulo SIGAPON no Protheus, deverá criar manualmente os parâmetros. |
1. Após a criação do parâmetro MV_APICLOA, o sistema sempre irá realizar a primeira tentativa de autenticação utilizando o API Token (MV_APICLOA). Caso o Token esteja inválido, será realizada uma tentativa de autenticação por usuário e senha. O Log de erro de integração só será exibido se ambas as tentativas de autenticação falharem. |
Para cadastro do relógio, basta acessar no SIGAPON/CADASTRO DO PONTO/RELÓGIOS e preencher os dados da aba geral com atenção especial para os campos:
Somente será permitido deixar o campo Rep em branco se o parâmetro MV_APICLO0 estiver como .T. . |
A rotina desenvolvida para a realização de todo o fluxo de requisição para a Carol foi nomeada de PONAPI01, esta rotina não estará disponibilizada em Menu ou pré-carregada no Schedule.
O Processo de Cadastramento será o mesmo utilizado por outras rotinas:
Para eventual manutenção na rotina de leitura dos marcações da Carol, é possível utilizar os parâmetros abaixo afim de realizar alguns filtros específicos. Estes parâmetros não são obrigatórios. Caso não sejam informados, a rotina utilizará a sequência de marcações para realização da importação dos dados. Os parâmetros opcionais são:
Parâmetro | Observação | Obrigatório | Tipo | Exemplo |
---|---|---|---|---|
lWork | Informa se a rotina está sendo executada via processo em segundo plano. | Não | Lógico | .F. |
dInicio | Data de inicio para buscar as marcações de ponto | Não | Data | STOD("20000101") |
dFinal | Data Final para buscar as marcações de ponto | Não | Data | dDatabase |
cCoDisp | Código específico do dispositivo para buscar as marcações. | Não | String | 38b0dc89a20aaf49 |
nCodNSR | Código do NSR a ser utilizado para buscar as marcações. | Não | Inteiro | 00 |
Obs.: O parâmetro nCodNSR somente deverá ser utilizado quando for necessário realizar buscar uma marcação específica, pois o Protheus já busca todas as marcações atuais.
Ao configurar a rotina para execução automática (Schedule), os parâmetros (lWork, dInicio, dFinal, cCoDisp e nCodNSR) não deverão ser informados. |
Para realizar requisições para a Carol, será necessária a configuração do SSL no Appserver. Atualmente a Carol utiliza a versão SSL 1.3 e por este motivo é necessária a configuração do SSL por parte do Protheus. Segue abaixo um exemplo da configuração:
Para mais informações de como realizar a configuração do SSL no AppServer, no final da desta documentação, em anexos, estará disponível o link do passo a passo de como realizar a configuração.
Cadastro de Rotina
Preenchimento da periodicidade dos acionamentos:
Interface de Agents.
Gerenciamento da fila e execução dos agents.
Tela de listagem de menus
Tela de configuração do menu escolhido
Para possibilitar o acompanhamento da integração do Protheus com a Carol, será apresentado algumas mensagens em tela caso o acionamento seja manual pelo menu ou no console.log, quando a rotina for acionada via Schedule.
<!-- esconder o menu --> <style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |