Chilkat Online Tools

ERROR!

------------------- GenerateCode ----------------------
ImpliedContentType: application/json
explicitContentType: application/json
---- begin chilkat script ----
// This example assumes the Chilkat API to have been previously unlocked.
// See {{-global_unlock:::Global Unlock Sample-}} for sample code.

new Http http;
ckbool success;

// Use this online tool to generate code from sample JSON: {{.https://tools.chilkat.io/jsonCreate|||Generate Code to Create JSON.}}

// The following JSON is sent in the request body.

// {
//   "inputs": [
//     {}
//   ]
// }

new JsonObject json;

// Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken = "<access_token>";
call http.SetRequestHeader("Content-Type","application/json");

HttpResponse resp = http.PostJson3("https://domain.com/services/data/v{{version}}/actions/custom/runExpressionSet/:expressionSetAPIName","application/json",json);
if (http.LastMethodSuccess == ckfalse) {
    println http.LastErrorText;
    return;
}

new StringBuilder sbResponseBody;
ignore = resp.GetBodySb(sbResponseBody);

new JsonArray jarrResp;
call jarrResp.LoadSb(sbResponseBody);
jarrResp.EmitCompact = ckfalse;

println "Response Body:";
println jarrResp.Emit();

int respStatusCode = resp.StatusCode;
println "Response Status Code = ",respStatusCode;
if (respStatusCode >= 400) {
    println "Response Header:";
    println resp.Header;
    println "Failed.";
    delete resp;
    return;
}
delete resp;

// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)

// [
//   {
//     "actionName": "myExpressionSet",
//     "errors": null,
//     "isSuccess": true,
//     "outputValues": {
//       "output": 1
//     },
//     "version": 1
//   }
// ]

// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: {{.https://tools.chilkat.io/jsonParse|||Generate JSON Parsing Code.}}

#ifdef IS_C_CPP
// Chilkat functions returning "const char *" return a pointer to temporary internal memory owned and managed by Chilkat.
#undef IS_C_CPP

JsonObject json;
string actionName;
string errors;
ckbool isSuccess;
int Output;
int version;

int i = 0;
int count_i = jarrResp.Size;
while i < count_i {
    json = jarrResp.ObjectAt(i);
    actionName = json.StringOf("actionName");
    errors = json.StringOf("errors");
    isSuccess = json.BoolOf("isSuccess");
    Output = json.IntOf("outputValues.output");
    version = json.IntOf("version");
    delete json;
    i = i + 1;
}



---- end chilkat script ----

delphiAx / Salesforce Platform APIs / runExpressionSet

Back to Collection Items

var
http: TChilkatHttp;
success: Integer;
json: TChilkatJsonObject;
resp: IChilkatHttpResponse;
sbResponseBody: TChilkatStringBuilder;
jarrResp: TChilkatJsonArray;
respStatusCode: Integer;
json: IChilkatJsonObject;
actionName: WideString;
errors: WideString;
isSuccess: Integer;
Output: Integer;
version: Integer;
i: Integer;
count_i: Integer;

begin
// This example assumes the Chilkat API to have been previously unlocked.
// See Global Unlock Sample for sample code.

http := TChilkatHttp.Create(Self);

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

// The following JSON is sent in the request body.

// {
//   "inputs": [
//     {}
//   ]
// }

json := TChilkatJsonObject.Create(Self);

// Adds the "Authorization: Bearer <access_token>" header.
http.AuthToken := '<access_token>';
http.SetRequestHeader('Content-Type','application/json');

resp := http.PostJson3('https://domain.com/services/data/v{{version}}/actions/custom/runExpressionSet/:expressionSetAPIName','application/json',json.ControlInterface);
if (http.LastMethodSuccess = 0) then
  begin
    Memo1.Lines.Add(http.LastErrorText);
    Exit;
  end;

sbResponseBody := TChilkatStringBuilder.Create(Self);
resp.GetBodySb(sbResponseBody.ControlInterface);

jarrResp := TChilkatJsonArray.Create(Self);
jarrResp.LoadSb(sbResponseBody.ControlInterface);
jarrResp.EmitCompact := 0;

Memo1.Lines.Add('Response Body:');
Memo1.Lines.Add(jarrResp.Emit());

respStatusCode := resp.StatusCode;
Memo1.Lines.Add('Response Status Code = ' + IntToStr(respStatusCode));
if (respStatusCode >= 400) then
  begin
    Memo1.Lines.Add('Response Header:');
    Memo1.Lines.Add(resp.Header);
    Memo1.Lines.Add('Failed.');

    Exit;
  end;

// Sample JSON response:
// (Sample code for parsing the JSON response is shown below)

// [
//   {
//     "actionName": "myExpressionSet",
//     "errors": null,
//     "isSuccess": true,
//     "outputValues": {
//       "output": 1
//     },
//     "version": 1
//   }
// ]

// Sample code for parsing the JSON response...
// Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code

ERROR: Var already declared: json

i := 0;
count_i := jarrResp.Size;
while i < count_i do
  begin
    json := jarrResp.ObjectAt(i);
    actionName := json.StringOf('actionName');
    errors := json.StringOf('errors');
    isSuccess := json.BoolOf('isSuccess');
    Output := json.IntOf('outputValues.output');
    version := json.IntOf('version');

    i := i + 1;
  end;

Curl Command

curl -X POST
	-H "Authorization: Bearer <access_token>"
	-H "Content-Type: application/json"
	-d '{
    "inputs": [
        {}
    ]
}'
https://domain.com/services/data/v{{version}}/actions/custom/runExpressionSet/:expressionSetAPIName

Postman Collection Item JSON

{
  "name": "runExpressionSet",
  "request": {
    "method": "POST",
    "header": [
      {
        "key": "Content-Type",
        "value": "application/json"
      }
    ],
    "body": {
      "mode": "raw",
      "raw": "{\n    \"inputs\": [\n        {}\n    ]\n}"
    },
    "url": {
      "raw": "{{_endpoint}}/services/data/v{{version}}/actions/custom/runExpressionSet/:expressionSetAPIName",
      "host": [
        "{{_endpoint}}"
      ],
      "path": [
        "services",
        "data",
        "v{{version}}",
        "actions",
        "custom",
        "runExpressionSet",
        ":expressionSetAPIName"
      ],
      "variable": [
        {
          "key": "expressionSetAPIName",
          "value": "myExpressionSet",
          "description": "The API name of an expression set is unique within your Salesforce instance."
        }
      ]
    },
    "description": "# Expression Set Actions\n\nInvoke an active expression set. An expression set is a user-defined rule that accepts an input and returns the output based on the configured function.\n\nThe configured function of an expression set can be a simple decision matrix lookup, a calculation based on a mathematical formula, a condition, or another expression set.\n\nThese actions are available in API version 55.0 and later.\n\n## Supported REST HTTP Methods\n\nURI/services/data/v55.0/actions/custom/runExpressionSet/{ApiName}\n\n> `Note` \n  \n> `The API name of an expression set is unique within your Salesforce instance.` \n  \n\nFormats\n\nJSON\n\nHTTP Methods\n\nPOST\n\nAuthentication\n\nAuthorization: Bearer token\n\n## Inputs\n\nVary depending on the selected expression set.\n\n## Outputs\n\nVary depending on the inputs of the selected expression set.\n\n## Usage\n\nThis section has the sample request and response for invoking an expression set that does the following:\n\n1. Find the tax percentage and the premium corresponding to specific age and salary using a decision matrix lookup.\n    \n2. Check the age criterion to calculate the total tax.\n    \n3. Calculate the total tax to be paid based on the age group, salary, and the tax percentage.\n    \n\nSample request\n\nHere’s an example POST request that has the inputs, such as, age and salary:\n\n```\n{\n   \"inputs\":[\n      {\n         \"Age\":\"25.00\",\n         \"Salary\":\"50000.00\"\n      }\n   ]\n}\n\n ```\n\nSample response\n\nHere’s an example response that has the premium and tax values based on the inputs provided in the example request:\n\n```\n[\n   {\n      \"actionName\":\"TaxPremiumES\",\n      \"errors\":null,\n      \"isSuccess\":true,\n      \"outputValues\":{\n         \"TaxPremium__Premium\":1000,\n         \"TaxPremium__Tax\":10,\n         \"TaxToBePaid\":1050,\n         \"condition_output__2\":\"false\",\n         \"condition_output__1\":\"true\"\n      }\n   }\n]\n\n ```"
  },
  "response": [
    {
      "name": "Status400-EmptyExpressionSetAPIName",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"inputs\": [\n        {}\n    ]\n}"
        },
        "url": {
          "raw": "{{_endpoint}}/services/data/v{{version}}/actions/custom/runExpressionSet/:expressionSetAPIName",
          "host": [
            "{{_endpoint}}"
          ],
          "path": [
            "services",
            "data",
            "v{{version}}",
            "actions",
            "custom",
            "runExpressionSet",
            ":expressionSetAPIName"
          ],
          "variable": [
            {
              "key": "expressionSetAPIName",
              "value": "",
              "description": "The API name of an expression set is unique within your Salesforce instance."
            }
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Date",
          "value": "Thu, 07 Sep 2023 09:04:01 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=1/15000"
        },
        {
          "key": "Content-Type",
          "value": "application/json;charset=UTF-8"
        },
        {
          "key": "Transfer-Encoding",
          "value": "chunked"
        }
      ],
      "cookie": [
      ],
      "body": "[\n    {\n        \"actionName\": \":expressionSetAPIName\",\n        \"errors\": [\n            {\n                \"statusCode\": \"MISSING_RECORD\",\n                \"message\": \"Action name not found: :expressionSetAPIName\",\n                \"fields\": []\n            }\n        ],\n        \"isSuccess\": false,\n        \"outputValues\": null,\n        \"version\": 1\n    }\n]"
    },
    {
      "name": "Status400-ExpressionNotFound",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"inputs\": [\n        {}\n    ]\n}"
        },
        "url": {
          "raw": "{{_endpoint}}/services/data/v{{version}}/actions/custom/runExpressionSet/:expressionSetAPIName",
          "host": [
            "{{_endpoint}}"
          ],
          "path": [
            "services",
            "data",
            "v{{version}}",
            "actions",
            "custom",
            "runExpressionSet",
            ":expressionSetAPIName"
          ],
          "variable": [
            {
              "key": "expressionSetAPIName",
              "value": "ghfgh",
              "description": "The API name of an expression set is unique within your Salesforce instance."
            }
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Date",
          "value": "Thu, 07 Sep 2023 09:05:16 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=1/15000"
        },
        {
          "key": "Content-Type",
          "value": "application/json;charset=UTF-8"
        },
        {
          "key": "Transfer-Encoding",
          "value": "chunked"
        }
      ],
      "cookie": [
      ],
      "body": "[\n    {\n        \"actionName\": \"ghfgh\",\n        \"errors\": [\n            {\n                \"statusCode\": \"MISSING_RECORD\",\n                \"message\": \"Action name not found: ghfgh\",\n                \"fields\": []\n            }\n        ],\n        \"isSuccess\": false,\n        \"outputValues\": null,\n        \"version\": 1\n    }\n]"
    },
    {
      "name": "Status500-EmptyBody",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": ""
        },
        "url": {
          "raw": "{{_endpoint}}/services/data/v{{version}}/actions/custom/runExpressionSet/:expressionSetAPIName",
          "host": [
            "{{_endpoint}}"
          ],
          "path": [
            "services",
            "data",
            "v{{version}}",
            "actions",
            "custom",
            "runExpressionSet",
            ":expressionSetAPIName"
          ],
          "variable": [
            {
              "key": "expressionSetAPIName",
              "value": "myExpressionSet",
              "description": "The API name of an expression set is unique within your Salesforce instance."
            }
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Date",
          "value": "Thu, 07 Sep 2023 09:06:44 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": "Transfer-Encoding",
          "value": "chunked"
        }
      ],
      "cookie": [
      ],
      "body": "[\n    {\n        \"message\": \"The HTTP entity body is required, but this request has no entity body.\",\n        \"errorCode\": \"JSON_PARSER_ERROR\"\n    }\n]"
    },
    {
      "name": "Status400-InvalidBody",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n}"
        },
        "url": {
          "raw": "{{_endpoint}}/services/data/v{{version}}/actions/custom/runExpressionSet/:expressionSetAPIName",
          "host": [
            "{{_endpoint}}"
          ],
          "path": [
            "services",
            "data",
            "v{{version}}",
            "actions",
            "custom",
            "runExpressionSet",
            ":expressionSetAPIName"
          ],
          "variable": [
            {
              "key": "expressionSetAPIName",
              "value": "myExpressionSet",
              "description": "The API name of an expression set is unique within your Salesforce instance."
            }
          ]
        }
      },
      "status": "Bad Request",
      "code": 400,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Date",
          "value": "Thu, 07 Sep 2023 09:07:21 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=4/15000"
        },
        {
          "key": "Content-Type",
          "value": "application/json;charset=UTF-8"
        },
        {
          "key": "Transfer-Encoding",
          "value": "chunked"
        }
      ],
      "cookie": [
      ],
      "body": "[\n    {\n        \"errorCode\": \"BAD_REQUEST\",\n        \"message\": \"Invalid Request Body\"\n    }\n]"
    },
    {
      "name": "Status200-Successfull",
      "originalRequest": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/json"
          }
        ],
        "body": {
          "mode": "raw",
          "raw": "{\n    \"inputs\": [\n        {}\n    ]\n}"
        },
        "url": {
          "raw": "{{_endpoint}}/services/data/v{{version}}/actions/custom/runExpressionSet/:expressionSetAPIName",
          "host": [
            "{{_endpoint}}"
          ],
          "path": [
            "services",
            "data",
            "v{{version}}",
            "actions",
            "custom",
            "runExpressionSet",
            ":expressionSetAPIName"
          ],
          "variable": [
            {
              "key": "expressionSetAPIName",
              "value": "myExpressionSet",
              "description": "The API name of an expression set is unique within your Salesforce instance."
            }
          ]
        }
      },
      "status": "OK",
      "code": 200,
      "_postman_previewlanguage": "json",
      "header": [
        {
          "key": "Date",
          "value": "Thu, 07 Sep 2023 09:08:00 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=5/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    {\n        \"actionName\": \"myExpressionSet\",\n        \"errors\": null,\n        \"isSuccess\": true,\n        \"outputValues\": {\n            \"output\": 1\n        },\n        \"version\": 1\n    }\n]"
    }
  ]
}