ÍNDICE

01. OBJETIVO

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.

02. VISÃO GERAL

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.

03. EXEMPLO DE UTILIZAÇÃO

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:

3.1. PARAMETRIZAÇÃO

Para que haja a devida integração entre os dois sistemas, se faz necessário preencher os parâmetros abaixo:

ParâmetroDescrição do ParâmetroTipoExemplo de utilização
MV_APICLO0Clock In da Carol - Utiliza integração com Carol Clock in?LógicoExemplo: .T.
MV_APICLO1Clock In da Carol - Endereço de Acesso ao EndPointCaractere

https://domínioCliente.carol.ai

MV_APICLO2Clock In da Carol - Patch de Acesso ao EndPoint.Caractereapi/v2/oauth2/token
MV_APICLO3Clock In da Carol - ID de Conexão de Acesso.Caractereclockinmobile
MV_APICLO4Clock In da Carol - Username de Acesso ao EndPoint.Caractereusername@totvs.com.br
MV_APICLO5Clock In da Carol - Password de Acesso ao EndPoint.Caracteresenha1
MV_APICLO6Clock In da Carol - Domain Name de Acesso EndPoint.CaracteredomínioCliente
MV_APICLO7Clock In da Carol - Path do EndPoint DeviceList.Caractereapi/v2/queries/named/deviceList
MV_APICLO8Clock In da Carol - Path EndPoint clockinrecordsList.Caractereapi/v2/queries/named/clockinrecordsList
MV_APICLO9Clock In da Carol - Nome da Organização de acesso EndPoint  Caractereambiente
MV_APICLOAClock In da Carol - Codigo do API Token (Connector Token) Caractere00a00a0a000007e597b39b8a07qw5f60
MV_APICLOBClock 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ógicoExemplo: .T.
MV_APICLOCDefine se será gerado o log de integração com a
Carol. .T. = Gera o log; .F. = Não gera o log
LógicoExemplo: .T.
MV_APICLODDefine se a integração utilizará a tabela RR1 ou 
MSA_CONTROL_MARCAC. .T. = RR1 .F. = MSA
LógicoExemplo: .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.
2. Se o API Token estiver inválido e o usuário e senha estiverem corretos, o Protheus irá gerar uma nova API Token e irá armazenar seu conteúdo no parâmetro MV_APICLOA. Com isso o Protheus irá atualizar o API Token para um Token válido e utilizará ele para as integrações futuras.

3.2. CADASTRO DO RELÓGIO CAROL

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:

  1. Controle (P0_CONTROL) = "P"  //Relógio de Ponto
  2. Tipo Arquivo (P0_TIPOARQ) = "R" //Integração com Carol ou TSA
  3. Rep (P0_REP) = "" //Se o relógio for da Carol este campo não deve ser preenchido


Somente será permitido deixar o campo Rep em branco se o parâmetro MV_APICLO0 estiver como .T. .

3.3. SCHEDULE\MENU

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:

3.3.1. PREENCHIMENTO DO SCHEDULE

  1. Acessar o módulo SIGACFG - Configurador;
  2. Acessar o caminho do menu AMBIENTE/SCHEDULE/SCHEDULE;
  3. Clicar na opção Cadastro no calendário de agendamentos, conforme imagem1 da tela no Tópico 05;
  4. O preenchimento é simples e intuitivo para o preenchimento correto do schedule (leia o item 5 abaixo, antes de confirmar o cadastro);
  5. Clique o ícone cinza ao lado do botão de confirmar, pois lá se encontra as informações de periodicidade de acionamento da rotina cadastrada (Imagem 2 do Tópico 05);
  6. Após a confirmação do cadastramento, será necessário habilitar os agents (Imagem 3 do Tópico 05 ), onde você pode cadastrar manualmente ou pressionar o ícone de radar verde no canto superior direito e os agents serão incluídos automaticamente;
  7. Com os agents devidamente cadastrados, o usuário deve pressionar o ícone de pasta do lado esquerdo e ligar Task Manager e Queue Manager (São os gerenciadores da fila de acionamento dos agents) (Imagem 4 do Tópico 05 ).

3.4.1 PREENCHIMENTO DO CADASTRO DA ROTINA NO MENU

  1. Acessar o módulo SIGACFG - Configurador;
  2. Acessar o caminho do menu AMBIENTE/CADASTROS/MENU;
  3. Selecione o módulo\Menu que deseja realizar a inclusão da rotina, conforme imagem 1 do Tópico 05;
  4. Quando clicar em "OK" será aberta uma tela semelhante a imagem 2 do Tópico 05 e você deverá pressionar o primeiro botão central "Adicionar>>" e o menu inteiro será transferido para o lado direito da tela;
  5. Clique na pasta azul que desejar incluir o item da rotina e pressione o botão Novo Item conforme imagem 3 do Tópico 05, desta forma será exibida uma nova tela para inclusão da rotina conforme imagem 4;
  6. Preencha o nome que deseja que apareça no menu e digite o nome da rotina citada no início deste documento PONAPI01, conforme imagem 4;
  7. Confirme o cadastro e clique no botão central de Gerar;
  8. O Sistema exibirá uma mensagem solicitando o nome do xnu que será gerado, sugerimos manter o mesmo nome do xnu padrão ex.

3.4. DETALHES DO PONAPI01

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

lWorkInforma se a rotina está sendo executada via processo em segundo plano.NãoLógico.F.
dInicioData de inicio para buscar as marcações de pontoNãoDataSTOD("20000101")
dFinalData Final para buscar as marcações de pontoNãoDatadDatabase
cCoDispCódigo específico do dispositivo para buscar as marcações.NãoString

38b0dc89a20aaf49

nCodNSRCódigo do NSR a ser utilizado para buscar as marcações.NãoInteiro00

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. 

Devido ao tamanho da string trafegada entre os sistemas, pode haver estouro de string caso os parâmetros citados a seguir não estejam configurados no appserver.ini, pare o Server e coloque a propriedade TOPMemoMega=1 ("Veja Mais sobre TopMemoMega) e a propriedade MaxStringSize ( Veja Mais Sobre MaxStringSize e o valor que deve colocar no parâmetro)

04. CONFIGURAÇÃO SSL

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.

05. TELA DE CADASTRO DE SCHEDULE  


Cadastro de Rotina

Imagem 1

Preenchimento da periodicidade dos acionamentos:

Imagem 2

Interface de Agents.

Gerenciamento da fila e execução dos agents.

Imagem 4

06. TELA DE CADASTRO DE MENU

Tela de listagem de menus

Imagem 1

Tela de configuração do menu escolhido

imagem 3

Imagem 4

07. MENSAGENS DE INTEGRAÇÃO

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.

08. TABELAS UTILIZADAS 

09. ROTINAS ENVOLVIDAS

10. ANEXOS

  1. DRHGCH-13658 Alterar rotina PONA030 - Relógio (Detalhes para funcionamento na rotina PONA030)
    1. https://tdn.totvs.com/x/kum2Hg
  2. DRHGCH-13255 - Integração Ponto X Carol - Batidas - API de acesso ao Token ( Detalhes sobre o funcionamento na rotina PONAPI01)
    1. https://tdn.totvs.com/x/34W2Hg
  3. DRHGCH-13652 Integração Ponto X Carol - Batidas - API de acesso ao DeviceList
    1. https://tdn.totvs.com/x/frC2Hg
  4. Seção [SSLConfigure]
    1. https://tdn.totvs.com/x/4Ypc
<!-- 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>