O método torna possível autenticar suas solicitações para a Web API da Dotz assumindo os dados de um usuário. Este fluxo é descrito na RFC-6749.
Possibilidade de Uso
Esse fluxo somente é possível ser utilizado por aplicações aprovadas com essa permissão, que não é habilitada por padrão.
1. Sua aplicação requisita a Autorização
A requisição é enviada para /connect/token do serviço de Accounts:
curl -X POST https://accounts.dotzlabs.com/accounts/v1/connect/token -H "authorization: Basic NlhM...RA==" -d "grant_type=password&username=00000000000&password=ABCDEFD"
Essa requisição deve incluir os parâmetros no corpo da requisição:
| Parâmetro do corpo da requisição | Valor |
|---|---|
| grant_type | Requerido. Definir como 'password'. |
| username | Identificador do usuário na plataforma. Pode ser CPF, CNPJ ou e-mail. |
| password | Senha do usuário na plataforma. Deve ser codificado em Base64. |
O header da requisição POST deve conter os seguintes parâmetros:
| Parâmetro do Header | Valor |
|---|---|
| Authorization | Requerido. Seqüência codificada em Base 64 que contém o client id e client secret da aplicação cliente. O campo deve ter o formato: Authorization: Basic |
Exemplo de requisição com resposta:
curl -X POST https://accounts.dotzlabs.com/accounts/v1/connect/token -H "authorization: Basic Nlh...RUA==" -d "grant_type=password&username=00000000000&password=ABCDEFG"
{
"access_token": "eyJhb...J1K_w",
"expires_in": 3600,
"token_type": "Bearer",
"refresh_token": "717c4...683"
}
2. Use o access token para acessar a Web API da Dotz
Com access token obtido no passo anterior, é possível realizar chamadas para as Web APIs que precisam dos dados do usuário, como por exemplo, a operação Obter Saldo, por exemplo:
curl -X GET --header "Authorization: Bearer eyJ...Nhhw" "https://api.dotzlabs.com/wallet/v1/balance"
{
"available": 2350,
"pending": 1000,
"expiring": 350,
"nextExpirationDate": "2017-06-13T17:45:29.352Z"
}
3. Atualizando o Access Token
Para atualizar o access token, uma requisição é enviada para https://accounts.dotzlabs.com/accounts/v1/connect/token do serviço de Accounts:
curl -X POST https://accounts.dotzlabs.com/accounts/v1/connect/token -H 'authorization: Basic NlhM...RUA==' -d 'grant_type=refresh_token&refresh_token=a97b29...0c48'
Essa requisição deve incluir os parâmetros no corpo da requisição:
| Parâmetro do corpo da requisição | Valor |
|---|---|
| grant_type | Requerido. Definir como 'refresh_token'. |
| refresh_token | Requerido. Refresh token recebido na resposta do passo 2. |
O header da requisição POST deve conter os seguintes parâmetros:
| Parâmetro do Header | Valor |
|---|---|
| Authorization | Requerido. Seqüência codificada em Base 64 que contém o client id e a client secret da aplicação cliente. O campo deve ter o formato: Authorization: Basic |
Por exemplo:
curl -X POST http://uat-accounts.dotzlabs.com/connect/token -H 'authorization: Basic NlhM...RUA==' -d 'grant_type=refresh_token&refresh_token=a97b29...0c48'
