Páginas filhas
  • Controle de Afastamentos - leaveOfAbsenceControl

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

Controle de Afastamentos/Ausências - leaveOfAbsenceControl - INTEGRAÇÃO GPEA240API -

Controle de Afastamentos

Contexto de negócio (Introdução)

Cada vez mais o mercado exige que as operações complexas e manipulação de dados sejam ainda mais ágeis e com custos reduzidos. Com o RH não é diferente, os processos cada vez mais complexos e com muitas variáveis a serem analisadas no que tange a segurança e medicina do trabalho, os profissionais de saúde precisam de agilidade na hora de controlar processos funcionais da empresa.

Com essa necessidade e a importância desta área dentro da empresa, softwares especialistas em medicina e segurança do trabalho estão cada vez mais presentes no mercado e foi neste contexto que surgiu a necessidade da criação de um produto que possibilite automatizar cadastros e rotinas de funcionais dentro do ERP através de uma interface de integração.

Dentro deste cenário, tornou-se importante controlar os registros de afastamentos e ausências do funcionário dentro de um contexto totalmente integrado.

Sistemas Envolvidos

  • Protheus (módulo  Gestão de Pessoal): Módulo responsável pela gestão dos dados dos funcionários, folha de pagamento e dentre outros cadastros pertinentes aos colaboradores.

  • Quírons - NG

Integração

O objetivo desta integração é permitir que o RH ou área responsável pelo Gestão de Pessoal do Protheus, receba os dados do Controle de Afastamentos/Ausências dos funcionários de outros sistemas especializados, reduzindo assim o trabalho de inclusão/alteração/exclusão manual dessas informações dentro do sistema;

  • Benefícios
    • Não terá um investimento alto de tempo para o cadastramento, pois os dados já serão enviados, editados ou excluídos através da integração a cada requisição do sistema especialista através da API de Afastamentos/Ausências.
    • A informação será atualizada de forma automática, facilitando que conferência e confiabilidade dos dados recebidos.
  • Arquitetura (Tecnologia)

Toda integração entre o Protheus e o Sistema é feita por intermédio de comunicação direta com os Web Services(que são fixos) REST(Representation State Transfer) utilizando o formato JSON(JavaScript  Object Notation) de serialização de dados, onde através da ativação do serviço do REST do Protheus esteja disponível para utilizar o serviço.

Escopo

Por intermédio desta integração será disponibilizada a seguinte funcionalidade:

  • Cadastramento do controle de afastamentos/ausências do funcionário no módulo SIGAGPE;

Fora do escopo

  • Automatização de consultas de controle de afastamentos,
  • Importação de base cadastral - dados do Funcionário,
  • Informações do controle de afastamentos que não se enquadram dentro da tabela de controle de afastamentos.

Pré-requisitos instalação/implantação/utilização

  • Versões mínimas do Protheus: 12.1.23
  • Possuir acesso à Internet, caso o sistema que venha a utilizar a integração com a aplicação Protheus.
  • Estrutura de rede estável, para que haja tráfego de dados sem interrupção.
  • Protheus devidamente configurado e serviço Rest habilitado em seu server.

Instalação/Atualização

Este tópico tem por objetivo orientar a instalação da integração, visando o seu funcionamento completo.

Instalação de produtos ou ferramentas necessárias podem referenciar outros documentos existentes, desde que estejam disponíveis no repositório de documentação da TOTVS ou sejam enviados junto com o documento da integração em si.

As informações mínimas necessárias para este tópico são:

Ativação/Desativação da integração

Por padrão esta integração estará em repositório, porém demanda realizar a devida configuração conforme abaixo:

Controle de Ambiente

Exige que os seguintes pontos sejam revisados:

  • Protheus com sua arquitetura devidamente estruturada.
  • Módulo de Gestão de Pessoal (SIGAGPE) com suas entidades base, devidamente populadas por dados que no momento da integração serão utilizados na criação do registro de afastamento/ausências. (Para melhor compreensão, analise o cadastro disponível dentro do sistema e verifique os campos que possuem consultas em outras tabelas se as mesmas estão com os seus dados devidamente cadastrados).

Controle de Versão

O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.

Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância das marcas e alinhamento com as diretivas definidas pelo Comitê de Integração TOTVS.

Suporte

O suporte aos recursos da Integração será de responsabilidade da linha Protheus, onde será analisada pela equipe de suporte da Totvs.

Fluxo das Informações

Esta integração traz a funcionalidade exclusivamente à área de Gestão de Pessoal, no processo de cadastramento (inclusão/alteração/exclusão) de Afastamento/Ausências.

Cadastro

Esta integração contempla apenas o cadastramento(inclusão/alteração/exclusão) do cadastro de Afastamento/Ausências dentro do módulo SIGAGPE.

Processos

O Sistema requisitante enviará as informações via json para a interface de integração, desta forma será gerado um novo registro na tabela de Afastamentos/Ausências no Protheus, caso tenha êxito na geração do registro, será retornada a mesma estrutura de json recebida, acompanhada de uma nova tag chamada id, acompanhada de uma nova tag chamada id, que será uma chave única composta de informações da entidade dentro do sistema.  Desta forma será confirmada sua gravação, caso contrário enviará as informações de inconsistências que serão citadas nos próximos tópicos.

Limitações / Restrições Gerais

  • Com o objetivo de manter a estrutura e a agilidade da estrutura Rest, o Web Service Rest receberá o registro individual de cada afastamento.

 

Sistemas Envolvidos

  • Protheus (módulo  Gestão de Pessoal): Módulo responsável pela gestão dos dados dos funcionários, folha de pagamento e dentre outros cadastros pertinentes aos colaboradores.

  • Quírons - NG


Integração

O objetivo desta integração é permitir que o RH ou área responsável pelo Gestão de Pessoal do Protheus, receba os dados do Controle de Afastamentos/Ausências dos funcionários de outros sistemas especializados, reduzindo assim o trabalho de inclusão/alteração/exclusão manual dessas informações dentro do sistema;

  • Benefícios
    • Não terá um investimento alto de tempo para o cadastramento, pois os dados já serão enviados, editados ou excluídos através da integração a cada requisição do sistema especialista através da API de Afastamentos/Ausências.
    • A informação será atualizada de forma automática, facilitando que conferência e confiabilidade dos dados recebidos.
  • Arquitetura (Tecnologia)

Toda integração entre o Protheus e o Sistema é feita por intermédio de comunicação direta com os Web Services(que são fixos) REST(Representation State Transfer) utilizando o formato JSON(JavaScript  Object Notation) de serialização de dados, onde através da ativação do serviço do REST do Protheus esteja disponível para utilizar o serviço.

Escopo

Por intermédio desta integração será disponibilizada a seguinte funcionalidade:

  • Manutenção do controle de afastamentos/ausências do funcionário no módulo SIGAGPE;

Fora do escopo

  • Automatização de consultas de controle de afastamentos,
  • Importação de base cadastral - dados do Funcionário,
  • Informações do controle de afastamentos que não se enquadram dentro da tabela de controle de afastamentos.

Pré-requisitos instalação/implantação/utilização

  • Versões mínimas do Protheus: 12.1.23
  • Possuir acesso à Internet, caso o sistema que venha a utilizar a integração com a aplicação Protheus.
  • Estrutura de rede estável, para que haja tráfego de dados sem interrupção.
  • Protheus devidamente configurado e serviço Rest habilitado em seu server.

Instalação/Atualização

Este tópico tem por objetivo orientar a instalação da integração, visando o seu funcionamento completo.

Instalação de produtos ou ferramentas necessárias podem referenciar outros documentos existentes, desde que estejam disponíveis no repositório de documentação da TOTVS ou sejam enviados junto com o documento da integração em si.

As informações mínimas necessárias para este tópico são:

Ativação/Desativação da integração

Por padrão esta integração estará em repositório, porém demanda realizar a devida configuração conforme abaixo:

Controle de Ambiente

Exige que os seguintes pontos sejam revisados:

  • Protheus com sua arquitetura devidamente estruturada.
  • Módulo de Gestão de Pessoal (SIGAGPE) com suas entidades base, devidamente populadas por dados que no momento da integração serão utilizados na criação do registro de afastamento/ausências. (Para melhor compreensão, analise o cadastro disponível dentro do sistema e verifique os campos que possuem consultas em outras tabelas se as mesmas estão com os seus dados devidamente cadastrados).

Controle de Versão

O grupo TOTVS, representado por suas marcas, irá administrar as demandas de evolução dos layouts e demais ajustes, acordando junto aos solicitantes o prazo de liberação de release.

Todas as evoluções programadas deverão ser discutidas e aprovadas pelas marcas antes do início do desenvolvimento e somente serão desenvolvidas em caso de concordância das marcas e alinhamento com as diretivas definidas pelo Comitê de Integração TOTVS.


Suporte

O suporte aos recursos da Integração será de responsabilidade da linha Protheus, onde será analisada pela equipe de suporte da Totvs.

Fluxo das Informações

Esta integração traz a funcionalidade exclusivamente à área de Gestão de Pessoal, no processo de cadastramento (inclusão/alteração/exclusão) de Afastamento/Ausências.

Cadastro

Esta integração contempla apenas o cadastramento(inclusão/alteração/exclusão) do cadastro de Afastamento/Ausências dentro do módulo SIGAGPE.

Processos

O Sistema requisitante enviará as informações via json para a interface de integração, desta forma será gerado um novo registro na tabela de Afastamentos/Ausências no Protheus, caso tenha êxito na geração do registro, será retornada a mesma estrutura de json recebida, acompanhada de uma nova tag chamada id, acompanhada de uma nova tag chamada id, que será uma chave única composta de informações da entidade dentro do sistema.  Desta forma será confirmada sua gravação, caso contrário enviará as informações de inconsistências que serão citadas nos próximos tópicos.

Limitações / Restrições Gerais

  • Com o objetivo de manter a estrutura e a agilidade da estrutura Rest, o Web Service Rest receberá o registro individual de cada afastamento.

Como realizar a chamada da API REST

Para realizar a integração com o parceiro TOTVS são necessárias as informações básicas de consulta para retorno do funcionário desejado.

  • Preenchimento do EndPoint da API GPEA240API;
  • Utilizar a chamada do método Post, Put e Delete e do Serviço leaveOfAbsenceControl;
  • Preenchimento dos parâmetros obrigatórios da API.




Totvs custom tabs box
tabsPOST,PUT,DELETE
idsPOST,PUT,DELETE
Totvs custom tabs box items
defaultno
referenciaPOST

Parâmetros de Entrada POST:

Parâmetro

Valor de Exemplo

Obrigatório

Tipo

Valor Default

Descrição
authorization usuario:senhaSim

header


autenticação é importante para o funcionamento correto da API em casos de ambientes com autenticação Http Basic.
contentrequest da apiSimbody

Estrutura json com informações de cadastro do currículo:

Propriedades Obrigatórias:

Dados de preparação de ambiente:

  • companyId: Grupo de empresa
  • branchId: Empresa+Unidade de negócio+Filial

Dados de controle de afastamentos:

  • employeeId: Informação pertinente ao funcionário.
  • startDate: Data inicial do afastamento.
  • endDate: Data final do afastamento.
  • leaveOfAbsenceCode: Código do tipo de afastamento.
  • internationalDiseaseClassification: Código internacional de doenças.
  • classEntityRegistrationCode: Número do registro do profissional
  • doctorName: Nome do profissional.
  • classEntityState: Estado do profissional.
  • classEntity: Tipo de registro do profissional.

Parâmetros e Chamada do Método:

Para a realização de testes foi utilizado a ferramenta POSTMAN e após a configuração do server protheus a API Rest, a  requisição deverá ser semelhante a imagem abaixo:

{protocolo}://{host}/{api}/rh/v1/leaveOfAbsenceControl

Image Added


Dados utilizados da API

Por ser uma estrutura única para todos os produtos, há dados que existem em um produto (RM) e não existe no Protheus, desta forma cada produto utilizará os campos pertinentes aos seus ambientes.

Propriedade API RESTCAMPO PROTHEUSDESCRIÇÃOFormato
companyId
Informações de acesso ao sistema, campo contém informação do grupo de empresa
branchIdR8_FILIALInformações de acesso ao sistema, campo compõe Empresa+Unidade de Negócio+ Filial"D MG 01 "
employeeIdR8_MATChave do Funcionário

"T1|D MG 01 |160001"

startDateR8_DATAINIData inicial do afastamento"20200101"
endDateR8_DATAFIMData final do afastamento"20200101"

leaveOfAbsenceCode

R8_TIPOAFA

Chave do tipo de afastamento

"T1|D MG    |005"

internationalDiseaseClassification

R8_CIDCódigo internacional de doenças.

"A07.8"

classEntityRegistrationCode

R8_CRMMEDNúmero do registro do profissional

"123123"

doctorName

R8_NMMEDNome do profissional.

"doctorName"

classEntityState

R8_UFCRMEstado do profissional."MG"

classEntity

R8_IDEOCTipo de registro do profissional."2"

Situações Tratadas

O envio de dados inesperados nos parâmetros de entrada da API REST pode ocasionar alguns erros.
Desta forma, foram criados alguns tratamentos de erros, listados abaixo, cada um com sua respectiva mensagem e solução.


Mensagens Validação

Erro

Mensagem

Solução

API RESPONSE
201Registro criado.Registro incluído com sucesso.
Bloco de código
themeEclipse
linenumberstrue
collapsetrue
{
    "branchId": "D MG 01 ",
    "startDate": "2020-06-05T10:10:10",
    "endDate": "2020-06-05T19:10:10",
    "employeeId": "T1|D MG 01 |160001",
    "leaveOfAbsenceCode": "T1|D MG    |005",
    "classEntityState": "SP",
    "companyId": "T1",
    "classEntityRegistrationCode": "123123",
    "doctorName": "doctorName Alves",
    "id": "T1;D MG 01 ;T1|D MG 01 |160001;2020-06-05T10:10:10;00:00;2020-06-05T19:10:10;T1|D MG    |005",
    "classEntity": "2",
    "internationalDiseaseClassification": "A07.8"
}

400

Erro na validação do recebimento da mensagem.

Verificar se as propriedades json companyId ou branchId estão preenchidas com conteúdo válido

Como realizar a chamada da API REST

Para realizar a integração com o parceiro TOTVS são necessárias as informações básicas de consulta para retorno do funcionário desejado.

  • Preenchimento do EndPoint da API GPEA240API;
  • Utilizar a chamada do método Post, Put e Delete e do Serviço leaveOfAbsenceControl;
  • Preenchimento dos parâmetros obrigatórios da API.

Situações Tratadas

O envio de dados inesperados nos parâmetros de entrada da API REST pode ocasionar alguns erros.
Desta forma, foram criados alguns tratamentos de erros, listados abaixo, cada um com sua respectiva mensagem e solução.

Mensagens Validação

Totvs custom tabs box
tabsPOST,PUT,DELETE
idsPOST,PUT,DELETE

Parâmetros e Chamada do Método:

Para a realização de testes foi utilizado a ferramenta POSTMAN e após a configuração do server protheus a API Rest, a  requisição deverá ser semelhante a imagem abaixo:

{protocolo}://{host}/{api}/rh/v1/treiningnecessity

Image Removed

Request da API:

Totvs custom tabs box items
defaultno
referenciaPOST

Parâmetros de Entrada POST:

Parâmetro

Valor de Exemplo

Obrigatório

Tipo

Valor Default

Descrição
authorization usuario:senhaSim

header

autenticação é importante para o funcionamento correto da API em casos de ambientes com autenticação Http Basic.contentrequest da apiSimbody

Estrutura json com informações de cadastro do currículo:

Propriedades Obrigatórias:

Dados de preparação de ambiente:

  • companyId: Grupo de empresa
  • branchId: Empresa+Unidade de negócio+Filial

Dados de controle de afastamentos:

  • employeeId: Informação pertinente ao funcionário.
  • trainingid: Tipo de afastamento registrado.
Bloco de código
languagebash
themeEclipse
titleExemplo de Request da API
linenumberstrue
{
 "companyId": "T1",
 "branchId": "D MG 01 ",
 "startDate": "2020-01-01T18:25:43",
 "stabilityCode": "123"
}

Dados utilizados da API

Por ser uma estrutura única para todos os produtos, há dados que existem em um produto (RM) e não existe no Protheus, desta forma cada produto utilizará os campos pertinentes aos seus ambientes.

Propriedade API RESTCAMPO PROTHEUSDESCRIÇÃOFormato
companyIdInformações de acesso ao sistema, campo contém informação do grupo de empresa
branchIdRFX_FILIALInformações de acesso ao sistema, campo compõe Empresa+Unidade de Negócio+ Filial"D MG 01 "
employeeIdRFX_MATMatrícula do Funcionário"000001"
startDateRFX_DATAIData de Início do Período"20200101"

Trainingnecessidadecode

RFX_TPESTB

tipo de curso"S01"
Verificar se a propriedade json employeeId possui informações válidas

Erro

Mensagem

Solução

API RESPONSE
201Registro criado.
Bloco de código
themeEclipse
linenumberstrue
collapsetrue
{
    "code": "201",
    "description": "Registro criado."
}

400

Erro na validação do recebimento da mensagem.

Verificar se as propriedades json companyId ou branchId estão preenchidas com conteúdo válido.

Bloco de código
themeEclipse
linenumberstrue
collapsetrue
{
    "code": 400,
    "detailedMessage": "De-Para de Empresa/Filial não encontrado na base.\r\n",
    "helpUrl": "https://tdn.totvs.com/x/ZYNvI",
    "message": "Erro na validação do recebimento da mensagem."
}
400Erro na validação do recebimento da mensagem.

.

Bloco de código
themeEclipse
linenumberstrue
collapsetrue
{
    "code": 400,
    "detailedMessage": "VerifiqueDe-Para ode conteúdoEmpresa/Filial danão TAGencontrado (employeeId) pois não foi possível encontrar esta informação no Protheus'na base.\r\n",
    "helpUrl": "https://tdn.totvs.com/x/ZYNvI",
    "message": "Erro na validação do recebimento da mensagem."
}
400Erro na validação do recebimento da mensagem.
500

Ocorreu uma falha no retorno da informação.

É necessário avaliar se o servidor está funcionando corretamenteVerificar se a propriedade json startDate está no formato correto.
Bloco de código
themeEclipse
linenumberstrue
collapsetrue
{
    "codeerrorCode": 400500,
    "detailedMessageerrorMessage": "VerifiqueOcorreu o conteúdo da TAG (startDate) pois a data não estáuma falha no formatoretorno correto: 'YYYY-MM-DDTHH:MM:SS'\r\n",
    "helpUrl": "https://tdn.totvs.com/x/ZYNvI",
    "message": "Erro na validação do recebimento da mensagem."
}
400Erro na validação do recebimento da mensagem.
Bloco de código
themeEclipse
linenumberstrue
collapsetrue
{
    "code": 400,
    "detailedMessage": "Verifique o conteúdo da TAG (stabilityCode) pois não foi possível encontrar esta informação no Protheus.\r\n",
    "helpUrl": "https://tdn.totvs.com/x/ZYNvI",
    "message": "Erro na validação do recebimento da mensagem."
}
400Erro na validação do recebimento da mensagem.Verificar se as propriedades json obrigatórias (companyID , branchId , employeeIdstartDate, stabilityCode) estão preenchidas.
Bloco de código
themeEclipse
linenumberstrue
collapsetrue
{
    "code": 400,
    "detailedMessage": "Verifique o conteúdo da TAG (employeeId) pois ela é obrigatória para a manipulação deste processo.\r\n\r\n",
    "helpUrl": "https://tdn.totvs.com/x/ZYNvI",
    "message": "Erro na validação do recebimento da mensagem."
}
500

Ocorreu uma falha no retorno da informação.

É necessário avaliar se o servidor está funcionando corretamente.
Bloco de código
themeEclipse
linenumberstrue
collapsetrue
{
   "errorCode": 500,
   "errorMessage": "Ocorreu uma falha no retorno da informação."
}

OBS: Estas mensagens de validações serão retornadas sempre que algum campo passado que seja obrigatório ou que algum campo enviado tenha sua origem de dados em outra tabela e não seja localizado na mesma, vale lembrar que são apenas exemplos de mensagens de erros e podendo variar o nome da propriedade enviada.

da informação."
}


OBS: Estas mensagens de validações serão retornadas sempre que algum campo passado que seja obrigatório ou que algum campo enviado tenha sua origem de dados em outra tabela e não seja localizado na mesma, vale lembrar que são apenas exemplos de mensagens de erros e podendo variar o nome da propriedade enviada.


Parâmetros e Chamada do Método:

Para a realização de testes foi utilizado a ferramenta POSTMAN e após a configuração do server protheus a API Rest, a  requisição deverá ser semelhante a imagem abaixo:

{protocolo}://{host}/{api}/rh/v1/StabilityControl

Image Removed

Request da API:

Totvs custom tabs box items
defaultno
referenciaPUT

Parâmetros de Entrada PUT:

Parâmetro

Valor de Exemplo

Obrigatório

Tipo

Valor Default

Descrição
authorization usuario:senhaSim

header

""autenticação é importante para o funcionamento correto da API em casos de ambientes com autenticação Http Basic.
leaveOfAbsenceId

T1;D MG 01 ;T1|D MG 01 |160001;2020-06-01T10:10:10;00:00;2020-06-02T19:10:10;T1|D MG |005

Simrequest""

Composição da string a ser enviada, deve ser ser composta por "GRUPODEEMPRESA|R8_FILIAL|CHAVEFUNCIONARIO|DATAINICIAL|HORAINICIAL|DATAFINAL|CODIGOAFASTAMENTO".

contentlayout jsonsimbody""

Estrutura json com informações de cadastro do currículo:

Propriedades Obrigatórias:

Dados de preparação de ambiente:

  • companyId: Grupo de empresa
  • branchId: Empresa+Unidade de negócio+Filial

Dados de controle de afastamentos:

  • employeeId: Informação pertinente ao funcionário.
  • startDate: Data inicial do afastamento.
  • endDate: Data final do afastamento.
  • leaveOfAbsenceCode: Código do tipo de afastamento.
  • internationalDiseaseClassification: Código internacional de doenças.
  • classEntityRegistrationCode: Número do registro do profissional
  • doctorName: Nome do profissional.
  • classEntityState: Estado do profissional.
  • classEntity: Tipo de registro do profissional.

Parâmetros e Chamada do Método:

Para a realização de testes foi utilizado a ferramenta POSTMAN e após a configuração do server protheus a API Rest, a  requisição deverá ser semelhante a imagem abaixo:

{protocolo}://{host}/{api}/rh/v1/leaveOfAbsenceControl

Image Added


Dados utilizados da API

Por ser uma estrutura única para todos os produtos, há dados que existem em um produto (RM) e não existe no Protheus, desta forma cada produto utilizará os campos pertinentes aos seus ambientes.

Propriedade API RESTCAMPO PROTHEUSDESCRIÇÃOFormato
companyId
Informações de acesso ao sistema, campo contém informação do grupo de empresa
branchIdRFX_FILIALInformações de acesso ao sistema, campo compõe Empresa+Unidade de Negócio+ Filial
employeeIdR8_MATChave do Funcionário

"T1|D MG 01 |160001"

startDateR8_DATAINIData inicial do afastamento"20200101"
endDateR8_DATAFIMData final do afastamento"20200101"

leaveOfAbsenceCode

R8_TIPOAFA

Chave do tipo de afastamento

"T1|D MG    |005"

internationalDiseaseClassification

R8_CIDCódigo internacional de doenças.

"A07.8"

classEntityRegistrationCode

R8_CRMMEDNúmero do registro do profissional

"123123"

doctorName

R8_NMMEDNome do profissional.

"doctorName"

classEntityState

R8_UFCRMEstado do profissional."MG"

classEntity

R8_IDEOCTipo de registro do profissional."2"

Situações Tratadas

O envio de dados inesperados nos parâmetros de entrada da API REST pode ocasionar alguns erros.
Desta forma, foram criados alguns tratamentos de erros, listados abaixo, cada um com sua respectiva mensagem e solução.


Mensagens Validação

Erro

Mensagem

Solução

API RESPONSE
200Atualizado com sucesso.Registro alterado com sucesso.
Bloco de código
themeEclipse
linenumberstrue
collapsetrue
{
    "branchId": "D MG 01 ",
    "startDate": "2020-06-05T10:10:10",
    "endDate": "2020-06-05T19:10:10",
    "employeeId": "T1|D MG 01 |160001",
    "leaveOfAbsenceCode": "T1|D MG    |005",
    "classEntityState": "SP",
    "companyId": "T1",
    "classEntityRegistrationCode": "123123",
    "doctorName": "doctorName Alves",
    "id": "T1;D MG 01 ;T1|D MG 01 |160001;2020-06-05T10:10:10;00:00;2020-06-05T19:10:10;T1|D MG    |005",
    "classEntity": "2",
    "internationalDiseaseClassification": "A07.8"
Totvs custom tabs box items
defaultno
referenciaPUT

Parâmetros de Entrada PUT:

Parâmetro

Valor de Exemplo

Obrigatório

Tipo

Valor Default

Descrição
authorization usuario:senhaSim

header

""autenticação é importante para o funcionamento correto da API em casos de ambientes com autenticação Http Basic.
trainingId

T1|D MG 01 |T1|D MG 01 |000001|2020-01-01T18:25:43|S01

Simrequest""

Composição da string a ser enviada, deve ser ser composta por "GRUPO DE EMPRESA|RFX_FILIAL|RFX_MAT|RFX_DATAI|RFX_TPESTB".

contentlayout jsonsimbody""

Estrutura json com informações de cadastro do currículo:

Dados de controle de afastamentos:

Bloco de código
languagebash
themeEclipse
titleExemplo de Request da API
linenumberstrue
{
 "endDate": "2020-01-15T18:30:43"
}

Dados utilizados da API

Por ser uma estrutura única para todos os produtos, há dados que existem em um produto (RM) e não existe no Protheus, desta forma cada produto utilizará os campos pertinentes aos seus ambientes.

Propriedade API RESTCAMPO PROTHEUSDESCRIÇÃOFormatocompanyIdInformações de acesso ao sistema, campo contém informação do grupo de empresabranchIdRFX_FILIALInformações de acesso ao sistema, campo compõe Empresa+Unidade de Negócio+ FilialemployeeIdRFX_MATMatrícula do Funcionário."000001"startDateRFX_DATAIData de Início do Período"20200101"endDateRFX_DATAFData do Final do Período"20200115"stabilityCodeRFX_TPESTBDescrição do resumo de qualificações"S01"

Situações Tratadas

O envio de dados inesperados nos parâmetros de entrada da API REST pode ocasionar alguns erros.
Desta forma, foram criados alguns tratamentos de erros, listados abaixo, cada um com sua respectiva mensagem e solução.

Mensagens Validação

Erro

Mensagem

Solução

API RESPONSE204Sem conteúdo.Registro excluído com sucesso. Bloco de código
themeEclipse
linenumberstrue
collapsetrue
{     "code": "204",
}

400

Erro na validação do recebimento da mensagem.

Verificar se as propriedade json

stabilityId está

leaveOfAbsenceId está preenchida e com dados válidos no pacote enviado.

  1. Dados de Empresa e Filial,
  2. Dados de Filial e Matrícula,
  3. Formato da Data de Início,
Bloco de código
themeEclipse
linenumberstrue
collapsetrue
{
    "code": 400,
    "detailedMessage": "Informação 
trainingNecessityId ausente
leaveOfAbsenceId ausente ou inválida.",
    "helpUrl": "https://tdn.totvs.com/x/ZYNvI",
    "message": "Erro na validação do recebimento da mensagem."
}
500

Ocorreu uma falha no retorno da informação.

É necessário avaliar se o servidor está funcionando corretamente.
Bloco de código
themeEclipse
linenumberstrue
collapsetrue
{
   "errorCode": 500,
   "errorMessage": "Ocorreu uma falha no retorno da informação."
}


OBS: Estas mensagens de validações serão retornadas sempre que algum campo passado que seja obrigatório ou que algum campo enviado tenha sua origem de dados em outra tabela e não seja localizado na mesma, vale lembrar que são apenas exemplos de mensagens de erros e podendo variar o nome da propriedade enviada.



Sem conteúdo
Totvs custom tabs box items
defaultno
referenciaDELETE

Parâmetros de Entrada DELETE:

Parâmetro

Valor de Exemplo

Obrigatório

Tipo

Valor Default

Descrição
authorization usuario:senhaSim

header

""autenticação é importante para o funcionamento correto da API em casos de ambientes com autenticação Http Basic.
stabilityId
leaveOfAbsenceId 

T1

|

;D MG 01

|

;T1|D MG 01 |

000001|

160001;2020-06-01T10:10:10;00:00;2020-

01

06-

01T18

02T19:

25:43|S01

10:10;T1|D MG |005

Simquery""

Composição da string a ser enviada, deve ser ser composta por "

GRUPO DE EMPRESA

GRUPODEEMPRESA|

RFX

R8_FILIAL

|RFX_MAT|RFX_DATAI|RFX_TPESTB".

|CHAVEFUNCIONARIO|DATAINICIAL|HORAINICIAL|DATAFINAL|CODIGOAFASTAMENTO"

Parâmetros e Chamada do Método:

Para a realização de testes foi utilizado a ferramenta POSTMAN e após a configuração do server protheus a API Rest, a  requisição deverá ser semelhante a imagem abaixo:

{protocolo}://{host}/{api}/rh/v1/StabilityControlleaveOfAbsenceControl

Image RemovedImage Added

Situações Tratadas

O envio de dados inesperados nos parâmetros de entrada da API REST pode ocasionar alguns erros.
Desta forma, foram criados alguns tratamentos de erros, listados abaixo, cada um com sua respectiva mensagem e solução.


Mensagens Validação

Erro

Mensagem

Solução

API RESPONSE
204
200Registro foi deletado com sucesso.Registro foi deletado com sucesso.
Bloco de código
themeEclipse
linenumberstrue
collapsetrue
{
    
    "code":
 
 "
204
200",
    "description": "Opera��o realizada com sucesso!"
}

400

Erro na validação do recebimento da mensagem.

Verificar se as propriedade json

stabilityId está

leaveOfAbsenceId está preenchida e com dados válidos no pacote enviado.

  1. Dados de Empresa e Filial,
  2. Dados de Filial e Matrícula,
  3. Formato da Data de Início,
  4. Formato da Hora de Inicio
  5. Codigo do
Curso
  1. Tipo de Afastamento.
Bloco de código
themeEclipse
linenumberstrue
collapsetrue
{
    "code": 400,
    "detailedMessage": "Informação 
stabilityId ausente
leaveOfAbsenceId ausente ou inválida.",
    "helpUrl": "https://tdn.totvs.com/x/ZYNvI",
    "message": "Erro na validação do recebimento da mensagem."
}
500

Erro no acesso ao Endpoint.

É necessário avaliar se o servidor está funcionando corretamente.
Bloco de código
themeEclipse
linenumberstrue
collapsetrue
{
   "errorCode": 500,
   "errorMessage": "Ocorreu uma falha no retorno da informação."
}


OBS: Estas mensagens de validações serão retornadas sempre que algum campo passado que seja obrigatório ou que algum campo enviado tenha sua origem de dados em outra tabela e não seja localizado na mesma, vale lembrar que são apenas exemplos de mensagens de erros e podendo variar o nome da propriedade enviada.


Checklist de suporte da aplicação

Itens a serem verificados durante o atendimento:

  • Verificar se os pré-requisitos foram atendidos para a chamada da API;
  • Verificar se na chamada da API o EndPoint, o nome do serviço e todos os campos obrigatórios foram informados;
  • Verificar se o retorno da API apresenta algum erro tratado (códigos e mensagens de erro citados neste documento) e consultar a solução na mesma tabela que descreve o erro;
  • Em caso de erro não tratado, verificar se possui alguma informação de banco de dados, conexão com o servidor ou algo que possa identificar a origem do problema.


Anexos