Sample code for 30+ languages & platforms
Tcl

Isabel Connect Get Account

See more Ibanity Examples

Get the details for a specific account.

Chilkat Tcl Downloads

Tcl

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