INTEGRAÇÃO

Contexto de Negócio (Introdução)

Cada vez mais o mercado exige que as operações complexas e manipulação de dados ainda mais ágeis e com custos reduzidos. Com o RH não é diferente, por isso os processos administrativos e judiciais pertinentes aos autônomos ou produtores rurais que foram cadastrados no EMS, precisam ser enviados para o eSocial de forma transparente para o usuário. 

Frente a esta necessidade, foi criada uma interface que possibilite automatizar o cadastro de processo, através de uma interface de integração. 

Sistemas Envolvidos

  • HCM (módulo Folha de Pagamento): O módulo Folha de Pagamento visa efetuar os cálculos da folha de pagamento para os funcionários, mantendo o controle sobre os valores referentes aos eventos relativos a estes funcionários.

  • EMS (módulo Recebimento): O módulo Recebimento visa agilizar e assegurar o recebimento dos materiais da empresa, possibilitando todos os controles necessários dos materiais.


Integração

O objetivo desta integração é permitir que a área do RH, recebam os processos administrativos e judiciais de outros sistemas especializados na área, reduzindo assim o trabalho de inclusão manual de todas as informações dentro do sistema;

  • Arquitetura (Tecnologia)
    • Esta integração é feita por intermédio de comunicação direta com os Web Services REST (Representation State Transfer) utilizando o formato JSON (JavaScript Object Notation) de serialização de dados.

Escopo

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

  • Ao ser cadastrado ou alterado o processo no Recebimento, é possível enviar o mesmo para o RH, centralizando as informações que serão disponibilizadas para o eSocial. 
  • Este processo e suas informações de suspensão serão cadastradas no FP0030.
  • A partir do momento que estiver cadastrado no FP0030, será gerada ou atualizada mensagem S-1070 correspondente. 

Abaixo demonstramos um desenho como esta integração se dará:


Fora do escopo

  • Eliminação de processos via integração.
  • Alteração de processos previamente cadastrados no HCM. Processos cadastrados no HCM, devem ser mantidos no HCM. 

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

  • Versões mínima do TOTVS/Datasul: 12.1.27
  • Estrutura de rede estável, para que haja trafego de dados sem interrupção
  • Datasul devidamente configurado e serviço Rest habilitado em seu server, com acesso à internet. 

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 processos no HCM. Caso tenha êxito na geração do registro, será retornado a mesma estrutura de Json confirmando sua gravação, caso contrário enviará as informações de inconsistências 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á registro individual de cada processo.
  • A integração não contemplará exclusão de registros no HCM, para isso o usuário deverá acessar o HCM e excluir manualmente o mesmo e seus devidos relacionamentos. 

Como realizar a chamada da API REST

Para realizar a integração, é necessário as informações básicas para cadastramento do processo.

  • Preenchimento do EndPoint da API administrativeJudicialProceedings;
  • Utilizar a chamada do método Post e do Serviço administrativeJudicialProceedings;
  • Preenchimento dos parâmetros obrigatórios da API;

Parâmetros de Entrada:

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 processo:

Propriedades Obrigatórias:

Dados do Processo:

  • tpProc: Tipo de Processo conforme leiaute do eSocial.
  • nrProc: Número do Processo. 
  • iniValid: Início da Validade do Processo. 
  • indMatProc: Indicativo de Matéria do Processo ou Alvará Judicial. 

Dados da Suspensão:

  • company: Empresa que a suspensão se aplica.
  • codSusp: Código indicativo da suspensão.
  • indSusp: Indicativo de suspensão da exigibilidade conforme leiaute do eSocial. 
  • dtDecisao: Data da decisão.
  • indDeposito: Indicativo de depósito do Montante Integral. 


Parâmetros e Chamada do Método:

Autenticação do tipo básica. 

Método POST.

{protocolo}://{host}/api/rh/v2/administrativeJudicialProceedings

Request da API: Exemplo:

Dados utilizados da API

Propriedade API RESTCAMPO DATASULDESCRIÇÃOFormato / Exemplo
companycdn_empresaEmpresa que o 001
tpProccdn_estabEstabelecimento que o candidato será admitido. 101
nrProccdn_cargo_basic + cdn_niv_cargoCargo e nível que o candidato será admitido, separados por traço (-).10-0
iniValidcod_unid_lotacLotação que o candidato será admitido. 110010
fimValidnom_candemprNome do CandidatoJoão da Silva Santos
indAutorianom_abrevNome Abreviado ou ApelidoJão
indMatProcnom_cidad_rhCidade (endereço)Santos
observacaocod_unid_federac_rhEstado (endereço)SP
ufVaracod_pais_rhPaís (endereço)Brasil
codMuniccod_cep_rhCep (endereço)12345678
idVaranum_ddd + num_telefoneDDD e Fone1312345678
infoSusp


codSuspcod_id_estad_fisicRG123456789
indSuspcod_unid_federac_estad_fisicUF RGPR
dtDecisaocod_orgao_emis_estad_fisicÓrgão Emissor RGSSP
indDepositodat_emis_estad_fisicData Emissão RG2018-07-21

Situações de Erros Tratados

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.

Tratamento de erros de integração Datasul:


Mensagens de Pré-Validação

Erro

Mensagem

Solução

API RESPONSE
1Já existe candidato externo com o CPF informado.Verificar se o CPF (cpf) informado já é um candidato externo no RS0027 ou RS0009 ou pessoa física no FP1440. 
{
   "errorCode": 1,
   "errorMessage": "Já existe candidato externo com o CPF informado."
}

366

Nome deve ser preenchido. 

Verificar se a propriedade json name está preenchida no pacote enviado .

{
   "errorCode": 366,
   "errorMessage": "Nome deve ser preenchido."
}
158

País / UF Nascimento inválido. 

Verificar se as propriedades json nativeCountry e homeState existem. Lembrando que país é o nome do país de nascimento e UF é a sigla da UF de nascimento. Ambos devem existir no FP0100. 
{
   "errorCode": 158,
  "errorMessage": "País/UF Nascimento Inválido para CPF "
}
56Parâmetros Recrutamento e Seleção (RS0006) inexistente para a empresa informada.Verificar se o programa RS0006 foi minimamente preenchido na empresa que o candidato será admitido. Estas informações são necessárias para o correto cadastramento do candidato no Sistema. 
{
   "errorCode": 56,
  "errorMessage": "Parâmetros Recrutamento e Seleção (RS0006) inexistente para a empresa informada."
}
158Funcionário Responsável não foi informado nos Parâmetros Recrutamento e Seleção (RS0006) para a empresa informada.Não foi informado responsável pela requisição no RS0006. Verificar o RS0006 da empresa (companyId) informada. 
{
   "errorCode": 158,
  "errorMessage": "Funcionário Responsável não foi informado nos Parâmetros Recrutamento e Seleção (RS0006) para a empresa informada."
}
158Motivo Requisição Pessoal não foi informado nos Parâmetros Recrutamento e Seleção (RS0006) para a empresa informada.Não foi informado o motivo padrão de solicitação de requisição de pessoal no RS0006. Verificar o RS0006 da empresa (companyId) informada. 
{
   "errorCode": 158,
  "errorMessage": "Motivo Requisição Pessoal não foi informado nos Parâmetros Recrutamento e Seleção (RS0006) para a empresa informada."
}
56Funcionário Responsável Inexistente. Verifique Parâmetros Recrutamento e Seleção (RS0006) da empresa informada.Existe alguma informação de responsável pela requisição no RS0006, porém este funcionário não existe. Verificar o RS0006 da empresa (companyId) informada. 
{
   "errorCode": 56,
  "errorMessage": "Funcionário Responsável Inexistente. Verifique Parâmetros Recrutamento e Seleção (RS0006) da empresa informada."
}
158Grau de Instrução inválido.Verificar se o grau de instrução (educationalLevel) informado para o candidato está relacionado em algum grau de instrução eSocial no FP0120. 
{
   "errorCode": 158,
  "errorMessage": "Grau de Instrução Inválido."
}
158Empresa Parâmetros RH inválida.Verificar se a empresa (companyId) informada é uma empresa de RH e possui registro no FP0500. 
{
   "errorCode": 158,
  "errorMessage": "Empresa Parâmetros RH Inválida."
}


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, clientlog, log do appServer ou algo que possa identificar a origem do problema.