CONTEÚDO

  1. Visão Geral
  2. Menu
  3. Integração
  4. Atualização/Dicionário
  5. Informações Técnicas APIs
  6. Documentos Relacionados
  7. Vídeos






Informações Técnicas da API

Este detalhamento tem como objetivo registrar os endpoints da interface da integração com Ahgora, desenvolvida utilizando PO-UI.


Objetivo: Busca dos dados para listagem dos funcionários e envio dos funcionários selecionados para o back-end.


Tipo de requisição: GET/POST

Endpoint: /api/rh/v1/RefificaPerAnt


Get:

Query Params:

Nome

Descrição

Tipo

Obrigatório

Exemplo

page

Número da página

number

Sim

1

pageSize

Tamanho da página

number

Sim

100

dataAdmissaoDe

Data de Admissão De

string

Sim

"2023-01-02T16:37:02-03:00"

dataAdmissaoAte

Data de demissão do funcionário Até

string

Não

"2024-01-02T16:37:02-03:00"

branchCode

Filial (Multi Valores separados por vírgula)

string

Sim

“D MG 01,D MG 02”

matCode

Matrícula De

string

Não

000001

matCodeAte

Matrícula Até

string

Não

000004

situacao

Situação do funcionário (Multi Valores separados por vírgula)

string

Não

N,A

categoria

Categoria do funcionário (Multi Valores separados por vírgula)

string

Não

M,E

tipostatus

Tipo do status (Multi Valores separados por vírgula)

string

Não

0-Não Integrados; 3-Com Inconsistências; 4-Aguardando Retorno; 6-Integrados;

codCC

Centro de custo De 

string

Não

001

codCCAte

Centro de Custo Até

string

Não

001

codFuncao

Função De

string

Não

001

codFuncaoAte

Função Até

string

Não

001

codDepto

Departamento De

string

Não

000000061

codDeptoAte

Departamento Até

string

Não

000000061

turnoCode

Turno De

string

Não

001

turnoCodeAte

Turno Até

string

Não

001


Estrutura de Retorno:

Campo

Tipo

Exemplo

statusAhgora(obrigatório)

string

NI(Não Integrado), IN(Integrado), CI(Com inconsistência), AR(Aguardando retorno)

matricula(obrigatório)

string

0101000001

dataAdmissao(obrigatório)

string

2024-01-01

dataDemissao

string

""

escala_padrao

string

001

cargo

string

001 - BIOMEDICO ASSIST. II

departamento

string

001 - Departamento RH

centroCusto

string

001 - CC Tecnologia 

codInterno(obrigatório)

string

01|01|040924

tpMovimento(obrigatório)

string

I(Inclusão), A(Alteração)

dtMovimento(obrigatório)

string

2024-09-05


Exemplo de Requisição:

GET: api/rh/v1/ahgora/funcionarios?page=1&pageSize=100&dataAdmissaoDe=2024-01-01T17:29:41-03:00&dataAdmissaoAte=2024-09-05T17:29:41-03:00&branchCode=01,02&situacao=

N,A&categoria=M,E&tipostatus=0,6&codCC=001%20%20%20%20%20%20&codCCAte=001%20%20%20%20%20%20&codFuncao=001%20%20&codFuncaoAte=001%20%20&turnoCode=001&turnoCodeAte=001

Se atentar com a paginação.

{
  "items": [
      {
          "statusAhgora": "NI",
          "matricula": "0101040924",
          "nome": "John Doe",
          "dataAdmissao": "2024-01-01",
          "dataDemissao": "",
          "escala_padrao": "001",
          "cargo": "001 - BIOMEDICO ASSIST. II",
          "departamento": "",
          "centroCusto": "001 - CC Tecnologia da Informac",
          "codInterno": "01|01|040924",
          "tpMovimento": "I",
          "dtMovimento": "2024-09-05"
      },
      {
          "statusAhgora": "NI",
          "matricula": "0101999557",
          "nome": "Jane Doe",
          "dataAdmissao": "2024-01-01",
          "dataDemissao": "",
          "escala_padrao": "001",
          "cargo": "001 - BIOMEDICO ASSIST. II",
          "departamento": "",
          "centroCusto": "001 - CC Tecnologia da Informac",
          "codInterno": "01|01|999557",
          "tpMovimento": "I",
          "dtMovimento": "2024-09-05"
      }
  ],
  "hasNext": false
}


Post:  /api/rh/v1/ahgora/funcionarios

Nome

Descrição

Tipo

Obrigatório

Exemplo

codInterno

Código interno do funcionário

string

Sim

01|01|210824

dtMovimento

Data do movimento

string

Sim

2024-09-05

tpMovimento

Tipo do movimento

string

Sim

I(Inclusão)


A partir do filtro realizado, ao clicar em integrar funcionário, os dados serão enviados para o back-end.

{
  "items":
  [
    {
      "codInterno":"01|01|210824",
      "tpMovimento":"I",
      "dtMovimento":"2024-09-05"
    }
  ]
}


Com os dados postados, o back-end se encarregará de montar o body para requisição de envio para o Ahgora: https://api.ahgora.com.br/people

[
  {
    "matricula": "0101210824",
    "nome": "John Doe",
    "pis": "",
    "matricula_esocial": "010121082420240821162913      ",
    "dataAdmissao": "2024-01-01",
    "dataDemissao": "",
    "escala_padrao": "001",
    "lastChangeDefaultSchedule": "",
    "tipo_escala": "",
    "ctps": "       ",
    "cargo": "001 - BIOMEDICO ASSIST. II",
    "departamento": "",
    "sexo": "M",
    "email": "                                                  ",
    "cpf": "           ",
    "rg": "               ",
    "cnpj": "53113791000122",
    "dataCnpj": "",
    "centroCusto": "001",
    "regimeTrabalho": "CLT",
    "dataNascimento": "1990-01-01",
    "dataCargo": "",
    "carga_horaria": 220,
    "bate_ponto": "Ponto Obrigatorio",
    "data_troca_elegibilidade_ponto": "2024-01-01",
    "matricula_chefia": "",
    "nome_chefia": "",
    "email_chefia": "",
    "codSindicato": "01",
    "dataCodSindicato": "",
    "telefone": "                    ",
    "sem_pis": true,
    "codInterno": "01|01|210824",
    "matricula_anterior": ""
  }
]


Retorno do código unique e do subunique de processamento retornado pela Ahgora

{
  "company":"a148176",
  "message":"Employee's Integration on progress",
  "unique":"b6ca283f",

   "subunique":"b6ca283f"
}


Devolver o retorno para o POUI com o status da integração para que seja atualizado a lista, nesse caso 'AR' (Aguardando retorno), pois ainda não foi feita a consulta do subunique.

Estrutura de Retorno:

Campo

Tipo

Exemplo

codInterno

string

01|01|210824

statusAhgora

string

AR

{
  "items":
  [
    {
      "codInterno":"01|01|210824",
      "statusAhgora":"AR"
      }
  ]
}


Para o retorno de erro, seguir a estrutura abaixo.

Campo

Tipo

code

number

message

string

detailedMessage

string

type

string (“error”, “warning”, “success”)

{
    "code": 500,
    "detailedMessage": "",
    "message": "Internal Server Error",
    "type": "error"
}

Objetivo: Busca dos dados para listagem dos afastamentos e envio dos afastamentos selecionados para o back-end.


Tipo de requisição: GET/POST

Endpoint: /api/rh/v1/ahgora/afastamentos


Get:

Query Params:

Nome

Descrição

Tipo

Obrigatório

Exemplo

page

Número da página

number

Sim

1

pageSize

Tamanho da página

number

Sim

100

dataAfastDe

Data Afastamento De

string

Sim

"2019-01-02T16:37:02-03:00"

dataAfastAte

Data Afastamento Até

string

Não

"2024-01-02T16:37:02-03:00"

branchCode

Filial (Multi Valores separados por vírgula)

string

Sim

"01,02"

matCode

Matrícula De

string

Não

000004

matCodeAte

Matrícula Até

string

Não

000004

situacao

Situação do funcionário (Multi Valores separados por vírgula)

string

Não

N,A

categoria

Categoria do funcionário (Multi Valores separados por vírgula)

string

Não

M,E

tipostatus

Tipo do status (Multi Valores separados por vírgula)

string

Não

0,6

codCC

Centro de custo De 

string

Não

001

codCCAte

Centro de Custo Até

string

Não

001

codFuncao

Função De

string

Não

001

codFuncaoAte

Função Até

string

Não

001

codDepto

Departamento De

string

Não

000000061

codDeptoAte

Departamento Até

string

Não

000000061

turnoCode

Turno De

string

Não

001

turnoCodeAte

Turno Até

string

Não

001


Estrutura de Retorno:

Campo

Tipo

Exemplo

statusAhgora(obrigatório)

string

NI(Não Integrado), IN(Integrado), CI(Com inconsistência), AR(Aguardando retorno)

matricula(obrigatório)

string

0101000001

nome

string

John Doe

motivo

string

004 - Afastamento Temporário por Doença

inicio

string

2019-01-01

fim

string

2019-01-02

cod_interno(obrigatório)

string

01.01.000004.001

tpMovimento(obrigatório)

string

I(Inclusão)

dtMovimento(obrigatório)

string

2024-09-06


Exemplo de Requisição:

GET: api/rh/v1/ahgora/afastamentos?page=1&pageSize=100&dataAfastDe=2000-01-01T08:39:02-03:00&dataAfastAte=2024-09-06T08:39:02-03:00&branchCode=01&

matCode=&matCodeAte=&situacao=&categoria=&tipostatus=&codCC=&codCCAte=&codFuncao=&codFuncaoAte=&codDepto=&codDeptoAte=&turnoCode=&turnoCodeAte=

Se atentar com a paginação.

{
  "items": [
      {
          "statusAhgora": "NI",
          "matricula": "0101000004",
          "nome": "John Doe",
          "motivo": "004 - Afastamento Temporário por Doença",
          "inicio": "2019-01-01",
          "fim": "2019-01-02",
          "cod_interno": "01.01.000004.001",
          "tpMovimento": "I",
          "dtMovimento": "2024-09-06"
      },
      {
          "statusAhgora": "NI",
          "matricula": "0101000962",
          "nome": "John Doe",
          "motivo": "004 - Afastamento Temporário por Doença",
          "inicio": "2023-01-01",
          "fim": "2023-01-02",
          "cod_interno": "01.01.000962.003",
          "tpMovimento": "I",
          "dtMovimento": "2024-09-06"
      }
  ],
  "hasNext": true
}


Post:  /api/rh/v1/ahgora/afastamentos

Nome

Descrição

Tipo

Obrigatório

Exemplo

cod_interno

Código interno do afastamento

string

Sim

01.01.000004.001

dtMovimento

Data do movimento

string

Sim

2024-09-06

tpMovimento

Tipo do movimento

string

Sim

I(Inclusão)


A partir do filtro realizado, ao clicar em integrar afastamento, os dados serão enviados para o back-end.

{
  "items":
  [
    {
      "cod_interno":"01.01.000004.001",
      "tpMovimento":"I",
      "dtMovimento":"2024-09-06"
    }
  ]
}


Com os dados postados, o back-end se encarregará de montar o body para requisição de envio para o Ahgora: https://api.ahgora.com.br/absences

Obs* Caso não exista data fim, enviar uma fictícia, exemplo: 31/12/2099 

[
  {
    "matricula": "0101000004",
    "motivo": "004",
    "inicio": "2019-01-01",
    "fim": "2019-01-02",
    "cod_interno": "01.01.000004.001",
    "operation": "INS"
  }
]


Retorno do código unique e o subunique de processamento retornado pela Ahgora

{
  "company":"a148176",
  "message":"Employee's Integration on progress",
  "unique":"c5ga345h",

 "subunique":"g5ca253j"
}


Devolver o retorno para o POUI com o status da integração para que seja atualizado a lista, nesse caso 'AR' (Aguardando retorno), pois ainda não foi feita a consulta do subunique.

Estrutura de Retorno:

Campo

Tipo

Exemplo

codInterno

string

01.01.000004.001

statusAhgora

string

AR

{
  "items":
  [
    {
      "codInterno":"01.01.000004.001",
      "statusAhgora":"AR"
    }
  ]
}


Para o retorno de erro, seguir a estrutura abaixo.

Campo

Tipo

code

number

message

string

detailedMessage

string

type

string (“error”, “warning”, “success”)

{
    "code": 500,
    "detailedMessage": "",
    "message": "Internal Server Error",
    "type": "error"
}

Objetivo: Busca dos dados para listagem dos afastamentos excluídos e envio dos afastamentos excluídos selecionados para o back-end.


Tipo de requisição: GET/POST

Endpoint: /api/rh/v1/ahgora/afastamentos/exclusao


Get:

Query Params:

Nome

Descrição

Tipo

Obrigatório

Exemplo

page

Número da página

number

Sim

1

pageSize

Tamanho da página

number

Sim

100

dataExcDe

Data Exclusão De

string

Sim

"2019-01-02T16:37:02-03:00"

dataExcAte

Data Exclusão Até

string

Não

"2024-01-02T16:37:02-03:00"

branchCode

Filial (Multi Valores separados por vírgula)

string

Sim

"01,02"

matCode

Matrícula De

string

Não

000002

matCodeAte

Matrícula Até

string

Não

000002

situacao

Situação do funcionário (Multi Valores separados por vírgula)

string

Não

N,A

categoria

Categoria do funcionário (Multi Valores separados por vírgula)

string

Não

M,E

tipostatus

Tipo do status (Multi Valores separados por vírgula)

string

Não

0,6

codCC

Centro de custo De 

string

Não

001

codCCAte

Centro de Custo Até

string

Não

001

codFuncao

Função De

string

Não

001

codFuncaoAte

Função Até

string

Não

001

codDepto

Departamento De

string

Não

000000061

codDeptoAte

Departamento Até

string

Não

000000061

turnoCode

Turno De

string

Não

001

turnoCodeAte

Turno Até

string

Não

001


Estrutura de Retorno:

Campo

Tipo

Exemplo

statusAhgora(obrigatório)

string

NI(Não Integrado), IN(Integrado), CI(Com inconsistência), AR(Aguardando retorno)

matricula(obrigatório)

string

0101000001

nome

string

John Doe

motivo

string

004 - Afastamento Temporário por Doença

inicio

string

2019-01-01

fim

string

2019-01-02

cod_interno(obrigatório)

string

01.01.000004.001

tpMovimento(obrigatório)

string

E(Inclusão)

dtMovimento(obrigatório)

string

2024-09-06


Exemplo de Requisição:

GET: api/rh/v1/ahgora/afastamentos/exclusao?page=1&pageSize=100&dataExcDe=2000-01-01T09:03:57-03:00&dataExcAte=2024-09-06T09:03:57-03:00&

branchCode=01&matCode=&matCodeAte=&situacao=&categoria=&tipostatus=&codCC=&codCCAte=&codFuncao=&codFuncaoAte=&codDepto=&codDeptoAte=&turnoCode=&turnoCodeAte=

Se atentar com a paginação.

{
  "items": [
      {
          "statusAhgora": "NI",
          "matricula": "0101000002",
          "nome": "Jane Doe",
          "motivo": "004 - Afastamento Temporário por Doença",
          "inicio": "2024-08-01",
          "fim": "2024-08-10",
          "cod_interno": "01.01.000002.001",
          "tpMovimento": "E",
          "dtMovimento": "2024-08-29"
      }
  ],
  "hasNext": false
}


Post:  /api/rh/v1/ahgora/afastamentos/exclusao

Nome

Descrição

Tipo

Obrigatório

Exemplo

cod_interno

Código interno do afastamento

string

Sim

01.01.000002.001

dtMovimento

Data do movimento

string

Sim

2024-08-29

tpMovimento

Tipo do movimento

string

Sim

E(Exclusão)


A partir do filtro realizado, ao clicar em integrar afastamento, os dados serão enviados para o back-end.

{
  "items":
  [
    {
      "cod_interno":"01.01.000002.001",
      "tpMovimento":"E",
      "dtMovimento":"2024-08-29"
    }
  ]
}


Com os dados postados, o back-end se encarregará de montar o body para requisição de envio para o Ahgora: https://api.ahgora.com.br/absences 

Poderá ser enviado dessa forma

[
  {
    "matricula": "0101000002",
    "motivo": "004",
    "inicio": "2024-08-01",
    "fim": "2024-08-10",
    "cod_interno": "01.01.000002.001",
    "operation": "DEL"
  }
]


Ou enviar apenas o código interno e a operação

 [
  {
    "cod_interno": "01.01.000002.001",
    "operation": "DEL"
  }
]


Retorno do código unique e do subunique de processamento retornado pela Ahgora

{
  "company":"a148176",
  "message":"Employee's Integration on progress",
  "unique":"d6jb378d",

 "subunique":"a4ga453k"
}


Devolver o retorno para o POUI com o status da integração para que seja atualizado a lista, nesse caso 'AR' (Aguardando retorno), pois ainda não foi feita a consulta do subunique.

Estrutura de Retorno:

Campo

Tipo

Exemplo

codInterno

string

01.01.000002.001

statusAhgora

string

AR

{
  "items":
  [
    {
      "codInterno":"01.01.000002.001",
      "statusAhgora":"AR"
    }
  ]
}


Para o retorno de erro, seguir a estrutura abaixo.

Campo

Tipo

code

number

message

string

detailedMessage

string

type

string (“error”, “warning”, “success”)

{
    "code": 500,
    "detailedMessage": "",
    "message": "Internal Server Error",
    "type": "error"
}

Objetivo: Obter o status da integração


Tipo de requisição: POST

Endpoint: /api/rh/v1/ahgora/status/

Query Params:

Campo

Descrição

Tipo

Obrigatório

Exemplo

cApi

Tipo da API: 1-People; 2-Absences;

string

SIM

1


Ao selecionar os registros com status 'Aguardando retorno' e clicar no botão atualizar Status, os registros serão enviados para o back-end.

Exemplo de Requisição:

POST: api/rh/v1/ahgora/status/?cApi=1

{
  "items": [
   {
    "codInterno":"01|01|000002"
   }
  ]
}


POST: api/rh/v1/ahgora/status/?cApi=2

{
  "items":
  [
   {
    "codInterno":"01.01.000002.001"
   }
  ]
}


Com o código interno em mãos, será necessário encontrar o código subunique gravado anteriormente para fazer o get na API da Ahgora:  https://api.ahgora.com.br/process/?subunique=1837fb40

Retorno do status da Ahgora para o subunique pesquisado.

Veja que nesse caso o retorno veio com 2 erros, que devem ser gravados para posterior consulta na tela.

Os erros precisam ser gravados separados por pipe quando existir mais de um, exemplo: Centro de custo inválido | CNPJ inválido

{
  "data": {
    "errors": [
      {
        "identifier": "0101000004",
        "message": [
          "Centro de custo inválido",

          "CNPJ inválido"

        ]
      }
    ]
  },
  "company": "a148176",

  "unique": "0b8ef0cc",
  "subunique": "1837fb40",
  "status": "error",
  "progress": {
    "done": "1",
    "total": "1"
  }
}


Estrutura de Retorno para o POUI:

Campo

Tipo

codInterno

string

statusAhgora

string


Como o retorno está com inconsistência, devolvo com status 'CI'

{
  "items": [
    {
      "codInterno":  "01.01.000004.001",
      "statusAhgora":"CI"
      }
    ]
}


Para o retorno de erro, seguir a estrutura abaixo.

Campo

Tipo

code

number

message

string

detailedMessage

string

type

string (“error”, “warning”, “success”)

{
    "code": 500,
    "detailedMessage": "",
    "message": "Internal Server Error",
    "type": "error"
}

Objetivo: Consulta status do registro com inconsistência posicionado na linha


Tipo de requisição: GET

Endpoint: /api/rh/v1/ahgora/status/:codInterno

Query Params:

Campo

Descrição

Tipo

Obrigatório

Exemplo

cApi

Tipo da API: 1-People; 2-Absences;

string

SIM

1


Estrutura de Retorno:

Campo

Tipo

status

string


Exemplo de Requisição:

GET: api/rh/v1/ahgora/status/010100004?cApi=1

Buscamos o status do registro com inconsistência, no retorno da Ahgora caso exista mais de um erro deve ser separado por pipe conforme explicado na seção 'Atualizar Status'

{
  "items": [
    {
      "status":"Centro de custo inválido | CNPJ inválido"
      }
    ]
  }


O pipe é necessário para a quebra de linha e visualização em tela conforme imagem abaixo.

Obs* A numeração é feita pelo POUI.


Para o retorno de erro, seguir a estrutura abaixo.

Campo

Tipo

code

number

message

string

detailedMessage

string

type

string (“error”, “warning”, “success”)

{
    "code": 500,
    "detailedMessage": "",
    "message": "Internal Server Error",
    "type": "error"
}

Objetivo: Consulta do lote de envio


Tipo de requisição: GET

Endpoint: /api/rh/v1/ahgora/lote/:codInterno

Query Params:

Campo

Descrição

Tipo

Obrigatório

Exemplo

cApi

Tipo da API: 1-People; 2-Absences;

string

SIM

2


Estrutura de Retorno:

Campo

Tipo

lote

string

data

string

hora

string


Exemplo de Requisição:

GET: api/rh/v1/ahgora/lote/01.01.125803.001?cApi=2

Passamos o código interno do funcionário e o tipo da API para que possam encontrar o lote salvo anteriormente para o registro.

{
  "items": [
      {
          "lote": "[{\"matricula\": \"0101125803\",\"motivo\": \"001\",\"inicio\": \"2024-01-29\",\"fim\": \"2024-02-17\",\"cod_interno\": \"01.01.125803.001\",\"operation\": \"INS\"}]",
          "data": "2024-08-30",
          "hora": "19:44:02"
      }
  ]
}


Para o retorno de erro, seguir a estrutura abaixo.

Campo

Tipo

code

number

message

string

detailedMessage

string

type

string (“error”, “warning”, “success”)

{
    "code": 500,
    "detailedMessage": "",
    "message": "Internal Server Error",
    "type": "error"
}



Objetivo: Listagem de Filiais 


Tipo de requisição: GET

Endpoint: /api/rh/v1/ahgora/branches

Query Params:

Campo

Descrição

Tipo

Obrigatório

Exemplo

page

Número da página

number

SIM

1

pageSize

Tamanho da página

numer

SIM

50

filter

Campo automático do lookup. Pode filtrar o código ou nome da filial

string

Não

“Filial X”


Estrutura de Retorno:

Para conseguirmos abranger todas as áreas, utilizamos a nomenclatura abaixo.

Campo

Tipo

branchCode

string

branchName

string


Exemplo de Requisição:

GET: api/rh/v1/ahgora/branches?filter=&page=1&pageSize=50

{
  "items": [
      {
          "branchCode": "01",
          "branchName": "Matriz"
      },
      {
          "branchCode": "02",
          "branchName": "Suporte-Suporte"
      },
      {
          "branchCode": "03",
          "branchName": "Santos"
      },
      {
          "branchCode": "04",
          "branchName": "São Vicente"
      }
  ],
  "hasNext": false
}


É possível também digitar no campo sem entrar no lookup para buscar uma filial.

Get: api/rh/v1/ahgora/branches/01

{
  "items": [
      {
          "branchCode": "01",
          "branchName": "Matriz"
      }
  ]
}


Para o retorno de erro, seguir a estrutura abaixo.

Campo

Tipo

code

number

message

string

detailedMessage

string

type

string (“error”, “warning”, “success”)

{
    "code": 500,
    "detailedMessage": "",
    "message": "Internal Server Error",
    "type": "error"
}

Objetivo: Listagem das Matrículas


Tipo de requisição: GET

Endpoint: /api/rh/v1/ahgora/matricula

Query Params:

Campo

Descrição

Tipo

Obrigatório

Exemplo

page

Número da página

number

SIM

1

pageSize

Tamanho da página

numer

SIM

50

filter

Campo automático do lookup. Pode filtrar a matrícula

string

Não

“Matrícula X”

branchCode

Código da filial que está no filtro

string

Não

04


Obs* O filtro da filial é obrigatório, ele vai estar no filtro da matrícula caso queira retornar apenas as matrículas das filiais selecionadas.


Estrutura de Retorno:

Para conseguirmos abranger todas as áreas, utilizamos a nomenclatura abaixo.

Campo

Tipo

branchCode

string

branchName

string


Exemplo de Requisição:

GET: api/rh/v1/ahgora/matricula?filter=&page=1&pageSize=50&branchCode=04 

Como passei a filial 04 que está no filtro, optei por carregar apenas matrículas dessa filial

{
  "items": [
      {
          "filMat": "04",
          "matCode": "000001",
          "matName": "John Doe"
      },
      {
          "filMat": "04",
          "matCode": "152062",
          "matName": "Jane Doe"
      }
  ],
  "hasNext": false
}


Para o retorno de erro, seguir a estrutura abaixo.

Campo

Tipo

code

number

message

string

detailedMessage

string

type

string (“error”, “warning”, “success”)

{
    "code": 500,
    "detailedMessage": "",
    "message": "Internal Server Error",
    "type": "error"
}

Objetivo: Listagem dos Turnos


Tipo de requisição: GET

Endpoint: /api/rh/v1/ahgora/turno

Query Params:

Campo

Descrição

Tipo

Obrigatório

Exemplo

page

Número da página

number

SIM

1

pageSize

Tamanho da página

numer

SIM

50

filter

Campo automático do lookup. Pode filtrar o turno

string

Não

“Turno X”

branchCode

Código da filial que está no filtro

string

Não

02


Obs* O filtro da filial é obrigatório, ele vai estar no filtro do turno caso queira retornar apenas os turnos das filiais selecionadas.


Estrutura de Retorno:

Campo

Tipo

filTurno

string

turnoCode

string

turnoDesc

string


Exemplo de Requisição:

GET: api/rh/v1/ahgora/turno?filter=&page=1&pageSize=50&branchCode=02

Como passei a filial 02 que está no filtro, optei por carregar apenas os turnos dessa filial

{
  "items": [
      {
          "filTurno": "02",
          "turnoCode": "001",
          "turnoDesc": "001"
      }
  ],
  "hasNext": false
}


Para o retorno de erro, seguir a estrutura abaixo.

Campo

Tipo

code

number

message

string

detailedMessage

string

type

string (“error”, “warning”, “success”)

{
    "code": 500,
    "detailedMessage": "",
    "message": "Internal Server Error",
    "type": "error"
}

Objetivo: Listagem dos Centros de Custo


Tipo de requisição: GET

Endpoint: /api/rh/v1/ahgora/ccusto

Query Params:

Campo

Descrição

Tipo

Obrigatório

Exemplo

page

Número da página

number

SIM

1

pageSize

Tamanho da página

numer

SIM

50

filter

Campo automático do lookup. Pode filtrar o C.Custo

string

Não

“CCusto X”

branchCode

Código da filial que está no filtro

string

Não

02


Obs* O filtro da filial é obrigatório, ele vai estar no filtro do centro de custo caso queira retornar apenas os centros de custo das filiais selecionadas.


Estrutura de Retorno:

Campo

Tipo

filCC

string

codCC

string

ccDesc

string


Exemplo de Requisição:

GET: api/rh/v1/ahgora/ccusto?filter=&page=1&pageSize=10&branchCode=02

Como a tabela de Centro de Custo é compartilhada, mesmo com a filial, eu retorno todos

{
  "items": [
      {
          "filCC": "  ",
          "codCC": "000000003",
          "ccDesc": "03"
      },
      {
          "filCC": "  ",
          "codCC": "000000010",
          "ccDesc": "010"
      },
      {
          "filCC": "  ",
          "codCC": "000000022",
          "ccDesc": "22"
      },
      {
          "filCC": "  ",
          "codCC": "00001    ",
          "ccDesc": "TESTE TITULO"
      },
      {
          "filCC": "  ",
          "codCC": "012      ",
          "ccDesc": "CONC 012"
      }
  ],
  "hasNext": true
}


Para o retorno de erro, seguir a estrutura abaixo.

Campo

Tipo

code

number

message

string

detailedMessage

string

type

string (“error”, “warning”, “success”)

{
    "code": 500,
    "detailedMessage": "",
    "message": "Internal Server Error",
    "type": "error"
}

Objetivo: Listagem das Funções


Tipo de requisição: GET

Endpoint: /api/rh/v1/ahgora/funcao

Query Params:

Campo

Descrição

Tipo

Obrigatório

Exemplo

page

Número da página

number

SIM

1

pageSize

Tamanho da página

numer

SIM

50

filter

Campo automático do lookup. Pode filtrar o C.Custo

string

Não

“Funcao X”

branchCode

Código da filial que está no filtro

string

Não

02


Obs* O filtro da filial é obrigatório, ele vai estar no filtro da função caso queira retornar apenas as funções das filiais selecionadas.


Estrutura de Retorno:

Campo

Tipo

filFuncao

string

codFuncao

string

funcaoDesc

string


Exemplo de Requisição:

GET: api/rh/v1/ahgora/funcao?filter=&page=1&pageSize=10&branchCode=02

Como passei a filial 02 que está no filtro, optei por carregar apenas as funções dessa filial

{
  "items": [
      {
          "filFuncao": "02",
          "codFuncao": "00001",
          "funcaoDesc": "CP038"
      },
      {
          "filFuncao": "02",
          "codFuncao": "00002",
          "funcaoDesc": "65456"
      }
  ],
  "hasNext": false
}


Para o retorno de erro, seguir a estrutura abaixo.

Campo

Tipo

code

number

message

string

detailedMessage

string

type

string (“error”, “warning”, “success”)

{
    "code": 500,
    "detailedMessage": "",
    "message": "Internal Server Error",
    "type": "error"
}

Objetivo: Listagem dos Departamentos


Tipo de requisição: GET

Endpoint: /api/rh/v1/ahgora/departamento

Query Params:

Campo

Descrição

Tipo

Obrigatório

Exemplo

page

Número da página

number

SIM

1

pageSize

Tamanho da página

numer

SIM

50

filter

Campo automático do lookup. Pode filtrar o C.Custo

string

Não

“Departamento X”

branchCode

Código da filial que está no filtro

string

Não

02


Obs* O filtro da filial é obrigatório, ele vai estar no filtro da função caso queira retornar apenas os departamentos das filiais selecionadas.


Estrutura de Retorno:

Campo

Tipo

filDepto

string

codDepto

string

deptoDesc

string


Exemplo de Requisição:

GET: api/rh/v1/ahgora/departamento?filter=&page=1&pageSize=10&branchCode=02

Como passei a filial 02 que está no filtro, optei por carregar apenas os departamentos dessa filial

{
  "items": [
      {
          "filDepto": "02",
          "codDepto": "000000060",
          "deptoDesc": "DEP MAT 002042"
      },
      {
          "filDepto": "02",
          "codDepto": "000000061",
          "deptoDesc": "DEP DELETADO"
      },
      {
          "filDepto": "02",
          "codDepto": "0002     ",
          "deptoDesc": "Depto Vendas"
      }
  ],
  "hasNext": false
}


Para o retorno de erro, seguir a estrutura abaixo.

Campo

Tipo

code

number

message

string

detailedMessage

string

type

string (“error”, “warning”, “success”)

{
    "code": 500,
    "detailedMessage": "",
    "message": "Internal Server Error",
    "type": "error"
}

Objetivo: Listagem da situação do funcionário e categoria


Tipo de requisição: GET

Endpoint: /api/rh/v1/ahgora/opcoes


Obs* Sempre será retornado os dois conjuntos de dados na requisição, após a primeira requisição, os dois conjuntos ficaram em memória para consulta;


Estrutura de Retorno:

Para o retorno, utilizamos a forma abaixo.

Campo

Tipo

label

string

value

string


Exemplo de Requisição:

GET: /api/rh/v1/ahgora/opcoes

O retorno precisa ser uma lista com a propriedade 'items', com os dois arrays 'SitOptions' para a situação e 'catOptions' para as categorias.

{
  "items": {
      "sitOptions": [
          {
              "value": "N",
              "label": "SITUACAO NORMAL"
          },
          {
              "value": "A",
              "label": "AFASTADO TEMP."
          },
          {
              "value": "D",
              "label": "DEMITIDO"
          },
          {
              "value": "F",
              "label": "FERIAS"
          }
      ],
      "catOptions": [
          {
              "value": "A",
              "label": "AUTONOMO"
          },
          {
              "value": "C",
              "label": "COMISSIONADO"
          },
          {
              "value": "D",
              "label": "DIARISTA"
          },
          {
              "value": "E",
              "label": "ESTAGIARIO MENSALISTA"
          },
          {
              "value": "M",
              "label": "MENSALISTA"
          }
      ]
  }
}


Para o retorno de erro, seguir a estrutura abaixo.

Campo

Tipo

code

number

message

string

detailedMessage

string

type

string (“error”, “warning”, “success”)

{
    "code": 500,
    "detailedMessage": "",
    "message": "Internal Server Error",
    "type": "error"
}

How To | MP - SIGAGPE integração com a Ahgora


How To | MP - SIGAGPE integração com a Ahgora Parte 1

How To | MP - SIGAGPE integração com a Ahgora Parte 2

How To | MP - SIGAGPE integração com a Ahgora Parte 3

How To | MP - SIGAGPE integração com a Ahgora Parte 4

How To | MP - SIGAGPE integração com a Ahgora Parte 5

How To | MP - SIGAGPE integração com a Ahgora Parte 6

How To | MP - SIGAGPE integração de localizações com a Ahgora Parte 7


How To | PW - Ponto Web Ahgora integração com Protheus SIGAGPE


How To | PW - Ponto Web Ahgora integração com Protheus SIGAGPE Parte 1

How To | PW - Ponto Web Ahgora integração com Protheus SIGAGPE Parte 2

How To | PW - Ponto Web Ahgora integração com Protheus SIGAGPE Parte 3

How To | PW - Ponto Web Ahgora integração com Protheus SIGAGPE Parte 4

How To | PW - Ponto Web Ahgora integração com Protheus SIGAGPE Parte 5

How To | PW - Ponto Web Ahgora integração com Protheus SIGAGPE Parte 6