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 |
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 | ||||||
| Campo | Tipo | Descrição | Obrigatório | Regra | Campo | Descrição / Regra | |
| matricula | Alfanumérico | Identificação do colaborador | X | Campo chave Enviar sempre a matricula atual Concatenar dados sem separador | RA_MAT | Matricula do Funcionário Enviar concatenado Empresa + Filial + Matrícula | |
| nome | String | Nome do Funcionário | X | RA_NOME | Nome do Funcionario | ||
| pis | String | PIS do Funcionário | *X | Campo chave *Quando não existir PIS, deve ser informado o campo “sem_pis” : “ true “ | RA_PIS | Numero do PIS do Funcionário | |
| matricula_esocial | String | Matrícula do E-Social | Obrigatório para múltiplos vínculos | RA_CODUNIC | Matricula do eSocial | ||
| dataAdmissao | Date | Data em que o Funcionário foi Admitido | X | (DD/MM/AAAA) | RA_ADMISSA | Data de Admissão | |
| dataDemissao | Date | Data de Demissão | *X | (DD/MM/AAAA) *Quando for demissão, obrigatório | RA_DEMISSA | Data de Demissão | |
| localizacoes | Array | Localizações do funcionário | Manter campo aberto para que o cliente consiga enviar informação que mais se adequa | Avaliar o que podemos enviar. | |||
| escala_padrao | String | Código da escala/ turno do funcionário | Código da Escala existente no PontoWeb para atribuição. | RA_TNOTRAB | Turno de Trabalho Enviar concatenado Empresa + Filial + Código quando tabela exclusiva Enviar concatenado Empresa + Código quando tabela compartilhada | ||
| lastChangeDefaultSchedule | Date | Data 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 | ||||
| ctps | String | Carteira de Trabalho | RA_NUMCP | Carteira Profissional | |||
| cargo | String | Título do Cargo | Padrão: dado enviado para e-social (Cod + Descrição) | RA_CODFUNC | Codigo da Funcao | ||
| departamento | String | Descrição do departamento do Funcionário | RA_DEPTO | Cod. Departamento | |||
| sexo | String | Gênero do Funcionário | "F"eminino, "M"asculino ou "O"utros | RA_SEXO | Sexo do Funcionario | ||
| String | E-mail do Funcionário | Único por funcionário | RA_EMAIL | E-Mail principal | |||
| cpf | String | CPF do Funcionário | *X | *Obrigatório, se não for enviado PIS juntamente com o campo “sem_pis” : “ true “ | RA_CIC | CPF do Funcionário sem pontos | |
| rg | String | RG do Funcionário | sem SSP e sem data emissão | RA_RG | RG - Registro Geral | ||
| cnpj | String | CNPJ da filial do Funcionário | M0_CGC | CNPJ da filial | |||
| dataCnpj | Date | Data da atribuição do CNPJ da empresa ao funcionário | (DD/MM/AAAA) | Data da transferencia quando mudar de filial | |||
| centroCusto | String | Código do centro de custo do funcionário | RA_CC | Codigo do Centro de Custo Enviar concatenado Empresa + Filial + Código quando tabela exclusiva Enviar concatenado Empresa + Código quando tabela compartilhada | |||
| regimeTrabalho | String | Regime 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_CATFUNC | Categoria Trab. eSocial (criar tabela para cadastrar DE/PARA) | |
| dataNascimento | Date | Data de Nascimento do Funcionário | (DD/MM/AAAA) | RA_NASC | Data de Nascimento | ||
| dataCargo | Date | Data de Alteração de Cargo | Data da alteração da função | ||||
| carga_horaria | number | Definiçã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_HRSMES | Qauntidade de horas mês | ||
| bate_ponto | Objeto | Ponto 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ário | Disponível somente quando habilita o produto do ponto | ||
| data_troca_elegibilidade_ponto | Objeto | Data 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_chefia | String | Matrícula Chefia Imediata | Campo chave para Montagem da Hierarquia | QB_MATRESP | Matricula do responsável | ||
| nome_chefia | String | Nome Chefia Imediata | Montagem da Hierarquia | RA_NOME | Nome do Funcionario | ||
| email_chefia | String | e-mail Chefia Imediata | Montagem da Hierarquia | RA_EMAIL | E-Mail principal | ||
| codSindicato | Person String | Código do Sindicato | Verificar o ID do campo | RA_SINDICA | Codigo do Sindicato Enviar concatenado Empresa + Filial + Código quando tabela exclusiva Enviar concatenado Empresa + Código quando tabela compartilhada | ||
| dataCodSindicato | Date | Data 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 | |||
| telefone | string | Telefone | RA_TELEFON | Número do telefone | |||
| sem_pis | string | *X | *Obrigatório para envios sem PIS Esperado: "true" ou "false" | Preencher com true quando não tiver o PIS cadastrado | |||
| codInterno | string | Concatenar dados com separador Separado por pipe | RA_MAT | Matricula do Funcionario Enviar concatenado Empresa + Filial + Matrícula | |||
| matricula_anterior | string | *X | 1) 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_hora | String | Define o custo hora do funcionário, utilizado para cálculos financeiros. | |||||
| financeiro | Objeto | Indica os campos financeiros | Este campo está relacionados ao campos: salario, beneficios e vr | ||||
| salario | String | Valor 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 | |||
[
{
"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"
}
}
] |
{
"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. |
{
"message": "Request format must be an Array",
"code": 400
} |
ERRO de Autenticação - Code 401:
{
"message": "Unauthorized",
"code": 401
} |
{
"error": {
"message": "Forbidden",
"code": 403
}
} |
Observação: Verificar as permissões do usuário para acessar a rota/serviço.
Dados de Afastamentos
Idem | Descrição |
|---|---|
Fluxo: | Protheus (Cliente) → PontoWeb |
URL API: | |
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 | |
| matricula | String | Identificação do colaborador | X | Campo chave Enviar sempre a matricula atual Concatenar dados sem separador | R8_MAT | Matricula do Funcionario Enviar concatenado Empresa + Filial + Matrícula | |
| motivo | String | Motivo do Afastamento | X | Enviar o Código ou String, é obrigatória uma das informações. Cadastro prévio no PW exatamente iguais ao sitetema de origem | R8_TIPOAFA | Tipo de Afastamento Enviar concatenado Empresa + Filial + Código quando tabela exclusiva Enviar concatenado Empresa + Código quando tabela compartilhada | |
| inicio | String | Data e/ou hora Inicial do Afastamento | X | YYYY-MM-DDTHH:MM (0000) Somente afastamentos em dias | R8_DATAINI | Data inicio do afastamento Hora inicio: (00:00) Hora Final: (24:00) | |
| fim | String | Data e/ou hora Final do Afastamento | X | YYYY-MM-DDTHH:MM (Enviando hora final 2400 corresponde ao dia total) Se data fim vazio, trocar para 31/12/2050 | R8_DATAFIM | Data fim do afastamento Sem data fim, enviar vazio) | |
| cod_interno | String | Código interno do Afastamento | X | A 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 | CHAVE | Sequência Afastamento Informar chave unica para identificar. Concatenar informações(empresa, filial, matricula e Sequencia). | |
| operation | String | Ação a ser realizada | X | DEL 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 | ||
[
{
"matricula": "00000001",
"motivo": "Atestado médico",
"inicio": "2024-01-11T10:00",
"fim": "2024-01-15T23:00",
"cod_interno": "w289fdf2",
"operation": "INS"
}
] |
[
{
"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"
}
] |
{
"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. |
{
"message": "Request format must be an Array",
"code": 400
} |
ERRO de Autenticação - Code 401:
{
"message": "Unauthorized",
"code": 401
} |
{
"error": {
"message": "Forbidden",
"code": 403
}
} |
Observação: Verificar as permissões do usuário para acessar a rota/serviço.
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 | |
| name | Nome | Nome do sindicato | desc | x | Nome do sindicato | |
| cod | Código | Código do sindicato | cod | x | Código do sindicato | |
| cnpjs | CNPJ | CNPJ que está atrelado ao sindicato | cnpj | x | CNPJ que está atrelado ao sindicato | |
{
"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"
}
] |
"errors": [
{
"mensagem": "CNPJ inexistente.",
"cnpj": "05.510.667/0001-58"
}
] |
"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"
} |
{
"code": 422,
"error": true,
"msg": "syndicates is not an array"
} |
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 | |
| cnpj | CNPJ | CNPJ que está atrelado a rubrica | cnpj | x | CNPJ que está atrelado a rubrica | |
| hour | Nome | Nome da rubrica | desc | x | Nome da rubrica | |
| accountingCode | Código | Código da rubrica | cod | x | Código da rubrica | |
| typeEvent | Tipo - 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 | - | |||||
| codigoRescisao | Código | Código da rubrica de recisão | - | |||
| offCycleCode | Código | Código da rubrica de off cycle | - | |||
| delete | false | fixo "false" | - | |||
{
"response": [
{
"items": [
{
"categoria": "Vencimento - Valor",
"cod": "630",
"cnpj": "53.113.791/0001-22",
"desc": "Outros Ganhos"
}
]
}
]
}
|
"errors": [
{
"mensagem": "CNPJ inexistente.",
"cnpj": "05.510.667/0001-58"
}
] |
{
"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"
}
|
{
"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": []
}
} |
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 | |
| matricula | Identificação do colaborador | Pode ser alfanumerica Campo matrícula | RGB_MAT | x | Matricula do Funcionario Enviada concatenado Empresa + Filial + Matrícula | Matrícula do Funcionário | |
| anocom | Ano da competência | Padrão AAAA | RGB_PERIOD | x | Código do Período. Enviar concatenado AnoMes (AAAAMM) | Concatenar AnoMes (AAAAMM) | |
| mescom | Mês da competência | Padrã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_SEMANA | x | Nú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 | |
| rubrica | Código do Evento / Rubrica | Será cadastrado no PW igual o sistema de destino | RGB_PD | x | Có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 | |
| referencia | Referencia em horas ou dias | Horas sexagesimal (serparador ",") Ex: 1h30min, enviar 1,30 Dias em número inteiro Ex: 3 dias, enviar 3 | RGB_HORAS | x | Numero 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 ",") | |
| datafalta | Envio de evento de falta, envio da data em período sequencial deve ser enviada a data dia-a-dia | Envio de altas dia-a-dia formato (AAAAMMDD) | RGB_DTREF | x | Envio 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 | ||||||
{
"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"
}
]
}
]
} |
{
"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"
}
]
}
]
} |
{
"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"
}
]
}
]
} |