Back to Collection Items
#include <C_CkHttp.h>
#include <C_CkStringBuilder.h>
#include <C_CkJsonObject.h>
void ChilkatSample(void)
{
HCkHttp http;
BOOL success;
HCkStringBuilder sbResponseBody;
HCkJsonObject jResp;
int respStatusCode;
const char *tooling;
const char *metadata;
const char *eclair;
const char *folders;
const char *prechatForms;
const char *contact_tracing;
const char *jsonxform;
const char *chatter;
const char *payments;
const char *tabs;
const char *appMenu;
const char *quickActions;
const char *queryAll;
const char *commerce;
const char *wave;
const char *iot;
const char *analytics;
const char *search;
const char *smartdatadiscovery;
const char *identity;
const char *composite;
const char *parameterizedSearch;
const char *fingerprint;
const char *theme;
const char *nouns;
const char *domino;
const char *v_event;
const char *serviceTemplates;
const char *recent;
const char *connect;
const char *licensing;
const char *limits;
const char *process;
const char *dedupe;
const char *async_queries;
const char *query;
const char *jobs;
const char *match;
const char *localizedvalue;
const char *mobile;
const char *emailConnect;
const char *consent;
const char *tokenizer;
const char *compactLayouts;
const char *knowledgeManagement;
const char *sobjects;
const char *actions;
const char *support;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttp_Create();
// Adds the "Authorization: Bearer <access_token>" header.
CkHttp_putAuthToken(http,"<access_token>");
CkHttp_SetRequestHeader(http,"Content-Type","application/json");
sbResponseBody = CkStringBuilder_Create();
success = CkHttp_QuickGetSb(http,"https://domain.com/services/data/v{{version}}/",sbResponseBody);
if (success == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttp_Dispose(http);
CkStringBuilder_Dispose(sbResponseBody);
return;
}
jResp = CkJsonObject_Create();
CkJsonObject_LoadSb(jResp,sbResponseBody);
CkJsonObject_putEmitCompact(jResp,FALSE);
printf("Response Body:\n");
printf("%s\n",CkJsonObject_emit(jResp));
respStatusCode = CkHttp_getLastStatus(http);
printf("Response Status Code = %d\n",respStatusCode);
if (respStatusCode >= 400) {
printf("Response Header:\n");
printf("%s\n",CkHttp_lastHeader(http));
printf("Failed.\n");
CkHttp_Dispose(http);
CkStringBuilder_Dispose(sbResponseBody);
CkJsonObject_Dispose(jResp);
return;
}
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "tooling": "/services/data/v58.0/tooling",
// "metadata": "/services/data/v58.0/metadata",
// "eclair": "/services/data/v58.0/eclair",
// "folders": "/services/data/v58.0/folders",
// "prechatForms": "/services/data/v58.0/prechatForms",
// "contact-tracing": "/services/data/v58.0/contact-tracing",
// "jsonxform": "/services/data/v58.0/jsonxform",
// "chatter": "/services/data/v58.0/chatter",
// "payments": "/services/data/v58.0/payments",
// "tabs": "/services/data/v58.0/tabs",
// "appMenu": "/services/data/v58.0/appMenu",
// "quickActions": "/services/data/v58.0/quickActions",
// "queryAll": "/services/data/v58.0/queryAll",
// "commerce": "/services/data/v58.0/commerce",
// "wave": "/services/data/v58.0/wave",
// "iot": "/services/data/v58.0/iot",
// "analytics": "/services/data/v58.0/analytics",
// "search": "/services/data/v58.0/search",
// "smartdatadiscovery": "/services/data/v58.0/smartdatadiscovery",
// "identity": "https://login.salesforce.com/id/00DB0000000DFgjMAG/005B0000003TOI6IAO",
// "composite": "/services/data/v58.0/composite",
// "parameterizedSearch": "/services/data/v58.0/parameterizedSearch",
// "fingerprint": "/services/data/v58.0/fingerprint",
// "theme": "/services/data/v58.0/theme",
// "nouns": "/services/data/v58.0/nouns",
// "domino": "/services/data/v58.0/domino",
// "event": "/services/data/v58.0/event",
// "serviceTemplates": "/services/data/v58.0/serviceTemplates",
// "recent": "/services/data/v58.0/recent",
// "connect": "/services/data/v58.0/connect",
// "licensing": "/services/data/v58.0/licensing",
// "limits": "/services/data/v58.0/limits",
// "process": "/services/data/v58.0/process",
// "dedupe": "/services/data/v58.0/dedupe",
// "async-queries": "/services/data/v58.0/async-queries",
// "query": "/services/data/v58.0/query",
// "jobs": "/services/data/v58.0/jobs",
// "match": "/services/data/v58.0/match",
// "localizedvalue": "/services/data/v58.0/localizedvalue",
// "mobile": "/services/data/v58.0/mobile",
// "emailConnect": "/services/data/v58.0/emailConnect",
// "consent": "/services/data/v58.0/consent",
// "tokenizer": "/services/data/v58.0/tokenizer",
// "compactLayouts": "/services/data/v58.0/compactLayouts",
// "knowledgeManagement": "/services/data/v58.0/knowledgeManagement",
// "sobjects": "/services/data/v58.0/sobjects",
// "actions": "/services/data/v58.0/actions",
// "support": "/services/data/v58.0/support"
// }
// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
// Chilkat functions returning "const char *" return a pointer to temporary internal memory owned and managed by Chilkat.
tooling = CkJsonObject_stringOf(jResp,"tooling");
metadata = CkJsonObject_stringOf(jResp,"metadata");
eclair = CkJsonObject_stringOf(jResp,"eclair");
folders = CkJsonObject_stringOf(jResp,"folders");
prechatForms = CkJsonObject_stringOf(jResp,"prechatForms");
contact_tracing = CkJsonObject_stringOf(jResp,"contact-tracing");
jsonxform = CkJsonObject_stringOf(jResp,"jsonxform");
chatter = CkJsonObject_stringOf(jResp,"chatter");
payments = CkJsonObject_stringOf(jResp,"payments");
tabs = CkJsonObject_stringOf(jResp,"tabs");
appMenu = CkJsonObject_stringOf(jResp,"appMenu");
quickActions = CkJsonObject_stringOf(jResp,"quickActions");
queryAll = CkJsonObject_stringOf(jResp,"queryAll");
commerce = CkJsonObject_stringOf(jResp,"commerce");
wave = CkJsonObject_stringOf(jResp,"wave");
iot = CkJsonObject_stringOf(jResp,"iot");
analytics = CkJsonObject_stringOf(jResp,"analytics");
search = CkJsonObject_stringOf(jResp,"search");
smartdatadiscovery = CkJsonObject_stringOf(jResp,"smartdatadiscovery");
identity = CkJsonObject_stringOf(jResp,"identity");
composite = CkJsonObject_stringOf(jResp,"composite");
parameterizedSearch = CkJsonObject_stringOf(jResp,"parameterizedSearch");
fingerprint = CkJsonObject_stringOf(jResp,"fingerprint");
theme = CkJsonObject_stringOf(jResp,"theme");
nouns = CkJsonObject_stringOf(jResp,"nouns");
domino = CkJsonObject_stringOf(jResp,"domino");
v_event = CkJsonObject_stringOf(jResp,"event");
serviceTemplates = CkJsonObject_stringOf(jResp,"serviceTemplates");
recent = CkJsonObject_stringOf(jResp,"recent");
connect = CkJsonObject_stringOf(jResp,"connect");
licensing = CkJsonObject_stringOf(jResp,"licensing");
limits = CkJsonObject_stringOf(jResp,"limits");
process = CkJsonObject_stringOf(jResp,"process");
dedupe = CkJsonObject_stringOf(jResp,"dedupe");
async_queries = CkJsonObject_stringOf(jResp,"async-queries");
query = CkJsonObject_stringOf(jResp,"query");
jobs = CkJsonObject_stringOf(jResp,"jobs");
match = CkJsonObject_stringOf(jResp,"match");
localizedvalue = CkJsonObject_stringOf(jResp,"localizedvalue");
mobile = CkJsonObject_stringOf(jResp,"mobile");
emailConnect = CkJsonObject_stringOf(jResp,"emailConnect");
consent = CkJsonObject_stringOf(jResp,"consent");
tokenizer = CkJsonObject_stringOf(jResp,"tokenizer");
compactLayouts = CkJsonObject_stringOf(jResp,"compactLayouts");
knowledgeManagement = CkJsonObject_stringOf(jResp,"knowledgeManagement");
sobjects = CkJsonObject_stringOf(jResp,"sobjects");
actions = CkJsonObject_stringOf(jResp,"actions");
support = CkJsonObject_stringOf(jResp,"support");
CkHttp_Dispose(http);
CkStringBuilder_Dispose(sbResponseBody);
CkJsonObject_Dispose(jResp);
}
Curl Command
curl -X GET
-H "Authorization: Bearer <access_token>"
-H "Content-Type: application/json"
https://domain.com/services/data/v{{version}}/
Postman Collection Item JSON
{
"name": "Resources by Version",
"event": [
{
"listen": "prerequest",
"script": {
"exec": [
""
],
"type": "text/javascript"
}
}
],
"protocolProfileBehavior": {
"disableBodyPruning": true
},
"request": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{_endpoint}}/services/data/v{{version}}/",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"data",
"v{{version}}",
""
]
},
"description": "Lists available resources for the specified API version, including resource name and URI."
},
"response": [
{
"name": "Resources by Version",
"originalRequest": {
"method": "GET",
"header": [
{
"key": "Content-Type",
"value": "application/json"
}
],
"body": {
"mode": "raw",
"raw": ""
},
"url": {
"raw": "{{_endpoint}}/services/data/v{{version}}/",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"data",
"v{{version}}",
""
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Date",
"value": "Tue, 26 Sep 2023 13:29:43 GMT"
},
{
"key": "Strict-Transport-Security",
"value": "max-age=63072000; includeSubDomains"
},
{
"key": "X-Content-Type-Options",
"value": "nosniff"
},
{
"key": "X-XSS-Protection",
"value": "1; mode=block"
},
{
"key": "X-Robots-Tag",
"value": "none"
},
{
"key": "Cache-Control",
"value": "no-cache,must-revalidate,max-age=0,no-store,private"
},
{
"key": "Sforce-Limit-Info",
"value": "api-usage=3/15000"
},
{
"key": "Content-Type",
"value": "application/json;charset=UTF-8"
},
{
"key": "Vary",
"value": "Accept-Encoding"
},
{
"key": "Content-Encoding",
"value": "gzip"
},
{
"key": "Transfer-Encoding",
"value": "chunked"
}
],
"cookie": [
],
"body": "{\n \"tooling\": \"/services/data/v58.0/tooling\",\n \"metadata\": \"/services/data/v58.0/metadata\",\n \"eclair\": \"/services/data/v58.0/eclair\",\n \"folders\": \"/services/data/v58.0/folders\",\n \"prechatForms\": \"/services/data/v58.0/prechatForms\",\n \"contact-tracing\": \"/services/data/v58.0/contact-tracing\",\n \"jsonxform\": \"/services/data/v58.0/jsonxform\",\n \"chatter\": \"/services/data/v58.0/chatter\",\n \"payments\": \"/services/data/v58.0/payments\",\n \"tabs\": \"/services/data/v58.0/tabs\",\n \"appMenu\": \"/services/data/v58.0/appMenu\",\n \"quickActions\": \"/services/data/v58.0/quickActions\",\n \"queryAll\": \"/services/data/v58.0/queryAll\",\n \"commerce\": \"/services/data/v58.0/commerce\",\n \"wave\": \"/services/data/v58.0/wave\",\n \"iot\": \"/services/data/v58.0/iot\",\n \"analytics\": \"/services/data/v58.0/analytics\",\n \"search\": \"/services/data/v58.0/search\",\n \"smartdatadiscovery\": \"/services/data/v58.0/smartdatadiscovery\",\n \"identity\": \"https://login.salesforce.com/id/00DB0000000DFgjMAG/005B0000003TOI6IAO\",\n \"composite\": \"/services/data/v58.0/composite\",\n \"parameterizedSearch\": \"/services/data/v58.0/parameterizedSearch\",\n \"fingerprint\": \"/services/data/v58.0/fingerprint\",\n \"theme\": \"/services/data/v58.0/theme\",\n \"nouns\": \"/services/data/v58.0/nouns\",\n \"domino\": \"/services/data/v58.0/domino\",\n \"event\": \"/services/data/v58.0/event\",\n \"serviceTemplates\": \"/services/data/v58.0/serviceTemplates\",\n \"recent\": \"/services/data/v58.0/recent\",\n \"connect\": \"/services/data/v58.0/connect\",\n \"licensing\": \"/services/data/v58.0/licensing\",\n \"limits\": \"/services/data/v58.0/limits\",\n \"process\": \"/services/data/v58.0/process\",\n \"dedupe\": \"/services/data/v58.0/dedupe\",\n \"async-queries\": \"/services/data/v58.0/async-queries\",\n \"query\": \"/services/data/v58.0/query\",\n \"jobs\": \"/services/data/v58.0/jobs\",\n \"match\": \"/services/data/v58.0/match\",\n \"localizedvalue\": \"/services/data/v58.0/localizedvalue\",\n \"mobile\": \"/services/data/v58.0/mobile\",\n \"emailConnect\": \"/services/data/v58.0/emailConnect\",\n \"consent\": \"/services/data/v58.0/consent\",\n \"tokenizer\": \"/services/data/v58.0/tokenizer\",\n \"compactLayouts\": \"/services/data/v58.0/compactLayouts\",\n \"knowledgeManagement\": \"/services/data/v58.0/knowledgeManagement\",\n \"sobjects\": \"/services/data/v58.0/sobjects\",\n \"actions\": \"/services/data/v58.0/actions\",\n \"support\": \"/services/data/v58.0/support\"\n}"
}
]
}