Layout de Campos e Fluxo das Informações

 

s dados possuem o seguinte fluxo:

ID

Descrição

Origem

Destino

01

Dados de Funcionários

Protheus

PontoWeb

02

Dados de Afastamentos

Protheus

PontoWeb

03

Sindicatos

Protheus

PontoWeb

04

Eventos/Rubricas

Protheus

PontoWeb

05

Resultados Apurados

PontoWeb

Protheus



Layout de Campos 01 - Dados de Funcionários


Dados de Funcionários (Pessoas)

Item

Descrição

Fluxo:Protheus (Cliente) → PontoWeb
URL API:https://api.ahgora.com.br/people
Método:POST


Campos do PontoWeb que são integrados e sua origem no Protheus :

PontoWeb
Protheus
CampoTipoDescriçãoObrigatórioRegra
CampoDescrição / Regra
matriculaAlfanuméricoIdentificação do colaboradorXCampo chave
Enviar sempre a matricula atual
Concatenar dados
sem separador

RA_MATMatricula do Funcionário
Enviar concatenado Empresa + Filial + Matrícula
nomeStringNome do FuncionárioX

RA_NOMENome do Funcionario
pisStringPIS do Funcionário*XCampo chave
*Quando não existir PIS, deve ser informado o campo “sem_pis” : “ true “

RA_PISNumero do PIS do Funcionário
matricula_esocialStringMatrícula do E-Social
Obrigatório para múltiplos vínculos
RA_CODUNICMatricula do eSocial
dataAdmissaoDateData em que o Funcionário foi AdmitidoX(DD/MM/AAAA)
RA_ADMISSAData de Admissão
dataDemissaoDateData de Demissão*X(DD/MM/AAAA)
*Quando for demissão, obrigatório

RA_DEMISSAData de Demissão
localizacoesArrayLocalizações do funcionário
Manter campo aberto para que o cliente consiga enviar informação que mais se adequa
Efetuada a criação de tabelas no dicionário SX2Trata-se de um campo flexível, definido pelo usuário, que oferece maior liberdade e precisão na manipulação de dados e relatórios.
escala_padraoStringCódigo da escala/ turno do funcionário
Código da Escala existente no PontoWeb para atribuição.
RA_TNOTRABTurno de Trabalho
Enviar concatenado Empresa + Filial + Código quando
tabela exclusiva
Enviar concatenado Empresa + Código quando tabela compartilhada
lastChangeDefaultScheduleDateData da alteração de escala/turno
Data da alteração relacionado ao campo "escala_padrao".


tipo_escala
Tipo de Escala de Trabalho
Manter padrão mensal
Campo que pode ser utilizado como filtro, para disponibilizar as escalas. Ex. Pode ser diurna, noturna


Não temos essa informação. Não enviar
ctpsStringCarteira de Trabalho


RA_NUMCPCarteira Profissional
cargoStringTítulo do Cargo
Padrão: dado enviado para e-social (Cod + Descrição)
RA_CODFUNCCodigo da Funcao
departamentoStringDescrição do departamento do Funcionário


RA_DEPTOCod. Departamento
sexoStringGênero do Funcionário
"F"eminino, "M"asculino ou "O"utros
RA_SEXOSexo do Funcionario
emailStringE-mail do Funcionário
Único por funcionário
RA_EMAILE-Mail principal
cpfStringCPF do Funcionário*X*Obrigatório, se não for enviado PIS
juntamente com o campo “sem_pis” : “ true “

RA_CICCPF do Funcionário sem pontos
rgStringRG do Funcionário
sem SSP e sem data emissão
RA_RGRG - Registro Geral
cnpjStringCNPJ da filial do Funcionário


M0_CGCCNPJ da filial
dataCnpjDateData da atribuição do CNPJ da empresa ao funcionário
(DD/MM/AAAA)

Data da transferencia quando mudar de filial
centroCustoStringCódigo do centro de custo do funcionário


RA_CCCodigo do Centro de Custo
Enviar concatenado Empresa + Filial + Código quando
tabela exclusiva
Enviar concatenado Empresa + Código quando
tabela compartilhada
regimeTrabalhoStringRegime de Trabalho do Funcionário*X*Obrigatório quando possuir fluxo de Resultados
Uma das opções (descrição):
- CLT - estatutario
- estagiario - temporario
- rda - comissionado
- terceirizado - menoraprendiz
- intermitente - horista
- pensaovitalicia - folhaconfidencial
- autonomo - conselheiro
- pensaovitalicia

RA_CATFUNCCategoria Trab. eSocial (criar tabela para cadastrar DE/PARA)
dataNascimentoDateData de Nascimento do Funcionário
(DD/MM/AAAA)
RA_NASCData de Nascimento
dataCargoDateData de Alteração de Cargo



Data da alteração da função
carga_horarianumberDefinição de carga horária
Se definida, apenas escalas com a mesma quantidade de carga horária poderá ser aplicada para este funcionário
Quantidade de horas mensais

RA_HRSMESQauntidade de horas mês
bate_pontoObjetoPonto Obrigatório
Não possuem a informação na folha
Opções:
- "Ponto Obrigatorio" para quem deve registrar o ponto;
- "Ponto Livre" para quem não precisa registrar o ponto.

Orientações:
1. se enviar o campo "bate_ponto" e "data_troca_elegibilidade_ponto" (tem que enviar os dois) vai verificar:
2. se o valor da string "bate_ponto" for "Ponto Obrigatorio" (exatamente assim) e a data enviada em "data_troca_elegibilidade_ponto" for válida vai inserir no funcionário o histórico de ponto obrigatório "true" para data enviada em "data_troca_elegibilidade_ponto"
3. caso o valor da string "bate_ponto" for diferente e a data enviada em "data_troca_elegibilidade_ponto" for válida vai inserir no funcionário o histórico de ponto obrigatório "false" para data enviada em "data_troca_elegibilidade_ponto"

Verificar possibilidade de criar campo no cadastro de funcionárioDisponível somente quando habilita o produto do ponto
data_troca_elegibilidade_pontoObjetoData de troca da elegibilidade do registro de ponto
Data relacionada ao dado do campo "registra_ponto"
Verificar possibilidade de criar campo no cadastro de funcionário
matricula_chefiaStringMatrícula Chefia Imediata
Campo chave para Montagem da Hierarquia
QB_MATRESPMatricula do responsável
nome_chefiaStringNome Chefia Imediata
Montagem da Hierarquia
RA_NOMENome do Funcionario
email_chefiaStringe-mail Chefia Imediata
Montagem da Hierarquia
RA_EMAILE-Mail principal
codSindicatoPerson StringCódigo do Sindicato
Verificar o ID do campo
RA_SINDICACodigo do Sindicato
Enviar concatenado Empresa + Filial + Código quando
tabela exclusiva
Enviar concatenado Empresa + Código quando
tabela compartilhada
dataCodSindicatoDateData da alteração do código do sindicato
Este campo é relacionado a troca da informação do campo "codSindicato"

Data da alteração do codigo do sindicato
telefonestringTelefone


RA_TELEFONNúmero do telefone
sem_pisstring
*X*Obrigatório para envios sem PIS
Esperado:
"true" ou "false"


Preencher com true quando não tiver o PIS cadastrado
codInternostring

Concatenar dados com separador
Separado por pipe

RA_MATMatricula do Funcionario
Enviar concatenado Empresa + Filial + Matrícula
matricula_anteriorstring
*X1) Sempre será enviada a matricula corrente no campo "matricula";
2)Quando houver transferência entre CNPJ com troca de matricula, a nova matricula deverá ser enviada no campo "matricula" e a antiga deverá ser enviada em um campo "matricula_anterior");
3) Para novas alterações cadastrais dessa matricula alterada, os envios seguintes não deverão conter o campo matricula_antiga preenchida, pode ser enviada em branco, ou não ser enviado.
4) Não enviar datas de demissão e admissão
5) Concatenar dados sem separador



custo_da_horaStringDefine o custo hora do funcionário, utilizado para cálculos financeiros.




financeiroObjeto
Indica os campos financeiros

Este campo está relacionados ao campos: salario, beneficios e vr


salarioStringValor do salário do colaborador
Formatado ou não. (2.245,50 ou 224550)
Este campo é opcional e para clientes que utilizam o módulo financeiro


Caso o colaborar for mensalista, enviar o salário mensal
Caso o colaborar for horista, enviar o salário da hora


Exemplos de Requisições (Requests)


Corpo da Requisição:

[
    {
        "matricula": "0123456",
        "matricula_anterior": "1234567",
        "nome": "John Doe",
        "pis": "44799198333",
        "sem_pis": true,
        "matricula_esocial": "44799198333",
        "codInterno": "01|001|1234",
        "dataAdmissao": "2020-10-10",
        "dataDemissao": "2020-10-10",
        "localizacoes": [
            "TESTES 1",
            "TESTES 2"
        ],
        "escala_padrao": "006",
        "lastChangeDefaultSchedule": "2020-08-05",
        "ctps": "2413892",
        "cargo": "Human Resources Chief",
        "dataCargo": "2025-10-01",
        "departamento": "Human Resources",
        "sexo": "M",
        "email": "[email protected]",
        "cpf": "000.000.000-00",
        "rg": "012345",
        "cnpj": "48.603.081/0001-40",
        "dataCnpj": "2022-09",
        "centroCusto": "00000001",
        "regimeTrabalho": "CLT",
        "dataNascimento": "1990-10-25",
        "carga_horaria": "40",
        "bate_ponto": "Ponto Obrigatorio",
        "data_troca_elegibilidade_ponto": "2025-10-01",
        "matricula_chefia": "00001",
        "nome_chefia": "Nome Chefia",
        "email_chefia": "[email protected]",
        "codSindicato": "0001",
        "dataCodSindicato": "2025-10-01",
        "telefone": "999999999",
        "custo_da_hora": "12,00",
        "financeiro": {
            "salario": "2.245,50"
        }
    }
]


Exemplos de Retornos (Responses)


Resposta quando SUCESSO - Code 200:

{
    "company": "a133595",
    "message": "Employee's Integration on progress",
    "unique": "aabb1122",
    "subunique": "f9422c17"
}

Para obter mais detalhe, utilize o serviço Process. Para saber mais entre no link.


ERRO de Validação - Code 400:

{
  "message": "Request format must be an Array",
  "code": 400
}


ERRO de Autenticação - Code 401:

{
  "message": "Unauthorized",
  "code": 401
}


ERRO de Permissão - Code 403:

{
    "error": {
        "message": "Forbidden",
        "code": 403
    }
}

Observação: Verificar as permissões do usuário para acessar a rota/serviço.



Layout de Campos 02 - Dados de Afastamentos


Dados de Afastamentos

Idem

Descrição

Fluxo:

Protheus (Cliente) → PontoWeb

URL API:

https://api.ahgora.com.br/absences

Tipo de Requisição:

POST


Campos do PontoWeb que são integrados e sua origem no Protheus:

PontoWeb


Protheus

Campo

Tipo

Descrição

Obrigatório

Regra


Campo

Descrição / Regra

matriculaStringIdentificação do colaboradorXCampo chave
Enviar sempre a matricula atual
Concatenar dados sem separador

R8_MATMatricula do Funcionario
Enviar concatenado Empresa + Filial + Matrícula
motivoStringMotivo do AfastamentoXEnviar o Código ou String, é obrigatória uma das informações.
Cadastro prévio no PW exatamente iguais ao sitetema de origem

R8_TIPOAFATipo de Afastamento
Enviar concatenado Empresa + Filial + Código quando
tabela exclusiva
Enviar concatenado Empresa + Código quando
tabela compartilhada
inicioStringData e/ou hora Inicial do AfastamentoXYYYY-MM-DDTHH:MM (0000)
Somente afastamentos em dias

R8_DATAINIData inicio do afastamento
Hora inicio: (00:00)
Hora Final: (24:00)
fimStringData e/ou hora Final do AfastamentoXYYYY-MM-DDTHH:MM (Enviando hora final 2400 corresponde ao dia total)
Se data fim vazio, trocar para 31/12/2050

R8_DATAFIMData fim do afastamento
Sem data fim, enviar vazio)
cod_internoStringCódigo interno do AfastamentoXA manutenção da ausência depende do campo 'internalCode', caso o mesmo não seja informado não será possível alterar ou remover a ausência pela integração
Este código é armazenado para servir de chave para alterações no afastamento

CHAVESequência Afastamento
Informar chave unica para identificar. Concatenar informações(empresa, filial, matricula e Sequencia).
operationStringAção a ser realizadaXDEL para remoção da ausência (é possível remover enviando somente 2 campos: "cod_interno" e "operation"

Obrigatorio o envio do DEL quando for exclusão de informação


Exemplos de Requisições (Requests)


Corpo da Requisição - Inclusão:

[
  {
    "matricula": "00000001",
    "motivo": "Atestado médico",
    "inicio": "2024-01-11T10:00",
    "fim": "2024-01-15T23:00",
    "cod_interno": "w289fdf2",
    "operation": "INS"
  }
]


Corpo da Requisição - Alteração:

[
  {
    "matricula": "00000001",
    "motivo": "Atestado médico",
    "inicio": "2024-01-11T10:00",
    "fim": "2024-01-15T23:00",
    "cod_interno": "w289fdf2",
    "operation": "ALT",
    "ignora_bloqueio"= "1"
  }
]


Corpo da Requisição - Exclusão:

[
  {
    "matricula": "00000001",
    "motivo": "Atestado médico",
    "inicio": "2024-01-11T10:00",
    "fim": "2024-01-15T23:00",
    "cod_interno": "w289fdf2",
    "operation": "DEL"
  }
]



Exemplos de Retornos (Responses)


Resposta quando SUCESSO - Code 200:

{
  "company": "a000101",
  "message": "Absences's Integration on progress",
  "unique": "bd751350",
  "subunique": "dc8ab430"
}

Para obter mais detalhe, utilize o serviço Process. Para saber mais entre no link.


ERRO de Validação - Code 400:

{
  "message": "Request format must be an Array",
  "code": 400
}


ERRO de Autenticação - Code 401:

{
  "message": "Unauthorized",
  "code": 401
}


ERRO de Permissão - Code 403:

{
    "error": {
        "message": "Forbidden",
        "code": 403
    }
}

Observação: Verificar as permissões do usuário para acessar a rota/serviço.



Layout de Campos 03 - Sindicatos


Sindicatos

Idem

Descrição

Fluxo:Protheus (Cliente) → PontoWeb
Tipo de Requisição:GET
Tipo de Autenticação:Basic
Usuário:Usuário criada para autenticar este serviço na Folha
Senha:Senha do usuário
Endereço:https://xxxxxxxxxxxxxxx:9999
Endpoint Base (fixo):api/rh/v1/ahgora/sindicatos


Campos do Protheus que são integrados e sua origem no PontoWeb:

PontoWeb


Protheus

Campo

Descrição

Regra


Campo

Obrigatório

Descrição / Regra

nameNomeNome do sindicato
descxNome do sindicato
codCódigoCódigo do sindicato
codxCódigo do sindicato
cnpjsCNPJCNPJ que está atrelado ao sindicato
cnpjxCNPJ que está atrelado ao sindicato


Exemplos de Requisições (Requests)


Corpo da Requisição Consulta na Folha - Sucesso:

{
    "items": [
        {
            "cod": "1",
            "cnpj": "53.113.791/0001-22",
            "desc": "SIND.TR.IND.MET.MEC.M.E.MARILI"
        },
        {
            "cod": "25",
            "cnpj": "95.432.225/0001-23",
            "desc": "SINDICATO DOS ESTATISTICOS"
        }
    ]   


Corpo da Requisição Consulta na Folha - Erro:

"errors": [
            {
                "mensagem": "CNPJ inexistente.",
                "cnpj": "05.510.667/0001-58"
            }
        ]


Exemplos de Retornos (Responses)


Resposta quando SUCESSO - Code 200:

"successes": [
            {
                "name": "SIND.TR.IND.MET.MEC.M.E.MARILI",
                "cod": "1",
                "company": "a962934",
                "cnpjs": [
                    "53.113.791/0001-22",
                    "95.432.225/0001-23"
                ]
            },  


ERRO de Autenticação - Code 401:

{
    "error": "Unauthorized",
    "code": 401,
    "msg": "Token usuario invalido"
}


ERRO na Formatação do Envio - Code 422:

{
    "code": 422,
    "error": true,
    "msg": "syndicates is not an array"
}



Layout de Campos 04 - Eventos/Rubricas


Eventos/Rubricas

Idem

Descrição

Fluxo:Protheus (Cliente) → PontoWeb
Tipo de Requisição:GET
Tipo de Autenticação:Basic
Usuário:Usuário criada para autenticar este serviço na Folha
Senha:Senha do usuário
Endereço:https://xxxxxxxxxxxxxxx:9999
Endpoint Base (fixo):api/rh/v1/ahgora/verbas


Campos do Protheus que são integrados e sua origem no PontoWeb:

PontoWeb


Protheus

Campo

Descrição

Regra


Campo

Obrigatório

Descrição / Regra

cnpjCNPJCNPJ que está atrelado a rubrica
cnpjxCNPJ que está atrelado a rubrica
hourNomeNome da rubrica
descxNome da rubrica
accountingCodeCódigoCódigo da rubrica
codxCódigo da rubrica
typeEventTipo - Valor esperado

Informa o tipo da rubrica e se o valor esperado é em valor ou horas

EX:
Vencimento - Hora
Desconto - Valor


categoria

Informa o tipo da rubrica e se o valor esperado é em valor ou horas

EX:
Vencimento - Hora
Desconto - Valor

internalCode


-



codigoRescisaoCódigoCódigo da rubrica de rescisão

-



offCycleCodeCódigoCódigo da rubrica de off cycle
-

deletefalsefixo "false"
-


Exemplos de Requisições (Requests)


Corpo da Requisição Consulta na Folha - Sucesso:

{
    "response": [
        {
            "items": [
                {
                    "categoria": "Vencimento - Valor",
                    "cod": "630",
                    "cnpj": "53.113.791/0001-22",
                    "desc": "Outros Ganhos"
                }
            ]
        }
    ]
}
   


Corpo da Requisição Consulta na Folha - Erro:

"errors": [
            {
                "mensagem": "CNPJ inexistente.",
                "cnpj": "05.510.667/0001-58"
            }
        ]


Exemplos de Retornos (Responses)


Resposta quando SUCESSO - Code 200:

{
    "code": 200,
    "error": false,
    "message": "Códigos contábeis importados com sucesso"
}


ERRO de Autenticação - Code 401:

{
    "error": "Unauthorized",
    "code": 401,
    "msg": "Token usuario invalido"
}


ERRO na Formatação do Envio - Code 422:

{
    "code": 422,
    "error": true,
    "message": "Erro ao importar códigos contábeis",
    "data": {
        "erros": [
            {
                "cnpj": "5",
                "error": "CNPJ não encontrado"
            },
            {
                "cnpj": null,
                "error": "CNPJ não encontrado"
            }
        ],
        "codigos importados": []
    }
}

Layout de Campos 05 - Resultados Apurados


Resultados Apurados

Idem

Descrição

Fluxo:PontoWeb → Protheus (Cliente)
Tipo de Requisição:POST
Tipo de Autenticação:Basic
Usuário:Usuário criada para autenticar este serviço na Folha
Senha:Senha do usuário
Endereço:https://xxxxxxxxxxxxxxx:9999
Endpoint Base (fixo):rest/api/rh/v1/ahgora/results


Campos do Protheus que são integrados e sua origem no PontoWeb:

PontoWeb


Protheus

Campo

Descrição

Regra


Tabela

Campo

Obrigatório

Descrição / Regra

matriculaIdentificação do colaboradorPode ser alfanumerica
Campo matrícula

RGB_MATxMatricula do Funcionario
Enviada concatenado Empresa + Filial + Matrícula

Matrícula do Funcionário
Recebe concatenado Coligada + Chapa (matrícula)

anocomAno da competênciaPadrão AAAA
RGB_PERIODxCódigo do Período. Enviar concatenado AnoMes (AAAAMM)

Concatenar AnoMes (AAAAMM)

mescomMês da competênciaPadrão MM
Ex. Janeiro enviar 01

---

Ex. jan 01

campoAdicional
Pode ser informado o
Período / Envelope na tela do integrador "Campo Adicional"
Informação do campo adicional no PW
Não é obrigatório

RGB_SEMANAxNúmero do Pagamento
fixo "01" (mensalista)
Tem que ser um dado parametrizável por cliente
Puxar dado do "Campo Adicional" da apuração

Número do Pagamento

rubricaCódigo do Evento / RubricaSerá cadastrado no PW igual o sistema de destino
RGB_PDxCódigo da Verba
Enviar concatenado Empresa + Filial + Código quando
tabela exclusiva
Enviar concatenado Empresa + Código quando
tabela compartilhada

Código da Verba

Enviar concatenado Coligada + Código Rubrica

referenciaReferencia em horas ou diasHoras sexagesimal (serparador ",")
Ex: 1h30min, enviar 1,30
Dias em número inteiro
Ex: 3 dias, enviar 3

RGB_HORASxNumero de Horas Lançadas
Separador em "," (vírgula)
Criar parametro para defnir se hora centesimal ou sexagesimal (1h30min, enviar 1,30 ou 1,50)

Horas sexagesimal (separador ",")
Ex: 1h30min, enviar 1,30
Dias em número inteiro
Ex: 3 dias, enviar 3

datafaltaEnvio de evento de falta, envio da data em período sequencial deve ser enviada a data dia-a-diaEnvio de altas dia-a-dia formato (AAAAMMDD)
RGB_DTREFxEnvio de evento de falta, envio da data em período sequencial deve ser enviada a data dia-a-dia

Envio de evento de falta, envio da data em período sequencial deve ser enviada a data dia-a-dia

codfuncionario
Dados com separador por pipe





Exemplos de Requisições (Requests)


Corpo da Requisição:

{
    "items": [
        {
            "matricula": "0101000001",
            "anocom": "2024",
            "mescom": "07",
            "campoAdicional": "1",
            "codfuncionario": "01|01|000001",
            "resultados": [
                {
                    "rubrica": "001",
                    "referencia": "10,45",
                    "datafalta": ""
                },
                {
                    "rubrica": "002",
                    "referencia": "1",
                    "datafalta": "20240722"
                },
                {
                    "rubrica": "002",
                    "referencia": "1",
                    "datafalta": "20240723"
                }
            ]
        }
    ]
}


Exemplos de Retornos (Responses)


Resposta quando SUCESSO - Code 200:

{
    "response": [
        {
            "resultados": [
                {
                    "matricula": "0101000001",
                    "rubrica": "001",
                    "status": "S",
                    "mensagem": "Operação realizada com sucesso!",
                    "referencia": "10,45",
                    "datafalta": ""
                },
                {
                    "matricula": "0101000001",
                    "rubrica": "002",
                    "status": "S",
                    "mensagem": "Operação realizada com sucesso!",
                    "referencia": "1",
                    "datafalta": "20240722"
                },
                {
                    "matricula": "0101000001",
                    "rubrica": "002",
                    "status": "S",
                    "mensagem": "Operação realizada com sucesso!",
                    "referencia": "1",
                    "datafalta": "20240723"
                }
            ]
        }
    ]
}


ERRO de Negócio - Code 200:

{
    "response": [
        {
            "resultados": [
                {
                    "matricula": "0101000001",
                    "rubrica": "001",
                    "status": "E",
                    "mensagem": "Verba não encontrada na base de dados.",
                    "referencia": "10,45",
                    "datafalta": ""
                },
                {
                    "matricula": "0101000001",
                    "rubrica": "002",
                    "status": "E",
                    "mensagem": "Verba não encontrada na base de dados.",
                    "referencia": "1",
                    "datafalta": "20240722"
                },
                {
                    "matricula": "0101000001",
                    "rubrica": "002",
                    "status": "E",
                    "mensagem": "Verba não encontrada na base de dados.",
                    "referencia": "1",
                    "datafalta": "20240723"
                }
            ]
        }
    ]
}