Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.


01. DADOS GERAIS

Produto:

TOTVS RH

Solucoes_totvs
Solucao

Solucoes_totvs_cross
SolucaoCross

Solucoes_totvs_parceiros
SolucaoParceiros

Solucoes_totvs_parceirosexptotvs
SolucaoParcsExpsTOTVS

Linha de Produto:

Linha Protheus 

Linhas_totvs

Segmento:

RH 

Segmentos_totvs
Segmento

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


Cadastros Básicos para integração

 Antes da integração dos resultados para o Protheus, é necessário que existam cadastros básicos no sistema da Ahgora, para os resultados, devem ser cadastradas as verbas:

  • Verbas - Tabela SRV; -

Os códigos deverão ser enviados concatenados com empresa/filial(Quando for exclusiva) e código do registro.

Nota
titleObservação

Os cadastros básicos serão realizados pela equipe de implantação. Quem estiver responsável pela implantação deverá extrair os dados do Protheus e concatenar os códigos correspondentes de cada empresa/filial antes de importá-los no sistema Ahgora.

Para essa extração no protheus, pode ser usada a consulta genérica.

Documentação: RH - Linha Protheus - GPE - Consulta de informações em arquivos por Consulta Genérica



Informações
titleImportante
Autenticação Basic: Enviar usuário e senha do protheus no header da requisição.

 Body da requisição

Deck of Cards
startHiddenfalse
idbody
Card
defaulttrue
idbody1
labelDefinição das propriedades
titleDefinição das propriedades
Campos ProtheusPropriedades APIDescrição
RGB_MATmatriculaMatrícula do funcionário - Matrícula deve ser enviada concatenada sem o pipe: Empresa + Filial + Matricula 
RGB_PERIODanocomAno do período do resultado
RGB_PERIODmescomMês do período do resultado
RGB_SEMANAcampoAdicionalPara o protheus será tratado para verificar a semana do período

codfuncionarioCódigo do funcionário separado por pipe contendo Empresa + Filial + Matrícula
RGB_PDrubricaCódigo da verba do funcionário 
RGB_HORASreferenciaReferência em horas ou dia da verba
RGB_DTREFdatafaltaData da falta


Informações
titleImportante
  • 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.
Card
idbody2
labelBody
titleBody
Bloco de código
languagecpp
themeConfluence
titleBody
{
  "items": [
    {
      "matricula": "0101000001",
      "anocom": "2024",
      "mescom": "08",
      "campoAdicional": "1",
      "codfuncionario": "01|01|000001",
      "resultados": [
        {
          "rubrica": "114",
          "referencia": "1,30",
          "datafalta": ""
        }
      ]
    }
  ]
}


    Retorno

Deck of Cards
startHiddenfalse
idretorno
Card
defaulttrue
id200ok
label200 - OK
titleSucesso
Propriedades APIDescrição
matriculaMatrícula do funcionário  concatenada por Empresa + Filial + Matricula
rubricaVerba processada
statusStatus 'S'(Sucesso) ou 'E'(Erro)
mensagemDetalhe da mensagem
referenciaReferência da rubrica
datafaltaData da falta quando houver


Retorno status 'S'

Bloco de código
languagecpp
themeConfluence
titleOperaçã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' 

Bloco de código
languagecpp
themeConfluence
titleVerba 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": ""  
        }
      ]
    }
  ]
}


Bloco de código
languagecpp
themeConfluence
titleRetorno 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"           
        }
      ]
    }
  ]
}
Bloco de código
languagecpp
themeConfluence
titleRetorno 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": ""  
        }
      ]
    }
  ]
}
Bloco de código
languagecpp
themeConfluence
titleRetorno 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": ""  
        }
      ]
    }
  ]
}
Bloco de código
languagecpp
themeConfluence
titleRetorno 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": ""  
        }
      ]
    }
  ]
}
Bloco de código
languagecpp
themeConfluence
titleRetorno 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"
        }
      ]
    }
  ]
}
Card
id400bas
label400 - Solicitação inválida
titleBody
Bloco de código
languagecpp
themeConfluence
{
  "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

        Não se aplica Configuração REST




Templatedocumentos