Árvore de páginas


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

              Configuração REST