Lianja
Lianja
Banco Inter OAuth2 Client Credentials
Generate an OAuth2 access token needed to consume the Inter APIs.Chilkat Lianja Downloads
llSuccess = .F.
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
loHttp = createobject("CkHttp")
// First load the certificate and private key, and set as the HTTP object's client certificate.
loCert = createobject("CkCert")
llSuccess = loCert.LoadFromFile("<nome arquivo certificado>.crt")
if (llSuccess = .F.) then
? loCert.LastErrorText
release loHttp
release loCert
return
endif
loBdPrivKey = createobject("CkBinData")
llSuccess = loBdPrivKey.LoadFile("<nome arquivo chave privada>.key")
if (llSuccess = .F.) then
? "Failed to load <nome"
release loHttp
release loCert
release loBdPrivKey
return
endif
loPrivKey = createobject("CkPrivateKey")
llSuccess = loPrivKey.LoadAnyFormat(loBdPrivKey,"")
if (llSuccess = .F.) then
? loPrivKey.LastErrorText
release loHttp
release loCert
release loBdPrivKey
release loPrivKey
return
endif
llSuccess = loCert.SetPrivateKey(loPrivKey)
if (llSuccess = .F.) then
? loCert.LastErrorText
release loHttp
release loCert
release loBdPrivKey
release loPrivKey
return
endif
llSuccess = loHttp.SetSslClientCert(loCert)
if (llSuccess = .F.) then
? loHttp.LastErrorText
release loHttp
release loCert
release loBdPrivKey
release loPrivKey
return
endif
loReq = createobject("CkHttpRequest")
loReq.HttpVerb = "POST"
loReq.Path = "/oauth/v2/token"
loReq.ContentType = "application/x-www-form-urlencoded"
loReq.AddParam("grant_type","client_credentials")
// Requested scopes in OAuth2 are typically SPACE separated.
loReq.AddParam("scope","boleto-cobranca.read boleto-cobranca.write")
loReq.AddHeader("accept","application/json")
loResp = createobject("CkHttpResponse")
llSuccess = loHttp.HttpReq("https://cdpj.partners.bancointer.com.br/oauth/v2/token",loReq,loResp)
if (llSuccess = .F.) then
? loHttp.LastErrorText
release loHttp
release loCert
release loBdPrivKey
release loPrivKey
release loReq
release loResp
return
endif
loJResp = createobject("CkJsonObject")
loResp.GetBodyJson(loJResp)
loJResp.EmitCompact = .F.
? "Response Body:"
? loJResp.Emit()
lnRespStatusCode = loResp.StatusCode
? "Response Status Code = " + str(lnRespStatusCode)
if (lnRespStatusCode >= 400) then
? "Response Header:"
? loResp.Header
? "Failed."
release loHttp
release loCert
release loBdPrivKey
release loPrivKey
release loReq
release loResp
release loJResp
return
endif
llSuccess = loJResp.WriteFile("qa_data/tokens/banco_inter_client_credentials.json")
if (llSuccess = .F.) then
? "Failed to save JSON access token file."
release loHttp
release loCert
release loBdPrivKey
release loPrivKey
release loReq
release loResp
release loJResp
return
endif
? "Success."
release loHttp
release loCert
release loBdPrivKey
release loPrivKey
release loReq
release loResp
release loJResp