Parâmetros e Chamada do Método:
Autenticação
A api recordClockMarkings utiliza Basic Authentication.
- Para autenticação com o RH Datasul, basta ter um usuário cadastrado no sistema, e utilizar o Basic Authentication usuário e senha.
- Sugerimos que seja um usuário genérico, para evitar recadastro caso ocorra alteração de permissões de usuário.
Endpoint
api/rh/v1/recordClockMarkings
Método
O método a ser utilizado é o POST.
Chamada do Médodo
{protocolo}://{host}/api/rh/v1/recordClockMarkings
A API REST recordClockMarkings será consumida pelo Ahgora PontoWeb by TOTVS e poderá receber os seguintes parâmetros:
| Propriedade | Descrição | Tipo | Obrigatório? | Observação |
|---|
| items | Array das marcações | Array | Sim | Nas linhas abaixo estão detalhadas as informações que devem ser envidas no array items. |
| codCCT | Código da convenção coletiva | Caracter | Não | Preencher com o número do processo do último acordo ou convenção coletiva depositado. Caso não haja, informar "99999999999999999". |
| codCPF | Número do CPF do funcionário | Caracter | Sim | Preencher somente com os números do CPF. |
| codFuncMsa | Número da matrícula do funcionário | Array - Caracter | Sim | Preencher com a matrícula do funcionário. Usar como referência o codInterno enviado na integração do funcionário. Quando se tratar de múltiplo vínculo no mesmo estabelecimento deve ser preenchido com as matrículas do funcionário de cada vínculo no estabelecimento. |
| codFuso | Fuso horário | Caracter | Sim | Preencher com a informação do fuso horário que consta na data e hora da marcação do ponto registrada no REP-P/REP-A. Formato da data e hora de marcação: "AAAA-MM-ddThh:mm:00ZZZZZ", onde: ZZZZZ: fuso horário, onde o primeiro digito representa o sinal (positivo ou negativo) e os outros quatro dígitos representam a hora e os minutos. |
| codNsr | Número sequencial de registro | Caracter | Sim | Preencher com o NSR gerado pelo REP-P/REP-A quando ocorre o registro da marcação de ponto. |
| codRelogioExtChave | Identifica a integração Ahgora | Caracter | Sim | Preencher com a palavra "PONTOWEB". |
| codRep | Código do REP | Caracter | Sim | Para REP-P: preencher com o número de registro no INPI. Para REP-A: - preencher com o número do processo do último acordo ou convenção coletiva depositado. Caso não haja, informar "99999999999999999". |
| codUsuarExtChave | Chave externa do funcionário | Array - Caracter | Sim | Preencher com o código da empresa , do estabelecimento e aa matrícula do funcionário, separados por ";". Usar como referência o codInterno enviado na integração do funcionário. Quando se tratar de múltiplo vínculo no mesmo estabelecimento deve ser preenchido o código da empresa , do estabelecimento e a matrícula do funcionário, separados por ";" de cada vínculo no estabelecimento. |
| datMarcacAces | Data da marcação | Caracter | Sim | Preencher com a informação da data e hora da marcação do ponto registrada no REP-P/REP-A. Formato da data e hora de marcação: "AAAA-MM-ddThh:mm:00ZZZZZ". |
| inscrEmp | CNPJ ao qual o REP-P está vinculado | Caracter | Sim | Preencher somente com os números do CNPJ do estabelecimento ao qual o REP-P está relacionado. |
| numHorarMarcacAces | Hora da marcação em segundos | Numérico | Sim | Preencher com a hora e minutos da marcação de ponto, convertidos para segundos. |
| numVersLayout | Versão do layout do arquivo AFD | Caracter | Sim | Preencher com o valor "3", que indica que a marcação atende ao layout da portaria 671. |
Exemplos do Json de Request da API:
| Deck of Cards |
|---|
| id | Exemplos de Json da Requisição da API |
|---|
|
| Card |
|---|
| label | Marcação REP-A - Portaria 671 |
|---|
| { "items": [ { "codCPF": "88888888888",
|
|
| items.codRelogioExtChave | Código Relógio | Caracter | Não | Preenchido com o código da empresa e do relógio, conforme cadastrado no programa PE0620, campo Relógio. Obrigatório ser informado quando a marcação for de refeitório. |
| items.codFuncMsa | Código do funcionário | Caracter | Sim | Preenchido com a matrícula do funcionário conforme cadastro no programa FP1500 |
items.codNsr | Código NSR | Numérico | Sim | | items.codPisMsa | Código do PIS do Funcionário | Caracter | Sim | Obrigatório para marcações realizadas em dispositivos que atendem à portaria 1510. |
items.datMarcacAces | Data da marcação | Caracter | Sim | items.numHorarMarcacAces | Hora da marcação em segundos | Numérico | Sim | | items.codRep | Código do REP | Caracter | Não | Preenchido com o número informado no programa PE0620, campo Número REP |
| items.codUnidExtChave | Código da Unidade | Caracter | Sim | Preenchido com o código da empresa e estabelecimento. Ex.: "99;99" |
| items.codUsuarExtChave | Código do usuário | Caracter | Sim | Preenchido com o código da empresa, estabelecimento e matrícula. Ex.: "99;99;4" |
| items.codFuso | Fuso Horário | Caracter | Sim | Obrigatório para marcações realizadas em dispositivos que atendem à portaria 671. |
| items.codCPF | Código do CPF do Funcionário | Caracter | Sim | Obrigatório para marcações realizadas em dispositivos que atendem à portaria 671. |
| items.numVersLayout | Versão Layout Arquivo AFD | Numérico | Sim | Quando preenchido com o valor: 0 - marcações de refeitório 1 - marcações da portaria 1510 3 - marcações da portaria 671 |
items.inscrEmp | CNPJ ou CPF do empregador | Decimal | Não | | items.codCCT | Código Convenção Coletiva | Decimal | Não | Preenchido com o valor vazio (branco), quando a marcação for originada de um REP da portaria antiga (1510 ou 1510 INMETRO). Preenchido com o valor do acordo coletivo, quando a marcação for originada de um REP A. Preenchido com o valor vazio (branco), quando a marcação for originada de um equipamento de controle de acesso em refeitório. Preenchido sem zeros a esquerda. |
Exemplos do Json de Request da API:
| Expandir |
|---|
| title | Marcações Portaria 1510 |
|---|
|
{ "items": [ { "codRelogioExtChave": "", "codFuncMsa": "529", "codNsr": 1, "codCPF:"", "codPisMsa": "15423654711", "datMarcacAces": "2021-10-21 09:30:00.000", "numHorarMarcacAces": 34200, "codRep": "5009940099846", "codUnidExtChave": "10;1", "codUsuarExtChave": "10;1;529", "codCCT":"" }, { "codRelogioExtChave": "", "codFuncMsa": "1356", "codNsr": 2, "codCPF:"", "codPisMsa": "15423654711", "datMarcacAces": "2021-10-23 22:00:00.999", "numHorarMarcacAces": 79200, "codRep": "5009940099846", "codUnidExtChave": "10;1", "codUsuarExtChave": "10;1", codCCT }] } |
| Expandir |
|---|
| title | Marcação Portaria 671 REP-A |
|---|
|
{ "items": [ { "codRelogioExtChave":"PONTOWEB", " | codFuncMsa4codNsr 1000codCPF027095099032025-08-04T08:00:00.000", " | codFuso "-0300"28800, "numVersLayout": "3", " | inscrEmpr012457856000158datMarcacAces "2022-09-08 09:30:00.000", "numHorarMarcacAces": 34200, "codRep": "858585565656" codUnidExtChave99;99codUsuarExtChave99;99;4codCCT19269592961497986 }, { "codNsr": "120025", "codRelogioExtChave":"PONTOWEB", " | codFuncMsa4codNsr": 1002, "codCPF": "02709509903"codUsuarExtChave": ["10;1;1"], "datMarcacAces": " | 20220908 22999000", "numHorarMarcacAces": | 79200codFuso-0300numVersLayout 3inscrEmpr012457856000158, "datMarcacAces": "2022-09-08 09:30:00.000", | Card |
|---|
| label | Marcação REP-P - Portaria 671 |
|---|
| { "items": [ | "codRep": "858585565656",codUnidExtChave99;99codUsuarExtChave99;99;4"codCCT19269592961497986 }{ "items": [ ] } |
| Expandir |
|---|
| title | Marcação Portaria 671 REP-C |
|---|
|
{ "codRelogioExtChave":"PONTOWEB", " | codFuncMsa4codNsr 1000codCPF027095099032025-08-04T08:00:00.000", " | codFuso "-0300"28800, "numVersLayout": "3", " | inscrEmpr012457856000158" datMarcacAces2022-09-08 09:30:00.000numHorarMarcacAces 34200codRep858585565656codUnidExtChave99;99codUsuarExtChave99;99;4codCCT" }, {codRelogioExtChavecodUsuarExtChave": ["10;1;1"], " | codFuncMsa42025-08-04T16:00:00.000", " | codNsr 1002codCPF02709509903datMarcacAces2022-09-08 22:00:00.999", "numHorarMarcacAces": 79200,codFuso-0300numVersLayout 3inscrEmpr012457856000158datMarcacAces2022-09-08 09:30:00.000858585565656codUnidExtChave "99;99"["80","125"], "codUsuarExtChave": [" | 9999;4"codCCTdatMarcacAces": "2024-07-21T08:00:00.000",
| } ] } |
| Expandir |
|---|
|
{ items [ { "codRelogioExtChave10;1 codFuncMsa529, "codNsr": 0, "codCPF":"", "numVersLayout": 0, "codPisMsa": "15423654711", "codFuso": "", "datMarcacAces": "2021-10-21 09:30:00.000", "numHorarMarcacAces": 34200, "codRep": "", "codUnidExtChave": "10;1", "codUsuarExtChave": "10;1;529", "codCCT":"" }, { "codRelogioExtChave": "10;1", "codFuncMsa": "1356", "codNsr": 0, "codCPF":"", "numVersLayout": 0, "codPisMsa": "15423654711", "codFuso": "", "datMarcacAces": "2021-10-23 22:00:00.999", "numHorarMarcacAces": 79200, "codRep": "", "codUnidExtChave": "10;1", "codUsuarExtChave": "10;1", "codCCT":"" } ] } |
Situações de Erros Tratados
A API irá retornar a lista com o indicativo individual de sucesso ou erro na gravação. Os retornos possíveis estão na lista abaixo:
| status | errorCode | message | OBS |
|---|
200 | Marcação gravada com sucesso. | 400 | 00001 | PIS em formato inválido ou inexistente no cadastro. | 400 | 00002 | NSR duplicado. Número já foi importado na tabela marcac_nova_integr . | 400 | 00003 | NSR não foi informado e é obrigatório. | 400 | 00006 | É obrigatório informar o campo codRelogioExtChave. | 400 | 00006 | É obrigatório informar o campo codFuncMsa. | | 400 | 00006 | É obrigatório informar o campo codPisMsa. | Somente quando não estiverem informados os campos: codPisMsa e codCPF |
400 | 00006 | É obrigatório informar o campo datMarcacAces. | 400 | 00006 | É obrigatório informar o campo numHorarMarcacAces. | 400 | 00006 | É obrigatório informar o campo codRep. | 400 | 00006 | É obrigatório informar o campo codUnidExtChave. | 400 | 00006 | É obrigatório informar o campo codUsuarExtChave. | 400 | 00006 | Campo 'codRelogioExtChave' no formato incorreto. Deve ser preenchido como texto e conter o código da empresa e do relógio no ERP. | 400 | 00006 | Campo 'codNsr' no formato incorreto. Deve ser preenchido como numérico. | 400 | 00006 | Campo 'numHorarMarcacAces' no formato incorreto. Deve ser preenchido como numérico. | 400 | 00006 | Campo 'codUnidExtChave' no formato incorreto. Deve ser preenchido como texto e conter o código da empresa e do estabelecimento no ERP. | 400 | 00006 | Campo 'codUsuarExtChave' no formato incorreto. Deve ser preenchido como texto e conter o código da empresa, do estabelecimento e matricula do funcionário no ERP. |