Sample code for 30+ languages & platforms
Xojo Plugin

Yapily - Get Application Self

See more Yapily Examples

Get the information about the institutions configured in your application

Chilkat Xojo Plugin Downloads

Xojo Plugin
Dim success As Boolean
success = False

// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

Dim http As New Chilkat.Http

// 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

http.Login = "<username>"
http.Password = "<password>"

Dim sbResponseBody As New Chilkat.StringBuilder
success = http.QuickGetSb("https://api.yapily.com/me",sbResponseBody)
If (success = False) Then
    System.DebugLog(http.LastErrorText)
    Return
End If

Dim jResp As New Chilkat.JsonObject
success = jResp.LoadSb(sbResponseBody)
jResp.EmitCompact = False

System.DebugLog("Response Body:")
System.DebugLog(jResp.Emit())

Dim respStatusCode As Int32
respStatusCode = http.LastStatus
System.DebugLog("Response Status Code = " + Str(respStatusCode))
If (respStatusCode >= 400) Then
    System.DebugLog("Response Header:")
    System.DebugLog(http.LastHeader)
    System.DebugLog("Failed.")
    Return
End If

// 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

Dim strVal As String
Dim id As String
Dim fullName As String
Dim environmentType As String
Dim credentialsType As String
Dim j As Int32
Dim count_j As Int32
Dim displayName As String
Dim countryCode2 As String
Dim source As String
Dim v_type As String

Dim uuid As String
uuid = jResp.StringOf("uuid")
Dim name As String
name = jResp.StringOf("name")
Dim active As Boolean
active = jResp.BoolOf("active")
Dim created As String
created = jResp.StringOf("created")
Dim updated As String
updated = jResp.StringOf("updated")
Dim i As Int32
i = 0
Dim count_i As Int32
count_i = jResp.SizeOfArray("authCallbacks")
While i < count_i
    jResp.I = i
    strVal = jResp.StringOf("authCallbacks[i]")
    i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("institutions")
While i < count_i
    jResp.I = i
    id = jResp.StringOf("institutions[i].id")
    name = jResp.StringOf("institutions[i].name")
    fullName = jResp.StringOf("institutions[i].fullName")
    environmentType = jResp.StringOf("institutions[i].environmentType")
    credentialsType = jResp.StringOf("institutions[i].credentialsType")
    j = 0
    count_j = jResp.SizeOfArray("institutions[i].countries")
    While j < count_j
        jResp.J = j
        displayName = jResp.StringOf("institutions[i].countries[j].displayName")
        countryCode2 = jResp.StringOf("institutions[i].countries[j].countryCode2")
        j = j + 1
    Wend
    j = 0
    count_j = jResp.SizeOfArray("institutions[i].media")
    While j < count_j
        jResp.J = j
        source = jResp.StringOf("institutions[i].media[j].source")
        v_type = jResp.StringOf("institutions[i].media[j].type")
        j = j + 1
    Wend
    j = 0
    count_j = jResp.SizeOfArray("institutions[i].features")
    While j < count_j
        jResp.J = j
        strVal = jResp.StringOf("institutions[i].features[j]")
        j = j + 1
    Wend
    i = i + 1
Wend
i = 0
count_i = jResp.SizeOfArray("media")
While i < count_i
    jResp.I = i
    i = i + 1
Wend