Sample code for 30+ languages & platforms
Tcl

Yapily - Get Application Self

See more Yapily Examples

Get the information about the institutions configured in your application

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 -i -X GET \
#   -u <username>:<password> \
#   https://api.yapily.com/me

# Use the following online tool to generate HTTP code from a CURL command
# Convert a cURL Command to HTTP Source Code

CkHttp_put_Login $http "<username>"
CkHttp_put_Password $http "<password>"

set sbResponseBody [new_CkStringBuilder]

set success [CkHttp_QuickGetSb $http "https://api.yapily.com/me" $sbResponseBody]
if {$success == 0} then {
    puts [CkHttp_lastErrorText $http]
    delete_CkHttp $http
    delete_CkStringBuilder $sbResponseBody
    exit
}

set jResp [new_CkJsonObject]

CkJsonObject_LoadSb $jResp $sbResponseBody
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_lastHeader $http]
    puts "Failed."
    delete_CkHttp $http
    delete_CkStringBuilder $sbResponseBody
    delete_CkJsonObject $jResp
    exit
}

# Sample JSON response:
# (Sample code for parsing the JSON response is shown below)

# {
#   "uuid": "64949de6-6510-4d70-9500-d4aa094c506c",
#   "name": "APPLICATION NAME",
#   "active": true,
#   "authCallbacks": [
#     "https://display-parameters.com/"
#   ],
#   "institutions": [
#     {
#       "id": "modelo-sandbox",
#       "name": "Modelo Sandbox",
#       "fullName": "Modelo Sandbox",
#       "countries": [
#         {
#           "displayName": "United Kingdom",
#           "countryCode2": "GB"
#         }
#       ],
#       "environmentType": "SANDBOX",
#       "credentialsType": "OPEN_BANKING_UK_AUTO",
#       "media": [
#         {
#           "source": "https://images.yapily.com/image/ce2bfdbf-1ae2-4919-ab7b-e8b3d5e93b36?size=0",
#           "type": "icon"
#         },
#         {
#           "source": "https://images.yapily.com/image/ca502f24-d6df-4785-b4b8-1034b100af77?size=0",
#           "type": "logo"
#         }
#       ],
#       "features": [
#         "INITIATE_SINGLE_PAYMENT_SORTCODE",
#         "CREATE_DOMESTIC_PERIODIC_PAYMENT",
#         "ACCOUNT_REQUEST_DETAILS",
#         "ACCOUNT_STATEMENT_FILE",
#         "CREATE_SINGLE_PAYMENT_SORTCODE",
#         "ACCOUNTS",
#         "CREATE_DOMESTIC_SCHEDULED_PAYMENT",
#         "ACCOUNT_PERIODIC_PAYMENTS",
#         "CREATE_DOMESTIC_SINGLE_PAYMENT",
#         "INITIATE_DOMESTIC_PERIODIC_PAYMENT",
#         "EXISTING_PAYMENTS_DETAILS",
#         "INITIATE_BULK_PAYMENT",
#         "EXISTING_PAYMENT_INITIATION_DETAILS",
#         "ACCOUNT_DIRECT_DEBITS",
#         "ACCOUNT_TRANSACTIONS",
#         "INITIATE_DOMESTIC_SINGLE_PAYMENT",
#         "PERIODIC_PAYMENT_FREQUENCY_EXTENDED",
#         "CREATE_INTERNATIONAL_SINGLE_PAYMENT",
#         "ACCOUNT_SCHEDULED_PAYMENTS",
#         "ACCOUNT",
#         "ACCOUNT_STATEMENTS",
#         "ACCOUNT_TRANSACTIONS_WITH_MERCHANT",
#         "CREATE_BULK_PAYMENT",
#         "ACCOUNT_BALANCES",
#         "INITIATE_INTERNATIONAL_SINGLE_PAYMENT",
#         "INITIATE_DOMESTIC_SCHEDULED_PAYMENT",
#         "ACCOUNT_BENEFICIARIES",
#         "IDENTITY",
#         "ACCOUNT_STATEMENT",
#         "INITIATE_ACCOUNT_REQUEST"
#       ]
#     }
#   ],
#   "media": [
#   ],
#   "created": "2020-11-09T10:05:29.897+0000",
#   "updated": "2021-04-14T12:51:07.419+0000"
# }

# 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 uuid [CkJsonObject_stringOf $jResp "uuid"]
set name [CkJsonObject_stringOf $jResp "name"]
set active [CkJsonObject_BoolOf $jResp "active"]
set created [CkJsonObject_stringOf $jResp "created"]
set updated [CkJsonObject_stringOf $jResp "updated"]
set i 0
set count_i [CkJsonObject_SizeOfArray $jResp "authCallbacks"]
while {$i < $count_i} {
    CkJsonObject_put_I $jResp $i
    set strVal [CkJsonObject_stringOf $jResp "authCallbacks[i]"]
    set i [expr $i + 1]
}
set i 0
set count_i [CkJsonObject_SizeOfArray $jResp "institutions"]
while {$i < $count_i} {
    CkJsonObject_put_I $jResp $i
    set id [CkJsonObject_stringOf $jResp "institutions[i].id"]
    set name [CkJsonObject_stringOf $jResp "institutions[i].name"]
    set fullName [CkJsonObject_stringOf $jResp "institutions[i].fullName"]
    set environmentType [CkJsonObject_stringOf $jResp "institutions[i].environmentType"]
    set credentialsType [CkJsonObject_stringOf $jResp "institutions[i].credentialsType"]
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "institutions[i].countries"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set displayName [CkJsonObject_stringOf $jResp "institutions[i].countries[j].displayName"]
        set countryCode2 [CkJsonObject_stringOf $jResp "institutions[i].countries[j].countryCode2"]
        set j [expr $j + 1]
    }
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "institutions[i].media"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set source [CkJsonObject_stringOf $jResp "institutions[i].media[j].source"]
        set v_type [CkJsonObject_stringOf $jResp "institutions[i].media[j].type"]
        set j [expr $j + 1]
    }
    set j 0
    set count_j [CkJsonObject_SizeOfArray $jResp "institutions[i].features"]
    while {$j < $count_j} {
        CkJsonObject_put_J $jResp $j
        set strVal [CkJsonObject_stringOf $jResp "institutions[i].features[j]"]
        set j [expr $j + 1]
    }
    set i [expr $i + 1]
}
set i 0
set count_i [CkJsonObject_SizeOfArray $jResp "media"]
while {$i < $count_i} {
    CkJsonObject_put_I $jResp $i
    set i [expr $i + 1]
}

delete_CkHttp $http
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jResp