Back to Collection Items
var
http: HCkHttp;
success: Boolean;
json: HCkJsonObject;
resp: HCkHttpResponse;
sbResponseBody: HCkStringBuilder;
jResp: HCkJsonObject;
respStatusCode: Integer;
apexProcessingTime: Integer;
apiActiveProcessingTime: Integer;
apiVersion: Integer;
assignmentRuleId: PWideChar;
concurrencyMode: PWideChar;
contentType: PWideChar;
createdById: PWideChar;
createdDate: PWideChar;
externalIdFieldName: PWideChar;
fastPathEnabled: Boolean;
id: PWideChar;
numberBatchesCompleted: Integer;
numberBatchesFailed: Integer;
numberBatchesInProgress: Integer;
numberBatchesQueued: Integer;
numberBatchesTotal: Integer;
numberRecordsFailed: Integer;
numberRecordsProcessed: Integer;
numberRetries: Integer;
v_object: PWideChar;
operation: PWideChar;
state: PWideChar;
systemModstamp: PWideChar;
totalProcessingTime: Integer;
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.
// {
// "state": "Closed"
// }
json := CkJsonObject_Create();
CkJsonObject_UpdateString(json,'state','Closed');
CkHttp_SetRequestHeader(http,'Content-Type','application/json');
CkHttp_SetRequestHeader(http,'X-SFDC-Session','{{_accessToken}}');
CkHttp_SetRequestHeader(http,'Accept-Encoding','gzip');
// Adds the "Authorization: Bearer <access_token>" header.
CkHttp_putAuthToken(http,'<access_token>');
CkHttp_SetRequestHeader(http,'charset','UTF-8');
CkHttp_SetRequestHeader(http,'Content-Encoding','gzip');
resp := CkHttp_PostJson3(http,'https://domain.com/services/async/{{version}}/job/{{_jobId}}','application/json',json);
if (CkHttp_getLastMethodSuccess(http) = False) then
begin
Memo1.Lines.Add(CkHttp__lastErrorText(http));
Exit;
end;
sbResponseBody := CkStringBuilder_Create();
CkHttpResponse_GetBodySb(resp,sbResponseBody);
jResp := CkJsonObject_Create();
CkJsonObject_LoadSb(jResp,sbResponseBody);
CkJsonObject_putEmitCompact(jResp,False);
Memo1.Lines.Add('Response Body:');
Memo1.Lines.Add(CkJsonObject__emit(jResp));
respStatusCode := CkHttpResponse_getStatusCode(resp);
Memo1.Lines.Add('Response Status Code = ' + IntToStr(respStatusCode));
if (respStatusCode >= 400) then
begin
Memo1.Lines.Add('Response Header:');
Memo1.Lines.Add(CkHttpResponse__header(resp));
Memo1.Lines.Add('Failed.');
CkHttpResponse_Dispose(resp);
Exit;
end;
CkHttpResponse_Dispose(resp);
// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)
// {
// "apexProcessingTime": 64,
// "apiActiveProcessingTime": 225,
// "apiVersion": 58,
// "assignmentRuleId": null,
// "concurrencyMode": "Parallel",
// "contentType": "CSV",
// "createdById": "005...",
// "createdDate": "<date_time>",
// "externalIdFieldName": null,
// "fastPathEnabled": false,
// "id": "750...",
// "numberBatchesCompleted": 1,
// "numberBatchesFailed": 0,
// "numberBatchesInProgress": 0,
// "numberBatchesQueued": 0,
// "numberBatchesTotal": 1,
// "numberRecordsFailed": 0,
// "numberRecordsProcessed": 1,
// "numberRetries": 0,
// "object": "<Object>",
// "operation": "insert",
// "state": "Closed",
// "systemModstamp": "<date_time>",
// "totalProcessingTime": 403
// }
// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
apexProcessingTime := CkJsonObject_IntOf(jResp,'apexProcessingTime');
apiActiveProcessingTime := CkJsonObject_IntOf(jResp,'apiActiveProcessingTime');
apiVersion := CkJsonObject_IntOf(jResp,'apiVersion');
assignmentRuleId := CkJsonObject__stringOf(jResp,'assignmentRuleId');
concurrencyMode := CkJsonObject__stringOf(jResp,'concurrencyMode');
contentType := CkJsonObject__stringOf(jResp,'contentType');
createdById := CkJsonObject__stringOf(jResp,'createdById');
createdDate := CkJsonObject__stringOf(jResp,'createdDate');
externalIdFieldName := CkJsonObject__stringOf(jResp,'externalIdFieldName');
fastPathEnabled := CkJsonObject_BoolOf(jResp,'fastPathEnabled');
id := CkJsonObject__stringOf(jResp,'id');
numberBatchesCompleted := CkJsonObject_IntOf(jResp,'numberBatchesCompleted');
numberBatchesFailed := CkJsonObject_IntOf(jResp,'numberBatchesFailed');
numberBatchesInProgress := CkJsonObject_IntOf(jResp,'numberBatchesInProgress');
numberBatchesQueued := CkJsonObject_IntOf(jResp,'numberBatchesQueued');
numberBatchesTotal := CkJsonObject_IntOf(jResp,'numberBatchesTotal');
numberRecordsFailed := CkJsonObject_IntOf(jResp,'numberRecordsFailed');
numberRecordsProcessed := CkJsonObject_IntOf(jResp,'numberRecordsProcessed');
numberRetries := CkJsonObject_IntOf(jResp,'numberRetries');
v_object := CkJsonObject__stringOf(jResp,'object');
operation := CkJsonObject__stringOf(jResp,'operation');
state := CkJsonObject__stringOf(jResp,'state');
systemModstamp := CkJsonObject__stringOf(jResp,'systemModstamp');
totalProcessingTime := CkJsonObject_IntOf(jResp,'totalProcessingTime');
CkHttp_Dispose(http);
CkJsonObject_Dispose(json);
CkStringBuilder_Dispose(sbResponseBody);
CkJsonObject_Dispose(jResp);
Curl Command
curl -X POST
-H "Authorization: Bearer <access_token>"
-H "X-SFDC-Session: {{_accessToken}}"
-H "Content-Type: application/json"
-H "charset: UTF-8"
-H "Accept-Encoding: gzip"
-H "Content-Encoding: gzip"
-d '{
"state" : "Closed"
}'
https://domain.com/services/async/{{version}}/job/{{_jobId}}
Postman Collection Item JSON
{
"name": "Bulk Close Job",
"request": {
"method": "POST",
"header": [
{
"key": "X-SFDC-Session",
"value": "{{_accessToken}}"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "charset",
"value": "UTF-8"
},
{
"key": "Accept-Encoding",
"value": "gzip",
"disabled": true
},
{
"key": "Content-Encoding",
"value": "gzip",
"disabled": true
}
],
"body": {
"mode": "raw",
"raw": "{\n \"state\" : \"Closed\"\n}"
},
"url": {
"raw": "{{_endpoint}}/services/async/{{version}}/job/{{_jobId}}",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"async",
"{{version}}",
"job",
"{{_jobId}}"
]
}
},
"response": [
{
"name": "Successful Bulk Close Job",
"originalRequest": {
"method": "POST",
"header": [
{
"key": "X-SFDC-Session",
"value": "{{_accessToken}}"
},
{
"key": "Content-Type",
"value": "application/json"
},
{
"key": "charset",
"value": "UTF-8"
},
{
"key": "Accept-Encoding",
"value": "gzip",
"disabled": true
},
{
"key": "Content-Encoding",
"value": "gzip",
"disabled": true
}
],
"body": {
"mode": "raw",
"raw": "{\n \"state\" : \"Closed\"\n}"
},
"url": {
"raw": "{{_endpoint}}/services/async/{{version}}/job/{{_jobId}}",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"async",
"{{version}}",
"job",
"{{_jobId}}"
]
}
},
"status": "OK",
"code": 200,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Date",
"value": "Thu, 16 Nov 2023 16:23:52 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": "Content-Type",
"value": "application/json"
},
{
"key": "Content-Encoding",
"value": "gzip"
},
{
"key": "Transfer-Encoding",
"value": "chunked"
}
],
"cookie": [
],
"body": "{\n \"apexProcessingTime\": 64,\n \"apiActiveProcessingTime\": 225,\n \"apiVersion\": 58,\n \"assignmentRuleId\": null,\n \"concurrencyMode\": \"Parallel\",\n \"contentType\": \"CSV\",\n \"createdById\": \"005...\",\n \"createdDate\": \"<date_time>\",\n \"externalIdFieldName\": null,\n \"fastPathEnabled\": false,\n \"id\": \"750...\",\n \"numberBatchesCompleted\": 1,\n \"numberBatchesFailed\": 0,\n \"numberBatchesInProgress\": 0,\n \"numberBatchesQueued\": 0,\n \"numberBatchesTotal\": 1,\n \"numberRecordsFailed\": 0,\n \"numberRecordsProcessed\": 1,\n \"numberRetries\": 0,\n \"object\": \"<Object>\",\n \"operation\": \"insert\",\n \"state\": \"Closed\",\n \"systemModstamp\": \"<date_time>\",\n \"totalProcessingTime\": 403\n}"
}
]
}