Visual FoxPro
Visual FoxPro
Banco Inter OAuth2 Client Credentials
Generate an OAuth2 access token needed to consume the Inter APIs.Chilkat Visual FoxPro Downloads
LOCAL lnSuccess
LOCAL loHttp
LOCAL loCert
LOCAL loBdPrivKey
LOCAL loPrivKey
LOCAL loReq
LOCAL loResp
LOCAL loJResp
LOCAL lnRespStatusCode
lnSuccess = 0
* This example assumes the Chilkat API to have been previously unlocked.
* See Global Unlock Sample for sample code.
loHttp = CreateObject('Chilkat.Http')
* First load the certificate and private key, and set as the HTTP object's client certificate.
loCert = CreateObject('Chilkat.Cert')
lnSuccess = loCert.LoadFromFile("<nome arquivo certificado>.crt")
IF (lnSuccess = 0) THEN
? loCert.LastErrorText
RELEASE loHttp
RELEASE loCert
CANCEL
ENDIF
loBdPrivKey = CreateObject('Chilkat.BinData')
lnSuccess = loBdPrivKey.LoadFile("<nome arquivo chave privada>.key")
IF (lnSuccess = 0) THEN
? "Failed to load <nome"
RELEASE loHttp
RELEASE loCert
RELEASE loBdPrivKey
CANCEL
ENDIF
loPrivKey = CreateObject('Chilkat.PrivateKey')
lnSuccess = loPrivKey.LoadAnyFormat(loBdPrivKey,"")
IF (lnSuccess = 0) THEN
? loPrivKey.LastErrorText
RELEASE loHttp
RELEASE loCert
RELEASE loBdPrivKey
RELEASE loPrivKey
CANCEL
ENDIF
lnSuccess = loCert.SetPrivateKey(loPrivKey)
IF (lnSuccess = 0) THEN
? loCert.LastErrorText
RELEASE loHttp
RELEASE loCert
RELEASE loBdPrivKey
RELEASE loPrivKey
CANCEL
ENDIF
lnSuccess = loHttp.SetSslClientCert(loCert)
IF (lnSuccess = 0) THEN
? loHttp.LastErrorText
RELEASE loHttp
RELEASE loCert
RELEASE loBdPrivKey
RELEASE loPrivKey
CANCEL
ENDIF
loReq = CreateObject('Chilkat.HttpRequest')
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('Chilkat.HttpResponse')
lnSuccess = loHttp.HttpReq("https://cdpj.partners.bancointer.com.br/oauth/v2/token",loReq,loResp)
IF (lnSuccess = 0) THEN
? loHttp.LastErrorText
RELEASE loHttp
RELEASE loCert
RELEASE loBdPrivKey
RELEASE loPrivKey
RELEASE loReq
RELEASE loResp
CANCEL
ENDIF
loJResp = CreateObject('Chilkat.JsonObject')
loResp.GetBodyJson(loJResp)
loJResp.EmitCompact = 0
? "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
CANCEL
ENDIF
lnSuccess = loJResp.WriteFile("qa_data/tokens/banco_inter_client_credentials.json")
IF (lnSuccess = 0) THEN
? "Failed to save JSON access token file."
RELEASE loHttp
RELEASE loCert
RELEASE loBdPrivKey
RELEASE loPrivKey
RELEASE loReq
RELEASE loResp
RELEASE loJResp
CANCEL
ENDIF
? "Success."
RELEASE loHttp
RELEASE loCert
RELEASE loBdPrivKey
RELEASE loPrivKey
RELEASE loReq
RELEASE loResp
RELEASE loJResp