Back to Collection Items
IncludeFile "CkJsonObject.pb"
IncludeFile "CkStringBuilder.pb"
IncludeFile "CkHttp.pb"
Procedure ChilkatExample()
; This example assumes the Chilkat API to have been previously unlocked.
; See Global Unlock Sample for sample code.
http.i = CkHttp::ckCreate()
If http.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success.i
; Adds the "Authorization: Bearer <access_token>" header.
CkHttp::setCkAuthToken(http, "<access_token>")
CkHttp::ckSetRequestHeader(http,"Content-Type","application/json")
sbResponseBody.i = CkStringBuilder::ckCreate()
If sbResponseBody.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
success = CkHttp::ckQuickGetSb(http,"https://domain.com/services/data/v{{version}}/",sbResponseBody)
If success = 0
Debug CkHttp::ckLastErrorText(http)
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
ProcedureReturn
EndIf
jResp.i = CkJsonObject::ckCreate()
If jResp.i = 0
Debug "Failed to create object."
ProcedureReturn
EndIf
CkJsonObject::ckLoadSb(jResp,sbResponseBody)
CkJsonObject::setCkEmitCompact(jResp, 0)
Debug "Response Body:"
Debug CkJsonObject::ckEmit(jResp)
respStatusCode.i = CkHttp::ckLastStatus(http)
Debug "Response Status Code = " + Str(respStatusCode)
If respStatusCode >= 400
Debug "Response Header:"
Debug CkHttp::ckLastHeader(http)
Debug "Failed."
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jResp)
ProcedureReturn
EndIf
; 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
tooling.s = CkJsonObject::ckStringOf(jResp,"tooling")
metadata.s = CkJsonObject::ckStringOf(jResp,"metadata")
eclair.s = CkJsonObject::ckStringOf(jResp,"eclair")
folders.s = CkJsonObject::ckStringOf(jResp,"folders")
prechatForms.s = CkJsonObject::ckStringOf(jResp,"prechatForms")
contact_tracing.s = CkJsonObject::ckStringOf(jResp,"contact-tracing")
jsonxform.s = CkJsonObject::ckStringOf(jResp,"jsonxform")
chatter.s = CkJsonObject::ckStringOf(jResp,"chatter")
payments.s = CkJsonObject::ckStringOf(jResp,"payments")
tabs.s = CkJsonObject::ckStringOf(jResp,"tabs")
appMenu.s = CkJsonObject::ckStringOf(jResp,"appMenu")
quickActions.s = CkJsonObject::ckStringOf(jResp,"quickActions")
queryAll.s = CkJsonObject::ckStringOf(jResp,"queryAll")
commerce.s = CkJsonObject::ckStringOf(jResp,"commerce")
wave.s = CkJsonObject::ckStringOf(jResp,"wave")
iot.s = CkJsonObject::ckStringOf(jResp,"iot")
analytics.s = CkJsonObject::ckStringOf(jResp,"analytics")
search.s = CkJsonObject::ckStringOf(jResp,"search")
smartdatadiscovery.s = CkJsonObject::ckStringOf(jResp,"smartdatadiscovery")
identity.s = CkJsonObject::ckStringOf(jResp,"identity")
composite.s = CkJsonObject::ckStringOf(jResp,"composite")
parameterizedSearch.s = CkJsonObject::ckStringOf(jResp,"parameterizedSearch")
fingerprint.s = CkJsonObject::ckStringOf(jResp,"fingerprint")
theme.s = CkJsonObject::ckStringOf(jResp,"theme")
nouns.s = CkJsonObject::ckStringOf(jResp,"nouns")
domino.s = CkJsonObject::ckStringOf(jResp,"domino")
v_event.s = CkJsonObject::ckStringOf(jResp,"event")
serviceTemplates.s = CkJsonObject::ckStringOf(jResp,"serviceTemplates")
recent.s = CkJsonObject::ckStringOf(jResp,"recent")
connect.s = CkJsonObject::ckStringOf(jResp,"connect")
licensing.s = CkJsonObject::ckStringOf(jResp,"licensing")
limits.s = CkJsonObject::ckStringOf(jResp,"limits")
process.s = CkJsonObject::ckStringOf(jResp,"process")
dedupe.s = CkJsonObject::ckStringOf(jResp,"dedupe")
async_queries.s = CkJsonObject::ckStringOf(jResp,"async-queries")
query.s = CkJsonObject::ckStringOf(jResp,"query")
jobs.s = CkJsonObject::ckStringOf(jResp,"jobs")
match.s = CkJsonObject::ckStringOf(jResp,"match")
localizedvalue.s = CkJsonObject::ckStringOf(jResp,"localizedvalue")
mobile.s = CkJsonObject::ckStringOf(jResp,"mobile")
emailConnect.s = CkJsonObject::ckStringOf(jResp,"emailConnect")
consent.s = CkJsonObject::ckStringOf(jResp,"consent")
tokenizer.s = CkJsonObject::ckStringOf(jResp,"tokenizer")
compactLayouts.s = CkJsonObject::ckStringOf(jResp,"compactLayouts")
knowledgeManagement.s = CkJsonObject::ckStringOf(jResp,"knowledgeManagement")
sobjects.s = CkJsonObject::ckStringOf(jResp,"sobjects")
actions.s = CkJsonObject::ckStringOf(jResp,"actions")
support.s = CkJsonObject::ckStringOf(jResp,"support")
CkHttp::ckDispose(http)
CkStringBuilder::ckDispose(sbResponseBody)
CkJsonObject::ckDispose(jResp)
ProcedureReturn
EndProcedure
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}"
}
]
}