Sample code for 30+ languages & platforms
Swift

Yapily - Get Application Self

See more Yapily Examples

Get the information about the institutions configured in your application

Chilkat Swift Downloads

Swift

func chilkatTest() {
    var success: Bool = false

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

    let http = CkoHttp()!

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

    let sbResponseBody = CkoStringBuilder()!
    success = http.quickGetSb(url: "https://api.yapily.com/me", sbContent: sbResponseBody)
    if success == false {
        print("\(http.lastErrorText!)")
        return
    }

    let jResp = CkoJsonObject()!
    jResp.loadSb(sb: sbResponseBody)
    jResp.emitCompact = false

    print("Response Body:")
    print("\(jResp.emit()!)")

    var respStatusCode: Int = http.lastStatus.intValue
    print("Response Status Code = \(respStatusCode)")
    if respStatusCode >= 400 {
        print("Response Header:")
        print("\(http.lastHeader!)")
        print("Failed.")
        return
    }

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

    var strVal: String?
    var id: String?
    var fullName: String?
    var environmentType: String?
    var credentialsType: String?
    var j: Int
    var count_j: Int
    var displayName: String?
    var countryCode2: String?
    var source: String?
    var v_type: String?

    var uuid: String? = jResp.string(of: "uuid")
    var name: String? = jResp.string(of: "name")
    var active: Bool = jResp.bool(of: "active")
    var created: String? = jResp.string(of: "created")
    var updated: String? = jResp.string(of: "updated")
    var i: Int = 0
    var count_i: Int = jResp.size(ofArray: "authCallbacks").intValue
    while i < count_i {
        jResp.i = i
        strVal = jResp.string(of: "authCallbacks[i]")
        i = i + 1
    }

    i = 0
    count_i = jResp.size(ofArray: "institutions").intValue
    while i < count_i {
        jResp.i = i
        id = jResp.string(of: "institutions[i].id")
        name = jResp.string(of: "institutions[i].name")
        fullName = jResp.string(of: "institutions[i].fullName")
        environmentType = jResp.string(of: "institutions[i].environmentType")
        credentialsType = jResp.string(of: "institutions[i].credentialsType")
        j = 0
        count_j = jResp.size(ofArray: "institutions[i].countries").intValue
        while j < count_j {
            jResp.j = j
            displayName = jResp.string(of: "institutions[i].countries[j].displayName")
            countryCode2 = jResp.string(of: "institutions[i].countries[j].countryCode2")
            j = j + 1
        }

        j = 0
        count_j = jResp.size(ofArray: "institutions[i].media").intValue
        while j < count_j {
            jResp.j = j
            source = jResp.string(of: "institutions[i].media[j].source")
            v_type = jResp.string(of: "institutions[i].media[j].type")
            j = j + 1
        }

        j = 0
        count_j = jResp.size(ofArray: "institutions[i].features").intValue
        while j < count_j {
            jResp.j = j
            strVal = jResp.string(of: "institutions[i].features[j]")
            j = j + 1
        }

        i = i + 1
    }

    i = 0
    count_i = jResp.size(ofArray: "media").intValue
    while i < count_i {
        jResp.i = i
        i = i + 1
    }


}