Back to Collection Items
#include <C_CkHttp.h>
#include <C_CkJsonObject.h>
#include <C_CkHttpResponse.h>
void ChilkatSample(void)
{
HCkHttp http;
BOOL success;
HCkJsonObject json;
HCkHttpResponse resp;
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.
http = CkHttp_Create();
// Use this online tool to generate code from sample JSON: Generate Code to Create JSON
// The following JSON is sent in the request body.
// {
// "allOrNone": true,
// "compositeRequest": [
// {
// "method": "POST",
// "url": "/services/data/v{{version}}/sobjects/Carbon_Comparison__e",
// "referenceId": "event1",
// "body": {
// "Annual_Mileage__c": 12000,
// "Current_Vehicle__c": "Fast car 1",
// "Model_Year__c": 2019
// }
// },
// {
// "method": "POST",
// "url": "/services/data/v{{version}}/sobjects/Carbon_Comparison__e",
// "referenceId": "event2",
// "body": {
// "Annual_Mileage__c": 12000,
// "Current_Vehicle__c": "Fast car 2",
// "Model_Year__c": 2019
// }
// }
// ]
// }
json = CkJsonObject_Create();
CkJsonObject_UpdateBool(json,"allOrNone",TRUE);
CkJsonObject_UpdateString(json,"compositeRequest[0].method","POST");
CkJsonObject_UpdateString(json,"compositeRequest[0].url","/services/data/v{{version}}/sobjects/Carbon_Comparison__e");
CkJsonObject_UpdateString(json,"compositeRequest[0].referenceId","event1");
CkJsonObject_UpdateInt(json,"compositeRequest[0].body.Annual_Mileage__c",12000);
CkJsonObject_UpdateString(json,"compositeRequest[0].body.Current_Vehicle__c","Fast car 1");
CkJsonObject_UpdateInt(json,"compositeRequest[0].body.Model_Year__c",2019);
CkJsonObject_UpdateString(json,"compositeRequest[1].method","POST");
CkJsonObject_UpdateString(json,"compositeRequest[1].url","/services/data/v{{version}}/sobjects/Carbon_Comparison__e");
CkJsonObject_UpdateString(json,"compositeRequest[1].referenceId","event2");
CkJsonObject_UpdateInt(json,"compositeRequest[1].body.Annual_Mileage__c",12000);
CkJsonObject_UpdateString(json,"compositeRequest[1].body.Current_Vehicle__c","Fast car 2");
CkJsonObject_UpdateInt(json,"compositeRequest[1].body.Model_Year__c",2019);
// Adds the "Authorization: Bearer <access_token>" header.
CkHttp_putAuthToken(http,"<access_token>");
resp = CkHttp_PostJson3(http,"https://domain.com/services/data/v{{version}}/composite/","application/json",json);
if (CkHttp_getLastMethodSuccess(http) == FALSE) {
printf("%s\n",CkHttp_lastErrorText(http));
CkHttp_Dispose(http);
CkJsonObject_Dispose(json);
return;
}
printf("%d\n",CkHttpResponse_getStatusCode(resp));
printf("%s\n",CkHttpResponse_bodyStr(resp));
CkHttpResponse_Dispose(resp);
CkHttp_Dispose(http);
CkJsonObject_Dispose(json);
}
Curl Command
curl -X POST
-H "Authorization: Bearer <access_token>"
-d '{
"allOrNone": true,
"compositeRequest": [
{
"method": "POST",
"url": "/services/data/v{{version}}/sobjects/Carbon_Comparison__e",
"referenceId": "event1",
"body": {
"Annual_Mileage__c": 12000,
"Current_Vehicle__c": "Fast car 1",
"Model_Year__c": 2019
}
},
{
"method": "POST",
"url": "/services/data/v{{version}}/sobjects/Carbon_Comparison__e",
"referenceId": "event2",
"body": {
"Annual_Mileage__c": 12000,
"Current_Vehicle__c": "Fast car 2",
"Model_Year__c": 2019
}
}
]
}'
https://domain.com/services/data/v{{version}}/composite/
Postman Collection Item JSON
{
"name": "Publish multiple events",
"request": {
"method": "POST",
"header": [
],
"body": {
"mode": "raw",
"raw": "{\n \"allOrNone\": true,\n \"compositeRequest\": [\n {\n \"method\": \"POST\",\n \"url\": \"/services/data/v{{version}}/sobjects/Carbon_Comparison__e\",\n \"referenceId\": \"event1\",\n \"body\": {\n \"Annual_Mileage__c\": 12000,\n \"Current_Vehicle__c\": \"Fast car 1\",\n \"Model_Year__c\": 2019\n }\n },\n {\n \"method\": \"POST\",\n \"url\": \"/services/data/v{{version}}/sobjects/Carbon_Comparison__e\",\n \"referenceId\": \"event2\",\n \"body\": {\n \"Annual_Mileage__c\": 12000,\n \"Current_Vehicle__c\": \"Fast car 2\",\n \"Model_Year__c\": 2019\n }\n }\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{_endpoint}}/services/data/v{{version}}/composite/",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"data",
"v{{version}}",
"composite",
""
]
}
},
"response": [
]
}