01. DADOS GERAIS
Produto: | TOTVS RH
|
---|---|
Linha de Produto: | Linha Protheus |
Segmento: | RH |
Módulo: | GESTÃO DE PESSOAS (SIGAGPE) |
Função: | POR FUNCIONÁRIO (GPEA090) |
Ticket: | |
Requisito/Story/Issue (informe o requisito relacionado) : | DRHCALCPRT-13991 |
02. SITUAÇÃO/REQUISITO
Criação de API para integração dos resultados do ponto originados do sistema Ahgora para o Protheus.
03. SOLUÇÃO
Foi criado a API 'results', para receber os resultados originados do sistema de ponto da Ahgora, para integração nos lançamentos do funcionário no Protheus.
Este método é responsável por importar os resultados do sistema Ahgora, nos lançamentos do funcionário no Protheus.
- Endpoint: api/rh/v1/ahgora/results
- Método: POST
- Autenticação: Basic
Importante
Autenticação Basic: Enviar usuário e senha do protheus no header da requisição.
Body da requisição
Campos Protheus | Propriedades API | Descrição |
---|---|---|
RGB_MAT | matricula | Matrícula do funcionário - Matrícula deve ser enviada concatenada sem o pipe: Empresa + Filial + Matricula |
RGB_PERIOD | anocom | Ano do período do resultado |
RGB_PERIOD | mescom | Mês do período do resultado |
RGB_SEMANA | campoAdicional | Para o protheus será tratado para verificar a semana do período |
codfuncionario | Código do funcionário separado por pipe contendo Empresa + Filial + Matrícula | |
RGB_PD | rubrica | Código da verba do funcionário |
RGB_HORAS | referencia | Referência em horas ou dia da verba |
RGB_DTREF | datafalta | Data da falta |
Importante
- Envio do atributo 'datafalta' vazio, será assumido o primeiro dia do período que está sendo processado, todas as verbas serão gravadas com referência.
- Para o atributo 'campoAdicional', para o protheus será usado para enviar a semana do período, caso seja enviado vazio, será assumido a semana aberta do período em questão.
- Caso ocorra um segundo envio do resultado para o funcionário no mesmo período, o primeiro envio do resultado será deletado da tabela RGB, e será gravado apenas o último envio.
Body
{ "items": [ { "matricula": "0101000001", "anocom": "2024", "mescom": "08", "campoAdicional": "1", "codfuncionario": "01|01|000001", "resultados": [ { "rubrica": "114", "referencia": "1,30", "datafalta": "" } ] } ] }
Retorno
Propriedades API | Descrição |
---|---|
matricula | Matrícula do funcionário concatenada por Empresa + Filial + Matricula |
rubrica | Verba processada |
status | Status 'S'(Sucesso) ou 'E'(Erro) |
mensagem | Detalhe da mensagem |
referencia | Referência da rubrica |
datafalta | Data da falta quando houver |
Retorno status 'S'
Operação realizada com sucesso!
{ "response": [ { "resultados": [ { "matricula": "0101000001", "rubrica": "114", "status": "S", "mensagem": "Operação realizada com sucesso!", "referencia": "1", "datafalta": "20240722" } ] } ] }
Retorno status 'E'
Verba não encontrada na base de dados
{ "response": [ { "resultados": [ { "matricula": "0101000001", "rubrica": "ASD", "status": "E", "mensagem": "Verba não encontrada na base de dados.", "referencia": "1", "datafalta": "" } ] } ] }
Retorno funcionário não encontrada na base de dados
{ "response": [ { "resultados": [ { "matricula": "0101XXXXXX", "rubrica": "001", "status": "E", "mensagem": "Funcionário não localizado na base de dados.", "referencia": "1", "datafalta": "20240722" }, { "matricula": "0101XXXXXX", "rubrica": "001", "status": "E", "mensagem": "Funcionário não localizado na base de dados.", "referencia": "1", "datafalta": "20240723" } ] } ] }
Retorno de usuário sem permissão de acesso
{ "response": [ { "resultados": [ { "matricula": "0101000001", "rubrica": "Z52", "status": "E", "mensagem": "Usuário sem permissão de acesso na Empresa/Filial.", "referencia": "1", "datafalta": "" }, { "matricula": "0101000001", "rubrica": "Z53", "status": "E", "mensagem": "Usuário sem permissão de acesso na Empresa/Filial.", "referencia": "1", "datafalta": "" } ] } ] }
Retorno de empresa/filial inexistente na base de dados
{ "response": [ { "resultados": [ { "matricula": "0101000001", "rubrica": "Z52", "status": "E", "mensagem": "Empresa/Filial não encontradas na base de dados.", "referencia": "1", "datafalta": "" } ] } ] }
Retorno de período do processamento não encontrado ou fechado
{ "response": [ { "resultados": [ { "matricula": "0101000001", "rubrica": "202", "status": "E", "mensagem": "Período/Semana não encontrados na base de dados ou o período está fechado. Necessário verificar o cadastro de períodos!", "referencia": "1", "datafalta": "20240722" }, { "matricula": "0101000002", "rubrica": "203", "status": "E", "mensagem": "Período/Semana não encontrados na base de dados ou o período está fechado. Necessário verificar o cadastro de períodos!" "referencia": "1", "datafalta": "" } ] } ] }
Retorno de limite de lançamentos diários para a mesma verba
{ "response": [ { "resultados": [ { "matricula": "T2D MG 02 600528", "rubrica": "003", "status": "S", "mensagem": "Operação realizada com sucesso!", "referencia": "1,30", "datafalta": "" }, { "matricula": "T2D MG 02 600528", "rubrica": "003", "status": "E", "mensagem": "Verba ultrapassou o limite de lançamentos diários, verificar o cadastro da verba.", "referencia": "1,30", "datafalta": "20220102" }, { "matricula": "T2D MG 02 600528", "rubrica": "003", "status": "E", "mensagem": "Verba ultrapassou o limite de lançamentos diários, verificar o cadastro da verba.", "referencia": "1,30", "datafalta": "20220103" } ] } ] }
{ "code": 400, "message": "Não foi enviado nenhum registro na requisição para ser gravado." }
04. DEMAIS INFORMAÇÕES
Não se aplica
05. ASSUNTOS RELACIONADOS
Visão Geral
Import HTML Content
Conteúdo das Ferramentas
Tarefas