Totvs custom tabs box items |
---|
| Primeiro, devemos adicionar a nova tela ao menu. Como sugestão, posicionar dentro do menu Miscelânea no módulo SIGAGPE → Cadastrar o grupo 'Integração Ahgora' e o item 'Integração'
Grupo Image Removed Novo Item 'Integração' com a rotina GPEM929 dentro do grupo 'Integração Ahgora'Image Removed Image RemovedClicar em Gerar, preencher com SIGAGPE e clicar em GerarImage Removed Totvs custom tabs box items |
---|
default | yes |
---|
referencia | naveg |
---|
| Navegação e Opções em telaAo acessar o novo menu criado, abre-se uma nova tela. Nessa nova tela, será exibido o menu para acesso à tela de Geração de Arquivo de Recomposição de Vínculo Empregatício. Image Removed A tela acessada vem, inicialmente, em branco. Sendo necessário selecionar a opção de Filtros Avançados para realizar os filtros necessários na tela. Image Removed Para listar os registros necessários, é necessário preencher os 3 campos obrigatórios (Data Desligamento De, Data Desligamento Até e Filial). Image Removed Pode haver mais de uma filial selecionada, no entanto elas devem ter a mesma raiz de CNPJ obrigatoriamente. Ao aplicarmos os filtros será apresentada a seguinte tela: Image Removed Lista de FuncionáriosAo obter a lista de funcionários, temos as colunas: - CNPJ/CPF Empregador → Correspondente a raiz do CNPJ do empregador;
- CPF trabalhado → Campo RA_CIC;
- Dt. Admissão → Campo RA_ADMISSA;
- Matrícula → Campo RA_CODUNIC;
- Categoria TSVE → Campo RA_CATEFD (mostra apenas quando a categoria é TSVE);
Além disso, temos um botão para expandir os dados de cada um dos funcionários que serão gerados no arquivo. Ao expandir os dados dos funcionários, temos a opção de editar a categoria mencionada abaixo. Edição da Categoria (Utilizada apenas no Protheus e Datasul)Para o Protheus e Datasul, temos a opção de alterar a categoria do funcionário em determinada competência antes de gerarmos os arquivos. Para realizar essa alteração precisamos acessar o botão de "Alterar Categoria" no detalhamento das informações do funcionário. Image Removed Na alteração da categoria, devemos selecionar a lupa para escolher a nova categoria. Image Removed A opção "Aplicar nas competências anteriores" vem, por padrão, com "Sim". E faz com que as competências anteriores a selecionada desse funcionário também sejam alteradas. Aviso |
---|
| A alteração de categoria não realiza alteração em nenhum local no Protheus e serve apenas para a geração de arquivo de funcionários que tiveram sua categoria alterada ao longo do vínculo empregatício. |
Competências sem incidência de FGTSPodem haver meses sem a incidência de FGTS. Nesse caso, mostraremos os valores zerados e a coluna "Ind. Ausência" como SIM. Por exemplo: Image Removed Download do ArquivoPara fazer o download do arquivo basta selecionar a opção que melhor lhe agrada. Image Removed O arquivo é gerado com base nas informações da tela. O arquivo deve conter no máximo 5000 linhas. Caso ultrapasse esse limite, geramos mais de 1 arquivo, respeitando o limite de 5000 linhas por arquivo. |
Totvs custom tabs box items |
---|
| Este detalhamento tem como objetivo registrar os endpoints da interface da integração com Ahgora, desenvolvida utilizando PO-UI.
Deck of Cards |
---|
| Card |
---|
id | IntegAhgoraLista |
---|
label | Integração Funcionário |
---|
| 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/ahgora/funcionarios
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,6-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. Expandir |
---|
| { "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. Expandir |
---|
| { "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 Expandir |
---|
title | Exemplo de envio para Ahgora |
---|
| [ { "matricula": "0101210824", "nome": "John Doe", "pis": "", "matricula_esocial": "010121082420240821162913 ", "dataAdmissao": "2024-01-01", "dataDemissao": "", "localizacoes": "", "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 Expandir |
---|
title | Rertorno do unique criado 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 uniquesubunique. Estrutura de Retorno: Campo | Tipo | Exemplo | codInterno | string | 01|01|210824 | statusAhgora | string | AR |
Expandir |
---|
title | Rertorno da integração para o POUI |
---|
| { "items": [ { "codInterno":"01|01|210824", "statusAhgora":"AR" } ] } |
Card documentos |
---|
Informacao | Com o código unique em mãos, será necessário consultar o status do processamento na Ahgora. Pode ser feito após o envio antes do retorno para o POUI ou através do botão 'Atualizar Status' que está disponível na tela |
---|
Titulo | Importante |
---|
|
Para o retorno de erro, seguir a estrutura abaixo. Campo | Tipo | code | number | message | string | detailedMessage | string | type | string (“error”, “warning”, “success”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
|
Card |
---|
id | IntegAhgoraAfast |
---|
label | Integração Afastamento |
---|
| 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. Expandir |
---|
| { "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. Expandir |
---|
| { "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 Expandir |
---|
title | Exemplo de envio para Ahgora |
---|
| [ { "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 Expandir |
---|
title | Rertorno do unique criado 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 uniquesubunique. Estrutura de Retorno: Campo | Tipo | Exemplo | codInterno | string | 01.01.000004.001 | statusAhgora | string | AR |
Expandir |
---|
title | Rertorno da integração para o POUI |
---|
| { "items": [ { "codInterno":"01.01.000004.001", "statusAhgora":"AR" } ] } |
Card documentos |
---|
Informacao | Com o código unique em mãos, será necessário consultar o status do processamento na Ahgora. Pode ser feito após o envio antes do retorno para o POUI ou através do botão 'Atualizar Status' que está disponível na tela |
---|
Titulo | Importante |
---|
|
Para o retorno de erro, seguir a estrutura abaixo. Campo | Tipo | code | number | message | string | detailedMessage | string | type | string (“error”, “warning”, “success”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
|
Card |
---|
id | IntegAhgoraExclu |
---|
label | Integração Exclusão Afastamento |
---|
| 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. Expandir |
---|
| { "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. Expandir |
---|
| { "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 Expandir |
---|
title | Exemplo de envio para Ahgora |
---|
| 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 Expandir |
---|
title | Rertorno do unique criado 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 uniquesubunique. Estrutura de Retorno: Campo | Tipo | Exemplo | codInterno | string | 01.01.000002.001 | statusAhgora | string | AR |
Expandir |
---|
title | Rertorno da integração para o POUI |
---|
| { "items": [ { "codInterno":"01.01.000002.001", "statusAhgora":"AR" } ] } |
Card documentos |
---|
Informacao | Com o código unique em mãos, será necessário consultar o status do processamento na Ahgora. Pode ser feito após o envio antes do retorno para o POUI ou através do botão 'Atualizar Status' que está disponível na tela |
---|
Titulo | Importante |
---|
|
Para o retorno de erro, seguir a estrutura abaixo. Campo | Tipo | code | number | message | string | detailedMessage | string | type | string (“error”, “warning”, “success”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
|
Card |
---|
id | status |
---|
label | Status/Consulta |
---|
| Totvs custom tabs box items |
---|
default | no |
---|
referencia | status |
---|
| Deck of Cards |
---|
| Card |
---|
id | status |
---|
label | Atualizar Status |
---|
| 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 Expandir |
---|
| { "items": [ { "codInterno":"01|01|000002" } ] } |
POST: api/rh/v1/ahgora/status/?cApi=2 Expandir |
---|
| { "items": [ { "codInterno":"01.01.000002.001" } ] } |
Com o código interno em mãos, será necessário encontrar o código unique subunique gravado anteriormente para fazer o get na API da Ahgora: https://api.ahgora.com.br/v2/process/?uniquesubunique=0b8ef0cc1837fb40 Retorno do status da Ahgora para o unique 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 Expandir |
---|
title | Rertorno do status da integração pela Ahgora |
---|
| { "data": { "errors": [ { "identifier": "0101000004", "message": [ "Centro de custo inválido", "CNPJ inválido" ] } ] }, "company": "a148176", "unique": "0b8ef0cc", "uniquesubunique": "0b8ef0cc1837fb40", "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' Expandir |
---|
| { "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”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
|
Card |
---|
id | registro |
---|
label | Status do registro |
---|
| 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:
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' Expandir |
---|
| { "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”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
|
Card |
---|
| 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. Expandir |
---|
| { "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”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
|
|
|
|
Card |
---|
| Totvs custom tabs box items |
---|
default | no |
---|
referencia | filtros |
---|
| Deck of Cards |
---|
| Card |
---|
id | branches |
---|
label | BrachesBranches |
---|
| 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 Expandir |
---|
| { "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 Expandir |
---|
| { "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”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
|
Card |
---|
id | matricula |
---|
label | Matrícula |
---|
| 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 Expandir |
---|
| 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”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
|
Card |
---|
| 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 Expandir |
---|
| 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”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
|
Card |
---|
id | ccusto |
---|
label | Centro de Custo |
---|
| 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 Expandir |
---|
| 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”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
|
Card |
---|
| 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 Expandir |
---|
| 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”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
|
Card |
---|
| 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 | “Funcao “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 Expandir |
---|
| 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”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
|
Card |
---|
id | sitcateg |
---|
label | Situação/Categoria |
---|
| Objetivo: Listagem da situação do funcionário e categoria
Tipo de requisição: GET Endpoint: /api/rh/v1/ahgora/opcoes Query Params: Campo | Descrição | Tipo | Obrigatório | Exemplo | tipo | Tipo da Busca: 1-Categora, 2-Situação | string | Sim | 1 | filter | Campo automático do lookup. Pode filtrar a situação | string | Não | “Mensalista” |
Obs* Sempre Obs* Embora esteja sendo passado o tipo, sempre será retornado os dois conjuntos de dados na requisição, após a primeira requisição, estou usando o tipo para validação na busca individual no lookup.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: GETapi/rh/v1/ahgora/opcoes?filter=&tipo=1 ou : /api/rh/v1/ahgora/opcoes?filter=&tipo=2 O retorno precisa ser uma lista com a propriedade 'opcoesitems', com os dois arrays 'SitOptions' para a situação e 'catOptions' para as categorias. Expandir |
---|
| { "opcoesitems": { "sitOptions": [ { "value": "N", "label": "SITUACAO NORMAL" }, { "value": "A", "label": "AFASTADO TEMP." }, { "value": "D", "label": "DEMITIDO" }, { "value": "F", "label": "FERIAS" }, { "value": "T", "label": "TRANSFERIDO" } ], "catOptions": [ { "value": "A", "label": "AUTONOMO" }, { "value": "HC", "label": "HORISTACOMISSIONADO" }, { "value": "MD", "label": "MENSALISTADIARISTA" }, { "value": "PE", "label": "PRO-LABOREESTAGIARIO MENSALISTA" }, { "value": "SM", "label": "SEMANALISTAMENSALISTA" } ] } } |
Para o retorno de erro, seguir a estrutura abaixo. Campo | Tipo | code | number | message | string | detailedMessage | string | type | string (“error”, “warning”, “success”) |
Expandir |
---|
| { "code": 500, "detailedMessage": "", "message": "Internal Server Error", "type": "error" } |
|
|
|
|
|
|
|