Xbase++
Xbase++
Yapily - Get Application Self
See more Yapily Examples
Get the information about the institutions configured in your applicationChilkat Xbase++ Downloads
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()