Tcl
Tcl
Isabel Connect Get Account
See more Ibanity Examples
Get the details for a specific account.Chilkat Tcl Downloads
load ./chilkat.dll
set success 0
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set http [new_CkHttp]
# Implements the following CURL command:
# curl -X GET https://api.ibanity.com/isabel-connect/accounts/93ecb1fdbfb7848e7b7896c0f2d207aed3d8b4c1 \
# --cert certificate.pem:qwertyuiop1 \
# --key private_key.pem \
# -H "Authorization: Bearer access_token_1603365407" \
# -H "Accept: application/vnd.api+json"
# Other Chilkat examples for Ibanity show how to set the SSL client certificate using the .pfx.
# This example will demonstrate using the PEM files.
set cert [new_CkCert]
set success [CkCert_LoadFromFile $cert "qa_data/pem/my_ibanity_certificate.pem"]
if {$success == 0} then {
puts [CkCert_lastErrorText $cert]
delete_CkHttp $http
delete_CkCert $cert
exit
}
set privKey [new_CkPrivateKey]
set success [CkPrivateKey_LoadEncryptedPemFile $privKey "qa_data/pem/my_ibanity_private_key.pem" "my_pem_password"]
if {$success == 0} then {
puts [CkPrivateKey_lastErrorText $privKey]
delete_CkHttp $http
delete_CkCert $cert
delete_CkPrivateKey $privKey
exit
}
set success [CkCert_SetPrivateKey $cert $privKey]
if {$success == 0} then {
puts [CkCert_lastErrorText $cert]
delete_CkHttp $http
delete_CkCert $cert
delete_CkPrivateKey $privKey
exit
}
set success [CkHttp_SetSslClientCert $http $cert]
if {$success == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
delete_CkCert $cert
delete_CkPrivateKey $privKey
exit
}
# Load the previously obtained access token.
set jsonToken [new_CkJsonObject]
set success [CkJsonObject_LoadFile $jsonToken "qa_data/tokens/isabel_access_token.json"]
if {$success == 0} then {
puts "No existing access token."
delete_CkHttp $http
delete_CkCert $cert
delete_CkPrivateKey $privKey
delete_CkJsonObject $jsonToken
exit
}
# This causes the "Authorization: Bearer ***" header to be added to the HTTP request.
CkHttp_put_AuthToken $http [CkJsonObject_stringOf $jsonToken "access_token"]
CkHttp_put_Accept $http "application/vnd.api+json"
CkHttp_SetUrlVar $http "id" "93ecb1fdbfb7848e7b7896c0f2d207aed3d8b4c1"
set jsonStr [CkHttp_quickGetStr $http "https://api.ibanity.com/isabel-connect/accounts/{$id}"]
if {[CkHttp_get_LastMethodSuccess $http] == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
delete_CkCert $cert
delete_CkPrivateKey $privKey
delete_CkJsonObject $jsonToken
exit
}
set jResp [new_CkJsonObject]
CkJsonObject_Load $jResp $jsonStr
CkJsonObject_put_EmitCompact $jResp 0
puts "Response Body:"
puts [CkJsonObject_emit $jResp]
set respStatusCode [CkHttp_get_LastStatus $http]
puts "Response Status Code = $respStatusCode"
if {$respStatusCode >= 400} then {
puts "Response Header:"
puts [CkHttp_lastResponseHeader $http]
puts "Failed."
delete_CkHttp $http
delete_CkCert $cert
delete_CkPrivateKey $privKey
delete_CkJsonObject $jsonToken
delete_CkJsonObject $jResp
exit
}
# Sample JSON response:
# (Sample code for parsing the JSON response is shown below)
# {
# "data": {
# "attributes": {
# "country": "BE",
# "currency": "EUR",
# "description": "current account",
# "financialInstitutionBic": "KREDBEBB",
# "holderAddress": "STREET NUMBER, ZIPCODE CITY",
# "holderAddressCountry": "BE",
# "holderName": "COMPANY",
# "reference": "BE96153112434405",
# "referenceType": "IBAN"
# },
# "id": "93ecb1fdbfb7848e7b7896c0f2d207aed3d8b4c1",
# "type": "account"
# }
# }
# Sample code for parsing the JSON response...
# Use the following online tool to generate parsing code from sample JSON:
# Generate Parsing Code from JSON
set dataAttributesCountry [CkJsonObject_stringOf $jResp "data.attributes.country"]
set dataAttributesCurrency [CkJsonObject_stringOf $jResp "data.attributes.currency"]
set dataAttributesDescription [CkJsonObject_stringOf $jResp "data.attributes.description"]
set dataAttributesFinancialInstitutionBic [CkJsonObject_stringOf $jResp "data.attributes.financialInstitutionBic"]
set dataAttributesHolderAddress [CkJsonObject_stringOf $jResp "data.attributes.holderAddress"]
set dataAttributesHolderAddressCountry [CkJsonObject_stringOf $jResp "data.attributes.holderAddressCountry"]
set dataAttributesHolderName [CkJsonObject_stringOf $jResp "data.attributes.holderName"]
set dataAttributesReference [CkJsonObject_stringOf $jResp "data.attributes.reference"]
set dataAttributesReferenceType [CkJsonObject_stringOf $jResp "data.attributes.referenceType"]
set dataId [CkJsonObject_stringOf $jResp "data.id"]
set dataType [CkJsonObject_stringOf $jResp "data.type"]
delete_CkHttp $http
delete_CkCert $cert
delete_CkPrivateKey $privKey
delete_CkJsonObject $jsonToken
delete_CkJsonObject $jResp