Todas as funcionalidades dos sistemas que compõe a plataforma estão disponíveis no formato de Serviços REST.
Sendo assim qualquer uma dessas chamadas pode ser realizada à partir de um client que consiga realizar chamadas HTTP.
Neste tutorial veremos como realizar a chamada de autenticação e obtenção os dados do usuário logado.
Sobre o tutorial
Para execução deste tutorial, as seguintes ferramentas devem estar instaladas em seu computador
- Postman – Ferramenta para desenvolvimento de APIs
Realizando as chamadas
No Postman clique em manage environments, conforme a imagem abaixo:
Clique em Add, informe um nome para seu environment e adicione a chave
com a URL “https://platform.senior.com.br/t/senior.com.br/bridge/1.0/rest/“.
Invocando a autenticação
Existem duas formas de autenticar-se na plataforma para consumir as APIs.
A primeira é utilizando o mesmo usuário/senha utilizados para acessar através da tela de login da SeniorX.
Outra opção é utilizando o recurso de Aplicações, onde é gerada uma senha exclusiva para o consumo de API.
Com usuário e senha
Em uma aba de chamadas, selecione um request do tipo
No campo de URL adicione
No
do request adicione um JSON com os atributos
e
conforme a imagem abaixo
Na aba Test adicione o seguinte código
Isso adicionará uma variável de ambiente com o token, assim não será necessário alterar o valor do header authentication em cada chamada testada posteriormente a cada nova autenticação.
Clique em send e na área inferior da aba o response, com o token e demais dados da autenticação, será apresentado.
Invocando o Endpoint
Invocaremos o endpoit que retorna os dados do usuário logado.
Para invocá-lo, em uma nova aba, deve-se informar o tipo de request, neste caso
A URL
Os dados de autenticação, na aba Headers, a chave
e o valor
que buscará o valor setado na variável global no momento da autenticação.
Clique em send e na área inferior da aba o response, com o os dados do usuário logado, será apresentado.
Utilizando Aplicação
O cadastro de uma aplicação é equivalente a de um usuário, tendo como diferença que uma aplicação não possui usuário e senha, mas sim chave e segredo. Sendo assim essas informações não seguem a política de senha portanto não expiram.
Para cadastrar uma aplicação, acesse o menu “Tecnologia > Administração > Gerenciamento de Aplicações”.
Clicando em “Nova aplicação”, basta informar Nome e Descrição.
Após salvar a aplicação, no botão “Ações” clique em “Gerenciar chaves”.
As chaves serão geradas clicando em “Gerar chaves”.
Uma aplicação quando cadastrada não possui permissões associada, elas podem ser configuradas através da tela de gerenciamento de papéis, onde é possível adicionar e remover uma aplicação em um ou mais papéis.
Ao processar requisições de uma aplicação, a plataforma envia o nome da aplicação na mensagem como um usuário comum, assim a verificação de permissões é a mesma não importanto se é um usuário ou uma aplicação que está fazendo a chamada para a plataforma.
O login de uma aplicação deve ser feita através da primitiva https://platform.senior.com.br/t/senior.com.br/bridge/1.0/anonymous/rest/platform/authentication/actions/loginWithKey que recebe como parâmetro: chave, segredo, nome do tenant obrigatoriamente e escopo opcionalmente. O retorno é quase o mesmo que o login com um usuário, a única diferença de logar como uma aplicação é a não existência de refreshToken.
Tipos de parâmetros
Cada serviço possui seus parâmetros e cada parâmetro possui um tipo, existem alguns tipos pré-definidos, que são os tipos primitivos, e outros tipos são definidos pelo serviço, normalmente para agrupar um conjunto de tipos primitivos sobre algum separação lógica. Em um exemplo fictício, um colaborador tem seu nome, idade, e um dependente, o nome e idade seriam tipos primitivos, string e integer, respectivamente. Já o dependente seria um tipo definido pelo serviço, que também possui um nome e idade.
{
“nome”: “João”,
“idade”: 35,
“dependente”: {
“nome”: “João Junior”,
“idade”: 10
}
}
Mais detalhes sobre os tipos de dados disponíveis acesse https://dev.senior.com.br/documentacao/guia-de-api/formato-de-dados/