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-java

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 Java

Esta biblioteca permite que desenvolvedores realizem integrações com algumas das APIs do senior X Plataform da Senior em projetos Java. Essa mesma biblioteca também está disponível para Node.js.

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. Adicionalmente, serviços essenciais como autenticação, autorização, configuração e outros são disponibilizados pela senior-core-java.

A documentação Swagger para a versão web destas e outras APIs da Senior, assim como informações adicionais e tutoriais de uso, está disponível no portal do desenvolvedor.

Instalação

Usando Maven

  1. Adicione a biblioteca Senior Plataform Apps como dependência no pom.xml do seu projeto:
    ...
    <dependencies>
        <dependency>
            <groupId>br.com.senior</groupId>
            <artifactId>senior-platform-apps-java</artifactId>
            <version>0.3.0</version>
        </dependency>
    </dependencies>
    ...
  2. Execute o comando mvn clean install no projeto, instalando a dependência no repositório local do Maven.

Observações:

  • A última versão da SDK pode ser obtida no Maven Repository.
  • O histórico de alterações realizadas pode ser visto consultando o CHANGELOG.

Exemplo Rápido

Implementamos no pacote examples um conjunto de classes de exemplos para cada serviço. Alguns serviços dependem de variáveis que precisam ser informadas pelo usuário, como nome de usuário e senha para realizar a autenticação.

Os exemplos são implementações funcionais, bastando copiar o código de exemplo que se deseja para sua aplicação e adaptar os valores de entrada utilizados em cada chamada.

Para todas as APIs disponibilizadas, é necessário informar um token de acesso no construtor do client. Este token pode ser adquirido realizando login no AuthenticationClient, como no exemplo:

...
// adicione estas variáveis de ambiente com seu usuário e senha ou substitua seus valores aqui
final String username = System.getenv("SENIOR_USERNAME");
final String password = System.getenv("PASS");

AuthenticationClient client = new AuthenticationClient(Environment.HOMOLOG);
LoginInput loginInput = LoginInput.builder()
    .username(username)
    .password(password)
    .build();

LoginOutput output = client.login(loginInput);
String accessToken = output.getJsonToken().getAccessToken();
...

Utilizando como exemplo o serviço Workflow, caso a aplicação queira realizar a criação de uma solicitação, após adicionar a dependência no pom.xml e recuperar o token de acesso, basta chamar o método startRequest() do WorkflowClient informando os parâmetros necessários:

// cria o client do Workflow
WorkflowClient workflowClient = new WorkflowClient(accessToken);

// identificador de um processo previamente modelado e publicado no Workflow
int processId = 5;

// conteúdo do formulário de abertura da solicitação
Map<String, Object> formData = new HashMap<>();
formData.put("destino", "Curitiba");
formData.put("partida", "2021-06-25");
formData.put("retorno", "2021-06-28");
formData.put("motivo", "Visita a cliente");

StartRequestInput payload = StartRequestInput.builder()
    .processId(processId)
    .businessData(formData)
    .build();

// abre a solicitação
StartRequestOutput output = workflowClient.startRequest(payload);
// recupera o idenficiador da solicitação (instância do processo) criada
Integer processInstanceId = output.getProcessInstanceID();

Atualmente, o ambiente padrão para o desenvolvimento é o de homologação. Para alterar o ambiente, basta chamar o construtor da API desejada passando o endereço de outro ambiente, disponibilizado através do enum Environment:

// utiliza o ambiente de Homologação
WorkflowClient workflowClient = new WorkflowClient(accessToken);

// utiliza o ambiente de Produção
WorkflowClient workflowClient = new WorkflowClient(accessToken, Environment.PROD);

Exemplos implementados

Contribuições

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

Suporte

Criar um issue https://github.com/dev-senior-com-br/senior-platform-apps-java/issues

License

Copyright © 2020.