Unicode C++
Unicode C++
Yapily - Get Application Self
See more Yapily Examples
Get the information about the institutions configured in your applicationChilkat Unicode C++ Downloads
#include <CkHttpW.h>
#include <CkStringBuilderW.h>
#include <CkJsonObjectW.h>
void ChilkatSample(void)
{
bool success = false;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
CkHttpW 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.put_Login(L"<username>");
http.put_Password(L"<password>");
CkStringBuilderW sbResponseBody;
success = http.QuickGetSb(L"https://api.yapily.com/me",sbResponseBody);
if (success == false) {
wprintf(L"%s\n",http.lastErrorText());
return;
}
CkJsonObjectW jResp;
jResp.LoadSb(sbResponseBody);
jResp.put_EmitCompact(false);
wprintf(L"Response Body:\n");
wprintf(L"%s\n",jResp.emit());
int respStatusCode = http.get_LastStatus();
wprintf(L"Response Status Code = %d\n",respStatusCode);
if (respStatusCode >= 400) {
wprintf(L"Response Header:\n");
wprintf(L"%s\n",http.lastHeader());
wprintf(L"Failed.\n");
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
// Chilkat functions returning "const char *" return a pointer to temporary internal memory owned and managed by Chilkat.
// See this example explaining how this memory should be used: const char * functions.
const wchar_t *strVal = 0;
const wchar_t *id = 0;
const wchar_t *fullName = 0;
const wchar_t *environmentType = 0;
const wchar_t *credentialsType = 0;
int j;
int count_j;
const wchar_t *displayName = 0;
const wchar_t *countryCode2 = 0;
const wchar_t *source = 0;
const wchar_t *v_type = 0;
const wchar_t *uuid = jResp.stringOf(L"uuid");
const wchar_t *name = jResp.stringOf(L"name");
bool active = jResp.BoolOf(L"active");
const wchar_t *created = jResp.stringOf(L"created");
const wchar_t *updated = jResp.stringOf(L"updated");
int i = 0;
int count_i = jResp.SizeOfArray(L"authCallbacks");
while (i < count_i) {
jResp.put_I(i);
strVal = jResp.stringOf(L"authCallbacks[i]");
i = i + 1;
}
i = 0;
count_i = jResp.SizeOfArray(L"institutions");
while (i < count_i) {
jResp.put_I(i);
id = jResp.stringOf(L"institutions[i].id");
name = jResp.stringOf(L"institutions[i].name");
fullName = jResp.stringOf(L"institutions[i].fullName");
environmentType = jResp.stringOf(L"institutions[i].environmentType");
credentialsType = jResp.stringOf(L"institutions[i].credentialsType");
j = 0;
count_j = jResp.SizeOfArray(L"institutions[i].countries");
while (j < count_j) {
jResp.put_J(j);
displayName = jResp.stringOf(L"institutions[i].countries[j].displayName");
countryCode2 = jResp.stringOf(L"institutions[i].countries[j].countryCode2");
j = j + 1;
}
j = 0;
count_j = jResp.SizeOfArray(L"institutions[i].media");
while (j < count_j) {
jResp.put_J(j);
source = jResp.stringOf(L"institutions[i].media[j].source");
v_type = jResp.stringOf(L"institutions[i].media[j].type");
j = j + 1;
}
j = 0;
count_j = jResp.SizeOfArray(L"institutions[i].features");
while (j < count_j) {
jResp.put_J(j);
strVal = jResp.stringOf(L"institutions[i].features[j]");
j = j + 1;
}
i = i + 1;
}
i = 0;
count_i = jResp.SizeOfArray(L"media");
while (i < count_i) {
jResp.put_I(i);
i = i + 1;
}
}