Páginas filhas
  • DI Processos Administrativos ou Judiciais - Datasul (EMS x HCM)

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

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 para que os processos administrativos e judiciais pertinentes aos autônomos ou produtores rurais que foram cadastrados em sistema externono 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

  • Datasul HCM (módulo Recrutamento e Seleção): responsável por controlar os processos de Recrutamento e Seleção, auxiliando desde o cadastramento do currículo do candidato até a contratação do funcionário na empresa, vinculado a uma vaga específica.

    Gupy (sistema de Recrutamento e Seleção): O sistema de recrutamento e seleção com inteligência artificial que ajuda a empresa a estruturar um processo digital engajante e acertar nas contratações

    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 ou área responsável pelo Recrutamento e Seleção do Datasul, recebam os dados básicos de currículo dos candidatos de 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;

Benefícios para o Recrutador
  • O recrutador poderá fazer uso de um sistema mais robusto para recrutamento.
  • Não terá um investimento alto de tempo para o cadastramento, pois os dados básicos do currículo serão enviados através da API de Candidatos.

    • Arquitetura (Tecnologia)
      • Toda integração entre o Datasul e o Sistema Esta integração é 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.

    Escopo

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

    • Ao ser contratado na Gupy, é acionada a integração com o Datasul que cria o Candidato Externo (RS0027), como situação Admitido, já vinculado a uma Requisição de Pessoal (RS0765) e também com situação de Admitido. Esta requisição por sua vez é criada e finalizada, não necessitando nenhuma ação do usuário no Datasul em relação à seleção desta vaga, uma vez que este processo já foi todo feito no Sistema da Gupy. 
    • A partir deste Candidato Externo é também gerada na integração uma Pessoa Física (FP1440), ficando o candidato pronto para ser admitido no RS0278 Candidatos para Admissão que demonstra os candidatos que foram aprovados no processo de seleção e estão disponíveis para serem cadastrados no FP1500 Manutenção de Funcionários. 
    • Ao acionar o botão Admitir do RS0278, é aberto o FP1500 que já sugere as seguintes informações:
      • Estabelecimento (escolhido no site da Gupy para a vaga)
      • Pessoa Física (gerada com as informações preenchidas pelo candidato no site da Gupy) 
      • Carteira de Trabalho (preenchida pelo candidato no site da Gupy) 
      • Lotação (escolhida no site da Gupy para a vaga)
      • Cargo (escolhido no site da Gupy para a vaga)
    • cadastrado ou alterado o processo no Recebimento (CD2021), é possível enviar o mesmo para o RH por meio do programa CD2014, 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á:

    Image Modified


    Fora do escopo

    • Automatização de consultas de currículos ou candidatosEliminação de processos via integração.
    • Importação de base cadastral, para que os cadastros que são base para o cadastro de currículo.
    • Informações do candidato que não se enquadram dentro da tabela de Currículo.
    • Atualização de currículo já cadastrado no Datasul.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.2627
    • 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.
    • Parâmetros de conexão devem estar cadastrados corretamente no CD0387: URL, Porta, Usuário e Senha, além de estar marcado para integrar com Middleware.

    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 currículo no Datasul, caso 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 currículo de candidatoprocesso.
    • A integração não contemplará exclusão de registros no DatasulHCM, para isso o usuário deverá acessar o ERP HCM e excluir manualmente o mesmo e seus devidos relacionamentos. 

    Como realizar a chamada da API REST

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

    • Preenchimento do EndPoint da API candidates administrativeJudicialProceedings;
    • Utilizar a chamada do método Post e do Serviço candidates 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 candidatoprocesso:

    Propriedades Obrigatórias:

    Dados da Admissão - Serão Sugeridos na Admissão (FP1500)do Processo:

    • companyId: Empresa que o candidato será admitido.
    • branchId: Estabelecimento que o candidato será admitido.
    • roleId: Cargo que o candidato será admitido.
    • departmentId: Lotação na qual o candidato será admitido. 

    Dados de Currículo.

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

    • companyCode: Empresa que a suspensão se aplica.
    • baseCompanyId: Caso não seja informado o código da empresa que a suspensão se aplica, deve ser informada a base do CNPJ da 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. 
    • cpf:Informação pertinente ao candidato
    • name: Nome do candidato.
    • birth: Data Nascimento do candidato
    • educationalLevel: Grau de instrução do candidato conforme tabela do eSocial. 
    • homeState: Sigla do estado de nascimento
    • nativeCountry: País de nascimento


    Parâmetros e Chamada do Método:

    Autenticação do tipo básica. 

    Método POST.

    {protocolo}://{host}/api/rh/v2v1/candidatesadministrativeJudicialProceedings

    Request da API: Exemplo:

    Image Removed

    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
    DATASUL
    HCMDESCRIÇÃOFormato / Exemplo
    companyId
    companyCodecdn_empresaEmpresa que
    o candidato será admitido.001branchIdcdn_estabEstabelecimento que o candidato será admitido. 101roleIdcdn_cargo_basic + cdn_niv_cargoCargo e nível que o candidato será admitido, separados por traço (-).10-0departmentIdcod_unid_lotacLotação que o candidato será admitido. 110010namenom_candemprNome do CandidatoJoão da Silva SantosnickNamenom_abrevNome Abreviado ou ApelidoJãocitynom_cidad_rhCidade (endereço)Santosstatecod_unid_federac_rhEstado (endereço)SPcountrycod_pais_rhPaís (endereço)Brasilcepcod_cep_rhCep (endereço)12345678phoneNumber1num_ddd + num_telefoneDDD e Fone1312345678phoneNumber2num_ddd_contat + num_telefone_contatDDD Fone Contato1399123456identityNumbercod_id_estad_fisicRG123456789identityNumberEmitterStatecod_unid_federac_estad_fisicUF RGPRidentityNumberEmitterAgencycod_orgao_emis_estad_fisicÓrgão Emissor RGSSPidentityNumberEmissionDatedat_emis_estad_fisicData Emissão RG2018-07-21cpfcod_id_federCPF12345678900workCardcod_cart_trabNum Carteira Trabalho 12345678workCardSerialNumbercod_ser_cart_trabSérie Carteira Trabalho123street nom_ender_rhEndereçoAvenida Atlânticanumbercod_enderecoNúmero123sexidi_sexoSexoF - Feminino;
    M - Masculino.homeStatecod_unid_federac_nascNaturalidade - UFSPnationalityidi_orig_pessoa_fisicNacionalidadeBrasileironaturalnessnom_naturalidadeNaturalidadeCampinasnativeCountrycod_pais_nascPaís NascimentoBrasilbirthdat_nascimentoData de Nascimento1900-01-01T01:01:01emailnom_e_mailEmail[email protected]disabledlog_livre_1Portador de Necessidades Especiais
    Nota: campo da rh_pessoa_fisic. 

    True > Sim
    False > Não

    educationalLevelcdn_grau_instrucGrau de Instrução do candidato conforme tabela do eSocial. Deve existir no FP0120. 08 > Educação Superior incompleta
    a suspensão se aplica. 123
    baseCompanyIdcod_base_id_federBase do CNPJ da empresa que a suspensão se aplica. Será considerado apenas quando o código da empresa (companyCode) não for informado. 12345678
    tpProcidi_tip_proces_justicTipo de processo conforme leiaute do eSocial. 1
    nrProccod_proces_justicNúmero do processo. 12345678901234567890
    iniValiddat_inic_validInício da validade do processo. "2019-02"
    fimValiddat_term_validFim da validade do processo. "9999-12"
    indAutoriaidi_tip_autoriaAutoria da ação judicial. 2
    indMatProcidi_mater_procesIndicativo da matéria do processo ou alvará judicial.5
    observacaodes_obs_spedObservações relacionadas ao processo. Lorem ipsum dapibus molestie semper malesuada aliquam purus suspendisse tristique, etiam per urna arcu ante curabitur quam quis metus tempus, egestas a massa euismod sem fermentum maecenas sodales. vulputate molestie faucibus ac accumsan.
    ufVaracod_uf_varaUF da Vara. SC
    codMuniccdn_munpio_spedCódigo do município, conforme tabela do IBGE. 1234567
    idVaracod_varaCódigo de Identificação da Vara. 1234
    infoSusp
    Pode ter nenhuma ou várias suspensões conforme o processo. 


    codSuspnum_seq_utilizCódigo indicativa da suspensão. 1
    indSuspidi_tip_decis_proces_justicIndicativo de suspensão da exigibilidade. "04"
    dtDecisaodat_decisData da decisão, sentença ou despacho. "2019-07-21"
    indDepositolog_depos_montanteIndicativo de depósito do montante integral. 

    "S" para sim

    "N" para não. 

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


    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. 
    Bloco de código
    themeEclipse
    linenumberstrue
    collapsetrue
    {
       "errorCode": 1,
       "errorMessage": "Já existe candidato externo com o CPF informado."
    }

    366

    265

    Processo (nrProc) deve ser informado(a)

    Nome deve ser preenchido

    Verificar se a propriedade json

    name

    nrProc está preenchida no pacote enviado .

    Bloco de código
    themeEclipse
    linenumberstrue
    collapsetrue
    {
       			"
    errorCode
    message": 
    366, "errorMessage": "Nome
    "Processo (nrProc) 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. 
    Bloco de código
    themeEclipse
    linenumberstrue
    collapsetrue
    {
       "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. 
    informado(a).\n",
        		"code": "265",
        		"type": "error"
    }
    158

    Informe um(a) Tipo Processo (tpProc) válido(a). Valores Válidos: 1 ou 2 ou 3

    Verificar se a propriedade json tpProc existe e está com valor válido conforme leiaute do eSocial.   
    Bloco de código
    themeEclipse
    linenumberstrue
    collapsetrue
    {
       			"
    errorCode
    message":
    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. 
    Bloco de código
    themeEclipse
    linenumberstrue
    collapsetrue
    {
       "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
    Informe um(a) Tipo Processo (tpProc) válido(a). Valores Válidos: 1 ou 2 ou 3.\n",
        		"code": "158",
                "type": "error"
    }
    56650

    Processo cadastrado(a) no HCM deve ser mantido neste produto. Verifique o FP0030.

    Se o processo já foi cadastrado pelo HCM (FP0030), a manutenção do mesmo deve ocorrer no HCM e não via integração
    Bloco de código
    themeEclipse
    linenumberstrue
    collapsetrue
    {
       			"
    errorCode
    message":
    158
     "Processo cadastrado(a) no HCM deve ser mantido neste produto. Verifique o FP0030.\n",
        		"
    errorMessage
    code": "56650"
    Motivo
    ,
     
    Requisição
     
    Pessoal não foi
     
    informado
     
    nos
     
    Parâmetros
     
    Recrutamento
     
    e
     
    Seleção
     
    (RS0006)
     
    para
     
    a
     
    empresa informada.
    "type": "error"
    }
    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.
    7137

    Empresa não relacionada com Nenhum Empregador.

    Empresa informada na integração (companyCode) deve ser um empregador ou estar relacionado a algum empregador. Verifique complemento do eSocial no FP0500 Manutenção Parâmetros Empresa RH. 
    Bloco de código
    themeEclipse
    linenumberstrue
    collapsetrue
    {
       			"
    errorCode
    message":
    56
     "Empresa não relacionada com Nenhum Empregador",
        		"
    errorMessage
    code": 
    "Funcionário Responsável Inexistente. Verifique Parâmetros Recrutamento e Seleção (RS0006) da empresa informada.
    "7137",
                "type": "error"
    }
    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



    53817

    Dado Registro infoSusp (codSusp: 1) incorreto - indSusp (50).

    Este campo (indSusp) deve ter valor conforme leiaute do eSocial
    Bloco de código
    themeEclipse
    linenumberstrue
    collapsetrue
    {
       			"
    errorCode
    message": 
    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.  Bloco de código
    themeEclipse
    linenumberstrue
    collapsetrue
    { "errorCode": 158, "errorMessage": "Empresa Parâmetros RH Inválida.
    "Dado Registro infoSusp (codSusp: 1) incorreto - indSusp (50).",
        		"code": "53817",
                "type": "error"
    }


    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 ou não estejam de acordo com o leiaute do eSocial. 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.

    EMS2:

    • Verificar se os parâmetros de conexão foram cadastrados corretamente no CD0387: URL, Porta, Usuário e Senha.
    • Verificar se estão cadastrados corretamente os processos no CD2021 dentro do período selecionado no CD2014.
    • Verificar se o processo (CD2021) está relacionado ao estabelecimento (CD2021A).