These docs are for v1.2. Click to read the latest docs for v1.4.

Comunidade

Ask a Question
Back to All

Acesso aos Boletos

(edited)

Bem agora já consigo acessar ao saldo da conta bancaria. Mas ao listar ou criar um boleto recebo erro 403

HTTPError: 403 Client Error: Forbidden for url: https://api.sandbox.empresas.btgpactual.com/v1/bank-slips/?accountId=05599927000103-208-50-003855964&limit=10
  

Recapitulando:

No portal tenho habilitado as seguintes escopos: openid empresas.btgpactual.com/accounts empresas.btgpactual.com/bank-slips

abro o navegador com a url

https://id.sandbox.btgpactual.com/oauth2/authorize?client_id={CLIENT_ID}&response_type=code&redirect_uri=https://adm.pidlabs.com/api/btg&scope=empresas.btgpactual.com/bank-slips openid empresas.btgpactual.com/accounts

Pego o code.

Gero o token:

headers = {
  "Accept": "application/json",
  "Content-Type": "application/x-www-form-urlencoded",
  "Authorization": f"Basic {base64_code}"
}
payload = f"code={code}&redirect_uri=https://adm.pidlabs.com/api/btg&grant_type=authorization_code&scope=empresas.btgpactual.com/bank-slips empresas.btgpactual.com/accounts openId"
response = requests.post(url, timeout=3, data=payload, headers=headers)

Me devolve um token tipo:

{'access_token': 'token
 'refresh_token': 'refresh_token
 'empresas.btgpactual.com/accounts': '30306294000145', 
 'scope': 'empresas.btgpactual.com/accounts empresas.btgpactual.com/bank-slips openid', 
  'id_token': 'id_token', 
   'token_type': 'Bearer', 
   'expires_in': 86400, 
   'empresas.btgpactual.com/bank-slips': '30306294000145'
}

Para listar os boletos ( criei um pelo app):

url = "https://api.sandbox.empresas.btgpactual.com/v1/bank-slips?accountId=05599927000103-208-50-0038559&limit=10"

headers = {
    "accept": "application/json",
    "authorization": "Bearer Token"
}

response = requests.get(url, headers=headers)

Me devolve

HTTPError: 403 Client Error: Forbidden for url: https://api.sandbox.empresas.btgpactual.com/v1/bank-slips/?accountId=05599927000103-208-50-003855964&limit=10

Aparentemente o Token não ter permissão para Boletos.