Chilkat Online Tools

PureBasic / Salesforce Platform APIs / Process Approvals Submit

Back to Collection Items

IncludeFile "CkJsonObject.pb"
IncludeFile "CkHttp.pb"
IncludeFile "CkHttpResponse.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

    ; Use this online tool to generate code from sample JSON: Generate Code to Create JSON

    ; The following JSON is sent in the request body.

    ; {
    ;   "actionType": "string",
    ;   "contextActorId": "ID",
    ;   "contextId": "ID",
    ;   "comments": "string",
    ;   "nextApproverIds": "ID[]",
    ;   "processDefinitionNameOrId": "string",
    ;   "skipEntryCriteria": "boolean"
    ; }

    json.i = CkJsonObject::ckCreate()
    If json.i = 0
        Debug "Failed to create object."
        ProcedureReturn
    EndIf

    CkJsonObject::ckUpdateString(json,"actionType","string")
    CkJsonObject::ckUpdateString(json,"contextActorId","ID")
    CkJsonObject::ckUpdateString(json,"contextId","ID")
    CkJsonObject::ckUpdateString(json,"comments","string")
    CkJsonObject::ckUpdateString(json,"nextApproverIds","ID[]")
    CkJsonObject::ckUpdateString(json,"processDefinitionNameOrId","string")
    CkJsonObject::ckUpdateString(json,"skipEntryCriteria","boolean")

    ; Adds the "Authorization: Bearer <access_token>" header.
    CkHttp::setCkAuthToken(http, "<access_token>")
    CkHttp::ckSetRequestHeader(http,"Content-Type","application/json")

    resp.i = CkHttp::ckPostJson3(http,"https://domain.com/services/data/v{{version}}/process/approvals","application/json",json)
    If CkHttp::ckLastMethodSuccess(http) = 0
        Debug CkHttp::ckLastErrorText(http)
        CkHttp::ckDispose(http)
        CkJsonObject::ckDispose(json)
        ProcedureReturn
    EndIf

    Debug Str(CkHttpResponse::ckStatusCode(resp))
    Debug CkHttpResponse::ckBodyStr(resp)
    CkHttpResponse::ckDispose(resp)



    CkHttp::ckDispose(http)
    CkJsonObject::ckDispose(json)


    ProcedureReturn
EndProcedure

Curl Command

curl -X POST
	-H "Authorization: Bearer <access_token>"
	-H "Content-Type: application/json"
	-d '{
	"actionType":"string",
	"contextActorId":"ID",
	"contextId":"ID",
	"comments":"string",
	"nextApproverIds":"ID[]",
	"processDefinitionNameOrId":"string",
	"skipEntryCriteria":"boolean",
}'
https://domain.com/services/data/v{{version}}/process/approvals

Postman Collection Item JSON

{
  "name": "Process Approvals Submit",
  "request": {
    "method": "POST",
    "header": [
      {
        "key": "Content-Type",
        "value": "application/json"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n\t\"actionType\":\"string\",\n\t\"contextActorId\":\"ID\",\n\t\"contextId\":\"ID\",\n\t\"comments\":\"string\",\n\t\"nextApproverIds\":\"ID[]\",\n\t\"processDefinitionNameOrId\":\"string\",\n\t\"skipEntryCriteria\":\"boolean\",\n}"
    },
    "url": {
      "raw": "{{_endpoint}}/services/data/v{{version}}/process/approvals",
      "host": [
        "{{_endpoint}}"
      ],
      "path": [
        "services",
        "data",
        "v{{version}}",
        "process",
        "approvals"
      ]
    },
    "description": "Returns a list of all approval processes. Can also be used to submit a particular record if that entity supports an approval process and one has already been defined. Records can be approved and rejected if the current user is an assigned approver. When using a POST request to do bulk approvals, the requests that succeed are committed and the requests that don’t succeed send back an error.\nhttps://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/resources_process_approvals.htm"
  },
  "response": [
  ]
}