Para ter acesso a API Ellevo, sua aplicação deverá realizar a autenticação de seu APP através do fluxo OAuth.
Passo 1: sua aplicação solicita um token de acesso através do envio das credenciais do APP solicitante e do domínio do Backend Ellevo.
Passo 2: caso suas credenciaise o domínio sejam válidos, sua aplicação receberá um código representando um token de acesso.
Passo 3: sua aplicação solicita o consumo dos recursos disponíveis na API através do envio do client_id e do token de acesso.
Passo 4: caso as informações de autenticação estejam válidas no escopo da requisição, sua aplicação receberá o conjunto de informações solicitadas.
Tutorial:
Primeiramente, é necessário que você já tenha se cadastrado neste portal e criado uma APP, pois as credenciais geradas pelo portal serão utilizadas no processo de autenticação.
Em seguida, faça o download do Postman (software utilizado no tutorial) através deste link.
Obs.: Você poderá utilizar o software que estiver mais a vontade, mas a título de explanação, o Postman foi o software sugerido por ter uma facilidade maior quanto a configuração e uso.
Uma vez instalado, siga os 3 passos abaixo:
1) Configurando as variáveis globais:
Algumas variáveis serão utilizadas pelo Postman para lidar com os passos da autenticação. O conjunto de variáveis que utilizaremos são:
client_id: Credencial do APP, equivalente a um usuário sistêmico.
client_secret: Credencial do APP, equivalente a uma senha sistêmica.
access_token: Código que representa um token de acesso.
Abra o Postman e procure o botão Manage Environments (com o desenho de uma engrenagem), no canto superior direito.
Na tela seguinte, clique no botão Import e selecione este arquivo.
Neste momento, o Postman já carregou a configuração para lidar com as variáveis que serão utilizadas, e você precisa agora setar apenas as credenciais do seu APP, inserindo o client_id e client_secret gerados pelo portal na criação do seu APP.
Obs.: Caso não tenha anotado, as informações de client estão disponíveis no portal, no menu de gerenciamento de suas APPs.
Ainda no menu Manage Environments, agora clique no botão Globals, e na tela seguinte, para os campos client_id e client_secret, popule a coluna CURRENT VALUE com as informações coletadas.
Neste momento, todas as variáveis iniciais estão setadas. As outras variáveis serão alimentadas automaticamente pelo processo configurado. Clique em Save e feche a janela Manage Environments.
2) Configurando a collection:
Na tela inicial do Postman, clique em Import:
Na tela seguinte, na aba Import File, clique no botão Choose Files e selecione este arquivo.
Neste momento, o Postman já carregou uma collection contendo 1 call. Uma mensagem de sucesso será exibida no canto inferior direito e no menu lateral esquerdo será apresentada a call.
3) Executando a collection:
Na tela inicial do Postman, no menu lateral esquerdo, expanda a collection "Sotreq > API Autenticação - Ellevo" e aparecerá a call que faz referência ao fluxo apresentado acima.
Clique na segunda call "Obter Access Token Ellevo" ¹, e em seguida, clique na aba "Authorization" ². Verifique que já está selecionada a opção "Basic Auth" ³ na lista de tipos e que os campos "Username" e "Password" estão preenchidos com as variáveis globais que contém as credenciais de seu APP (client_id e client_secret respectivamente). O resultado das informações dessa aba é um header (que pode ser visto na aba seguinte, Headers), cujo conteúdo é a transformação do conteúdo das credenciais (no formato client_id:client_secret) para Base64, resultando em uma codificação como por exemplo:
Basic MDVjOTc2Y2ItYzI2YS0zZGI1LTllZmEtNjNmYmI5MDM4MWYwOjZiYWU0ODdjLTEyZWMtMzdiNi1iOTkzLWQ1ZWI3NTI2ZGI5Yg==
Uma vez que esse header esteja preenchido, clique na aba "body" e preencha manualmente os campos "username", "password" e "extra_info.dominio" com as informações de autenticação do backend Ellevo. Após isso, ainda com a call "Obter Access Token" ¹ selecionada, clique em Send ². Como resultado, você receberá um JSON contendo 4 informações:
Access token - Código que representa seu token de acesso
Refresh token - Código a ser utilizado para obtenção de um novo token de acesso
Token type - Tipo de token (nesse caso, sempre access token)
Expires in - Tempo (em segundos) de validade do token de acesso recebido
Nesse momento, seu APP encontra-se autenticado e com acesso liberado. Para consumir a API Ellevo integration basta informar no header das requisições seu client_id e seu access_token.
Endereços da API de OAuth:
https://api.sotreq.com.br/oauth/access-token