Skip to content
This repository has been archived by the owner on Nov 22, 2024. It is now read-only.

dev-senior-com-br/senior-platform-apps-node

Repository files navigation

SDK Descontinuada!

Caso julgue necessário o uso de uma SDK, sugerimos a utilização de geradores código a partir do swagger de cada API via ferramenta https://editor.swagger.io/ (Opção Generate Client)


# Senior Plataform Apps SDK para Node

Esta biblioteca facilita o uso das APIs de aplicativos da plataforma da Senior Sistemas S/A em projetos Node. Essa mesma biblioteca também está disponível para Java. A documentação completa das APIs está definida em https://dev.senior.com.br/apis_publicas/.

Atualmente, as APIs disponibilizadas pelo SDK são:

  • Workflow
  • Gerenciamento de Conteúdo - CMS

Alguns serviços como o HCM e SAM possuem suas próprias bibliotecas, que podem ser encontradas no perfil do Dev Senior no GitHub.

Instalação

Adicione a dependência da biblioteca em seu projeto através do comando:

npm install --save @seniorsistemas/senior-platform-apps

Ambiente

Atualmente o ambiente padrão para o desenvolvimento é o de homologação (Homologx). Para fazer a troca do ambiente basta chamar o método setEnvironment ou setUrl caso queira passar uma url da plataforma diferente das configuradas. Os ambientes principais estão definidos no enum ENVIRONMENTS apresentado abaixo:

export enum ENVIRONMENTS {
  DEV = 'https://platform-homologx.senior.com.br/t/senior.com.br/bridge/1.0',
  PROD = 'https://api.senior.com.br',
}

Utilização

Para utilizar a biblioteca você precisa apenas se autenticar através da API authentication e atribuir para a API o accessToken recebido após o processo. Em seguida você poderá utilizar todos os outros serviços disponíveis. O exemplo abaixo demonstra o processo de login e criação de uma solicitação de viagem no BPM através do método startRequest:

const { PlatformAppsApi } = require('@seniorsistemas/senior-platform-apps');

const username = process.env.PLATFORM_USER;
const password = process.env.PLATFORM_PASS;
// identificador de um processo previamente criado e publicado no Workflow
const processId = process.env.PLATFORM_BPM_PROCESS_ID;

const api = new PlatformAppsApi();

api.authentication.login(username, password).then((resp) => {
  api.accessToken = JSON.parse(resp.body.jsonToken).access_token;
  api.workflow.startRequest({
    processId: processId,
    businessData: {
      destino: 'Curitiba',
      partida: '2021-06-25',
      retorno: '2021-06-28',
      motivo: 'Visita a cliente',
    },
    title: 'Viagem para Curitiba',
  })
  .then(resp => console.log(resp.body))
  .catch(err => console.error(err.response.data));
});

Mudando o ambiente:

const { ENVIRONMENTS } = require('@seniorsistemas/senior-core');
api.setEnvironment(ENVIRONMENTS.PROD);

Exemplos

Na pasta examples há alguns arquivos com exemplos utilizando a biblioteca. Para executá-los, basta criar as variáveis de ambiente abaixo, sendo que elas podem ser declaradas na máquina ou em um arquivo .env na raiz do proejto:

# Usuário da plataforma
PLATFORM_USER=<seu_usuario_da_plataforma>
# Senha da plataforma
PLATFORM_PASS=<sua_senha_da_plataforma>

Alguns exemplos fazem uso de variáveis adicionais, como no caso do Workflow demonstrado acima que utiliza a variável PLATFORM_BPM_PROCESS_ID para definir o identificador de um processo previamente publicado na plataforma.

Exemplos implementados

Contribuições

Contribuições ao projeto são bem vindas e podem ser realizadas seguindo nosso Guia de contribuição.

Suporte

Criar uma issue https://github.com/dev-senior-com-br/senior-platform-apps-node/issues

License

Copyright © 2020.