Unicode C
Unicode C
Shopware 6 -List Currencies
See more Shopware 6 Examples
With store-api.currency you can fetch all currencies that are available in this Sales Channel.Chilkat Unicode C Downloads
#include <C_CkHttpW.h>
#include <C_CkJsonObjectW.h>
#include <C_CkHttpResponseW.h>
#include <C_CkStringBuilderW.h>
#include <C_CkJsonArrayW.h>
void ChilkatSample(void)
{
BOOL success;
HCkHttpW http;
HCkJsonObjectW json;
HCkHttpResponseW resp;
HCkStringBuilderW sbResponseBody;
int respStatusCode;
const wchar_t *factor;
const wchar_t *shortName;
const wchar_t *name;
const wchar_t *id;
const wchar_t *apiAlias;
HCkJsonArrayW jRespArr;
HCkJsonObjectW jCurrency;
int i;
int count_i;
HCkJsonObjectW jResp;
success = FALSE;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttpW_Create();
// Sends the following POST
// POST /store-api/v3/currency
// {
// "includes": {
// "currency": [
// "id",
// "factor",
// "shortName",
// "name"
// ]
// }
// }
// Use this online tool to generate code from sample JSON:
// Generate Code to Create JSON
json = CkJsonObjectW_Create();
CkJsonObjectW_UpdateString(json,L"includes.currency[0]",L"id");
CkJsonObjectW_UpdateString(json,L"includes.currency[1]",L"factor");
CkJsonObjectW_UpdateString(json,L"includes.currency[2]",L"shortName");
CkJsonObjectW_UpdateString(json,L"includes.currency[3]",L"name");
// This request simply authenticates with the sw-access-key you can interactively copy from your
// sales channel in the Shopware 6 administration web portal.
// We do NOT use OAuth2 for Store API requests.
CkHttpW_SetRequestHeader(http,L"sw-access-key",L"<sales-channel-api-access-key>");
resp = CkHttpResponseW_Create();
success = CkHttpW_HttpJson(http,L"POST",L"https://my-shopware-6-shop.de/store-api/v3/currency",json,L"application/json",resp);
if (success == FALSE) {
wprintf(L"%s\n",CkHttpW_lastErrorText(http));
CkHttpW_Dispose(http);
CkJsonObjectW_Dispose(json);
CkHttpResponseW_Dispose(resp);
return;
}
sbResponseBody = CkStringBuilderW_Create();
CkHttpResponseW_GetBodySb(resp,sbResponseBody);
wprintf(L"%s\n",CkStringBuilderW_getAsString(sbResponseBody));
// If we get a 401 response, it may be that our access token expired and we need to fetch a new one.
respStatusCode = CkHttpResponseW_getStatusCode(resp);
wprintf(L"Response Status Code = %d\n",respStatusCode);
if (respStatusCode >= 400) {
wprintf(L"Response Header:\n");
wprintf(L"%s\n",CkHttpResponseW_header(resp));
wprintf(L"Failed.\n");
CkHttpW_Dispose(http);
CkJsonObjectW_Dispose(json);
CkHttpResponseW_Dispose(resp);
CkStringBuilderW_Dispose(sbResponseBody);
return;
}
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// A single object can be returned.
// {
// "factor": 1,
// "shortName": "EUR",
// "name": "Euro",
// "id": "b7d2554b0ce847cd82f3ac9bd1c0dfca",
// "apiAlias": "currency"
// }
// or an array of currency objects can be returned:
// [
// {
// "factor": 0.89157,
// "shortName": "GBP",
// "name": "Pound",
// "id": "01913e4cbe604f45be84cbabd5966239",
// "apiAlias": "currency"
// },
// {
// "factor": 10.51,
// "shortName": "SEK",
// "name": "Swedish krone",
// "id": "3dfbaa78994b4f1cac491f1a992646fd",
// "apiAlias": "currency"
// }
// ]
// Sample code for parsing the JSON response...
// Use the following online tool to generate parsing code from sample JSON:
// Generate Parsing Code from JSON
CkStringBuilderW_Trim(sbResponseBody);
if (CkStringBuilderW_StartsWith(sbResponseBody,L"[",FALSE) == TRUE) {
// This is an array.
jRespArr = CkJsonArrayW_Create();
CkJsonArrayW_LoadSb(jRespArr,sbResponseBody);
i = 0;
count_i = CkJsonArrayW_getSize(jRespArr);
while (i < count_i) {
jCurrency = CkJsonArrayW_ObjectAt(jRespArr,i);
factor = CkJsonObjectW_stringOf(jCurrency,L"factor");
shortName = CkJsonObjectW_stringOf(jCurrency,L"shortName");
name = CkJsonObjectW_stringOf(jCurrency,L"name");
id = CkJsonObjectW_stringOf(jCurrency,L"id");
apiAlias = CkJsonObjectW_stringOf(jCurrency,L"apiAlias");
CkJsonObjectW_Dispose(jCurrency);
i = i + 1;
}
}
else {
// This is a single currency.
jResp = CkJsonObjectW_Create();
CkJsonObjectW_LoadSb(jResp,sbResponseBody);
CkJsonObjectW_putEmitCompact(jResp,FALSE);
wprintf(L"Response Body:\n");
wprintf(L"%s\n",CkJsonObjectW_emit(jResp));
factor = CkJsonObjectW_stringOf(jResp,L"factor");
shortName = CkJsonObjectW_stringOf(jResp,L"shortName");
name = CkJsonObjectW_stringOf(jResp,L"name");
id = CkJsonObjectW_stringOf(jResp,L"id");
apiAlias = CkJsonObjectW_stringOf(jResp,L"apiAlias");
}
CkHttpW_Dispose(http);
CkJsonObjectW_Dispose(json);
CkHttpResponseW_Dispose(resp);
CkStringBuilderW_Dispose(sbResponseBody);
CkJsonArrayW_Dispose(jRespArr);
CkJsonObjectW_Dispose(jResp);
}