Sample code for 30+ languages & platforms
B4X

Banco Inter OAuth2 Client Credentials

Generate an OAuth2 access token needed to consume the Inter APIs.

Chilkat B4X Downloads

B4X
Dim success As Boolean = False

'  This example assumes the Chilkat API to have been previously unlocked.
'  See Global Unlock Sample for sample code.

Dim http As ChilkatHttp
http.Initialize("http")

'  First load the certificate and private key, and set as the HTTP object's client certificate.
Dim cert As ChilkatCert
cert.Initialize("cert")
success = cert.LoadFromFile("<nome arquivo certificado>.crt")
If success = False Then
    Log(cert.LastErrorText)
    Return
End If


Dim bdPrivKey As ChilkatBinData
bdPrivKey.Initialize
success = bdPrivKey.LoadFile("<nome arquivo chave privada>.key")
If success = False Then
    Log("Failed to load <nome")
    Return
End If


Dim privKey As ChilkatPrivateKey
privKey.Initialize("privKey")
success = privKey.LoadAnyFormat(bdPrivKey, "")
If success = False Then
    Log(privKey.LastErrorText)
    Return
End If


success = cert.SetPrivateKey(privKey)
If success = False Then
    Log(cert.LastErrorText)
    Return
End If


success = http.SetSslClientCert(cert)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


Dim req As ChilkatHttpRequest
req.Initialize
req.HttpVerb = "POST"
req.Path = "/oauth/v2/token"
req.ContentType = "application/x-www-form-urlencoded"
req.AddParam("grant_type", "client_credentials")
'  Requested scopes in OAuth2 are typically SPACE separated.
req.AddParam("scope", "boleto-cobranca.read boleto-cobranca.write")
req.AddHeader("accept", "application/json")

Dim resp As ChilkatHttpResponse
resp.Initialize
success = http.HttpReq("https://cdpj.partners.bancointer.com.br/oauth/v2/token", req, resp)
If success = False Then
    Log(http.LastErrorText)
    Return
End If


Dim jResp As ChilkatJsonObject
jResp.Initialize
resp.GetBodyJson(jResp)
jResp.EmitCompact = False

Log("Response Body:")
Log(jResp.Emit)

Dim respStatusCode As Int = resp.StatusCode
Log("Response Status Code = " & respStatusCode)
If respStatusCode >= 400 Then
    Log("Response Header:")
    Log(resp.Header)
    Log("Failed.")
    Return
End If


success = jResp.WriteFile("qa_data/tokens/banco_inter_client_credentials.json")
If success = False Then
    Log("Failed to save JSON access token file.")
    Return
End If


Log("Success.")