3. Sendo Autorizado em Nome do Usuário

Para acessar os recursos de um usuário com o prévio consentimento dele pelo Guiabolso Connect você precisará do código de autorização dele. Do passo anterior, lembre-se de que enviamos esse código pela URL de callback. Neste passo o código de autorização é trocado pelos tokens de acesso e de atualização às contas do usuário.


API: Troca pelo Token de Acesso

Para ser autorizado em nome do usuário diretamente na API do Guiabolso, basta enviar uma requisição POST passando o seguinte body em JSON para a rota /partner/events/ da nossa API kasbah.guiabolso.com.br.

COPIAR
{
"name": "oauth:tokens:exchange",
"version": 1,
"id": "0845bb8b-24e6-4741-9436-d15076906371",
"flowId": "fd9a2041-febf-44fe-a576-39bae907c5a2",
"payload": {
"code": "AUTH_CODE"
},
"identity": {
"clientId": "CLIENT_ID"
},
"auth": {
"clientSecret": "CLIENT_SECRET"
},
"metadata": {}
}
avisoid e o flowId devem ser identificadores UUID válidos. Eles são usados respecitvamente para identicação do evento e para rastreabilidade dentro do Guiabolso
avisocode é o código de autorização gerado no passo 2 desta integração passado em formato de string na requisição
avisoclientId é o identificador da sua credencial e o clientSecret sua senha.

A seguir mostramos um exemplo de resposta com os respectivos tokens de acesso e de atualização na resposta HTTP.

COPIAR
{
"name": "oauth:tokens:exchange:response",
"version": 1,
"id": "0845bb8b-24e6-4741-9436-d15076906371",
"flowId": "fd9a2041-febf-44fe-a576-39bae907c5a2",
"auth": {},
"identity": {},
"payload": {
"accessToken": "ACCESS_TOKEN",
"refreshToken": "REFRESH_TOKEN"
},
"metadata": {}
}

API: Renovar Token de Acesso

Se o seu token de acesso tiver expirado ao pedir informações de um usuário (o token de acesso é válido apenas por 30 minutos), pode ser necessário gerar outro a partir do refreshToken que vocẽ recebeu. Basta enviar uma requisição POST passando o seguinte body em JSON para a rota /partner/events/ da nossa API kasbah.guiabolso.com.br

COPIAR
{
"name": "oauth:refresh:token:exchange",
"version": 1,
"id": "3c254fec-f494-4347-a8cf-4b5e817a62e6",
"flowId": "d72893f7-6b4c-4ba5-acff-f0bf78414dbe",
"payload": {
"refreshToken": "REFRESH_TOKEN"
},
"identity": {
"clientId": "CLIENT_ID"
},
"auth": {
"clientSecret": "CLIENT_SECRET"
},
"metadata": {}
}

Se a atualização for bem sucedido, você receberá a seguinte resposta HTTP com o seu novo token de acesso.

COPIAR
{
"name": "oauth:refresh:token:exchange:response",
"version": 1,
"id": "3c254fec-f494-4347-a8cf-4b5e817a62e6",
"flowId": "d72893f7-6b4c-4ba5-acff-f0bf78414dbe",
"payload": {
"accessToken": "ACCESS_TOKEN"
},
"identity": {},
"auth": {},
"metadata": {}
}

Connector: Sendo Autorizado

Se você estiver usando o Connector, para ser autorizado em nome do usuário, basta enviar uma requisição POST passando o seguinte body em JSON para a rota /partner/events/ do Connector.

COPIAR
{
"name": "authorization:code",
"version": 1,
"id": "0845bb8b-24e6-4741-9436-d15076906371",
"flowId": "fd9a2041-febf-44fe-a576-39bae907c5a2",
"payload": {
"authorizationCode": "AUTH_CODE"
},
"identity": {
"userId": "USER_ID"
},
"metadata": {},
"auth": {}
}
avisoid e o flowId devem ser identificadores UUID válidos. Eles são usados respecitvamente para identicação do evento e para rastreabilidade dentro do Guiabolso
avisoauthorizationCode é o código de autorização gerado no passo 2 desta integração passado em formato de string na requisição
avisouserId é o identificador único do usuário na sua plataforma em formato string

Se o evento for bem sucedido, você receberá a seguinte resposta. Note que os tokens não foram retornados na resposta isso porque o Connector os armazena num banco de dados e gerencia toda a troca de tokens e atualização dos tokens expirados para você.

COPIAR
{
"name": "authorization:code:response",
"version": 1,
"id": "0845bb8b-24e6-4741-9436-d15076906371",
"flowId": "fd9a2041-febf-44fe-a576-39bae907c5a2",
"payload": {},
"identity": {},
"auth": {},
"metadata": {}
}
Anterior
2. Recebendo Código
Próximo
4. Obtendo Dados

© GuiaBolso Finanças Correspondente Bancário e Serviços LTDA 2020