Back to Collection Items
var
http: HCkHttp;
success: Boolean;
json: HCkJsonObject;
resp: HCkHttpResponse;
begin
// 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) then
begin
Memo1.Lines.Add(CkHttp__lastErrorText(http));
Exit;
end;
Memo1.Lines.Add(IntToStr(CkHttpResponse_getStatusCode(resp)));
Memo1.Lines.Add(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": [
]
}