Sample code for 30+ languages & platforms
Xbase++

Yapily - Get Application Self

See more Yapily Examples

Get the information about the institutions configured in your application

Chilkat Xbase++ Downloads

Xbase++
LOCAL nSuccess
LOCAL oHttp
LOCAL oSbResponseBody
LOCAL oJResp
LOCAL nRespStatusCode
LOCAL cStrVal
LOCAL cId
LOCAL cFullName
LOCAL cEnvironmentType
LOCAL cCredentialsType
LOCAL j
LOCAL nCount_j
LOCAL cDisplayName
LOCAL cCountryCode2
LOCAL cSource
LOCAL cV_type
LOCAL cUuid
LOCAL cName
LOCAL nActive
LOCAL cCreated
LOCAL cUpdated
LOCAL i
LOCAL nCount_i

nSuccess := 0

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

oHttp := CreateObject("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

oHttp:Login := "<username>"
oHttp:Password := "<password>"

oSbResponseBody := CreateObject("Chilkat.StringBuilder")
nSuccess := oHttp:QuickGetSb("https://api.yapily.com/me", oSbResponseBody)
IF (nSuccess == 0)
    ? oHttp:LastErrorText
    oHttp:destroy()
    oSbResponseBody:destroy()
    RETURN
ENDIF

oJResp := CreateObject("Chilkat.JsonObject")
oJResp:LoadSb(oSbResponseBody)
oJResp:EmitCompact := 0

? "Response Body:"
? oJResp:Emit()

nRespStatusCode := oHttp:LastStatus
? "Response Status Code = " + Str(nRespStatusCode)
IF (nRespStatusCode >= 400)
    ? "Response Header:"
    ? oHttp:LastHeader
    ? "Failed."
    oHttp:destroy()
    oSbResponseBody:destroy()
    oJResp:destroy()
    RETURN
ENDIF

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

cUuid := oJResp:StringOf("uuid")
cName := oJResp:StringOf("name")
nActive := oJResp:BoolOf("active")
cCreated := oJResp:StringOf("created")
cUpdated := oJResp:StringOf("updated")
i := 0
nCount_i := oJResp:SizeOfArray("authCallbacks")
DO WHILE i < nCount_i
    oJResp:I := i
    cStrVal := oJResp:StringOf("authCallbacks[i]")
    i := i + 1
ENDDO
i := 0
nCount_i := oJResp:SizeOfArray("institutions")
DO WHILE i < nCount_i
    oJResp:I := i
    cId := oJResp:StringOf("institutions[i].id")
    cName := oJResp:StringOf("institutions[i].name")
    cFullName := oJResp:StringOf("institutions[i].fullName")
    cEnvironmentType := oJResp:StringOf("institutions[i].environmentType")
    cCredentialsType := oJResp:StringOf("institutions[i].credentialsType")
    j := 0
    nCount_j := oJResp:SizeOfArray("institutions[i].countries")
    DO WHILE j < nCount_j
        oJResp:J := j
        cDisplayName := oJResp:StringOf("institutions[i].countries[j].displayName")
        cCountryCode2 := oJResp:StringOf("institutions[i].countries[j].countryCode2")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJResp:SizeOfArray("institutions[i].media")
    DO WHILE j < nCount_j
        oJResp:J := j
        cSource := oJResp:StringOf("institutions[i].media[j].source")
        cV_type := oJResp:StringOf("institutions[i].media[j].type")
        j := j + 1
    ENDDO
    j := 0
    nCount_j := oJResp:SizeOfArray("institutions[i].features")
    DO WHILE j < nCount_j
        oJResp:J := j
        cStrVal := oJResp:StringOf("institutions[i].features[j]")
        j := j + 1
    ENDDO
    i := i + 1
ENDDO
i := 0
nCount_i := oJResp:SizeOfArray("media")
DO WHILE i < nCount_i
    oJResp:I := i
    i := i + 1
ENDDO

oHttp:destroy()
oSbResponseBody:destroy()
oJResp:destroy()