@seniorsistemas/senior-hcm
v1.4.0
Published
Senior HCM SDK para Node.js
Downloads
5
Readme
Senior API SDK para Node.js
Esta biblioteca permite desenvolvedores criar integrações com API HCM da Senior. Você pode ler a documentação completa: Dependent Recruitment Payroll
Versão suportada do Node.js
A SDK suporta o Node.js na versão 10 ou superior.
Instalação
npm i @seniorsistemas/senior-hcm --save
Ambiente
Atualmente o ambiente padrão para o desenvolvimento é o da Homologx.
Para fazer a troca do ambiente basta chamar o metodo setEnvironment
ou setUrl
caso queira passar uma url da plataforma diferente das configuradas:
export enum ENVIRONMENTS {
DEV = 'https://platform-homologx.senior.com.br/t/senior.com.br/bridge/1.0',
PROD = 'https://api.senior.com.br',
}
Configurações
Os comando abaixo permitem configuração de proxy:
- npm config set proxy <ALTERAR_PARA_PROXY_HTTP>
- npm config set https-proxy <ALTERAR_PARA_PROXY_HTTPS>
Criar arquivo .env na raíz do projeto
Adicionar ao arquivo as seguintes propriedades
SENIOR_USERNAME = <NOME_DO_USUARIO>
PASS = <SENHA_DO_USUARIO>
TENANT_NAME = <NOME_DO_TENANT>
Iniciando a utilização
Primeiro você precisa criar um arquivo .js
, como por exemplo: recruitment.js
, e nele requerer a biblioteca.
const HCMApi = require('@seniorsistemas/senior-hcm');
Então você precisa criar instância informando usuário e senha.
const api = new HCMApi(username, password);
Mudando o ambiente:
const { ENVIRONMENTS } = require('@seniorsistemas/senior-core');
api.setEnvironment(ENVIRONMENTS.PROD);
Exemplos
Na pasta examples você encontrar alguns exemplos. Para executa-los, basta rodar o comando abaixo com o nome do arquivo (substituir a chave <nome_arquivo>).
node examples/<nome_arquivo>.js
Para rodar arquivos .ts
é necessário instalar o pacote ts-node
globalmente (npm i -g ts-node
) e executar o exemplo conforme abaixo.
ts-node examples/<nome_arquivo>.ts
Alguns exemplos necessitam de propriedades específicas, descritas no inicio dos arquivos. Para configurar basta criar um arquivo no root do projeto chamado .env
contendo chave=valor para cada variavel de ambiente que o exemplo necessita.
Exemplo:
No arquivo examples/recruitment.js
usamos a variavel de ambiente: process.env.SENIOR_USERNAME
, sendo assim no arquivo .env
você vai colocar o seguinte:
SENIOR_USERNAME=<seu_usuario_da_plataforma>
PASS=<seu_password_da_plataforma>
Essa configuração é igual ao colocar variáveis de ambiente, o .env
é só um falicitador para o node.
Exemplos implementados
Entidades do Recruitment
- Currículo - resume.ts
- Contato telefônico (Currículo) - resumePhoneContact.ts
- Educação (Currículo) - educationSection.ts
- Experiência profissional (Currículo) - professionalExperienceSection.ts
- Vaga de emprego - vacancy.ts
- Processo seletivo do candidato - recruitmentProcess.ts
- Etapa do processo seletivo do candidato - recruitmentProcessStage.ts
- Compromisso do processo seletivo - appointment.ts
Entidades do Payroll
- Histórico de natureza de despesa - historicalExpenseNature.ts
- Histórico de movimentação de um colaborador - movimentation.ts
- Vínculo do telefone de contato com a pessoa - personphonecontact.ts
- Documentação de uma pessoa - document.ts
- Histórico de sindicato - syndicate.ts
- Aviso Prévio - priorNotice.ts
- Histórico de posto de trabalho - historicalJobPosition.ts
- Histórico de afastamento - historicalleave.ts
- Histórico de horário - historicalWorkshift.ts
- Tipo de atuação - actingtype.ts
- Estrutura do posto de trabalho - workstationgroupstructure.ts
- Pessoa - person.ts
- Histórico de centro de custo - historicalCostCenter.ts
- Vínculo do colaborador - historicalEmploymentRelationship.ts
- Histórico de categoria do eSocial - historicalEsocialCategory.ts
- Outros contratos - otherContract.ts
- Telefone de contato - phonecontact.ts
- Local de trabalho - department.ts
- Endereço de email da pessoa - Email.ts
- Conta bancária - account.ts
Entidades do Dependent
- Dependente - dependent.ts
- Tutela - tutelage.ts
- Auxílio creche - childcareAssistance.ts
- Salário família - familySalary.ts
- Documento do salário família - familySalaryDocument.ts
- Dependente do imposto de renda - dependentIncomeTax.ts
- Dependente do plano saúde - dependentHealthInsurance.ts
- Pensão judicial - judicialPension.ts
Links
Entidades
Para utilizar as entidades é necessário chamar o metódo getEntity
da api passando por parâmetro o domínio, serviço e a entidade.
const entity: Entity<Vacancy> = api.getEntity("hcm", "recruitment", "vacancy");
entity.get().then(resp => console.log(resp.body));
// Caso seja necessário utilizar a classe de filtro
String filter = new FilterBuilder().field("id").equals("60B3957C72C44E00A9739451B07265C3").build();
// O mesmo terá como retorno o seguinte : ?filter=id eq '60B3957C72C44E00A9739451B07265C3'
Obtendo versão de distribuição
Última versão disponível em https://www.npmjs.com/package/@seniorsistemas/senior-hcm
Guia de contribuição
Suporte
Criar uma issue https://github.com/dev-senior-com-br/senior-hcm-node/issues
License
Copyright © 2020.