Back to Collection Items
load ./chilkat.dll
# This example assumes the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
set http [new_CkHttp]
# Use this online tool to generate code from sample JSON: Generate Code to Create JSON
# The following JSON is sent in the request body.
# {
# "predictionDefinition": "<PREDICTION_DEFINITION_ID>",
# "type": "RawData",
# "columnNames": [
# "Quantity",
# "Category",
# "Sub_Category",
# "Sales",
# "Profit_per_Order"
# ],
# "rows": [
# [
# "2",
# "Furniture",
# "Chairs",
# "300",
# "10"
# ]
# ]
# }
set json [new_CkJsonObject]
CkJsonObject_UpdateString $json "predictionDefinition" "<PREDICTION_DEFINITION_ID>"
CkJsonObject_UpdateString $json "type" "RawData"
CkJsonObject_UpdateString $json "columnNames[0]" "Quantity"
CkJsonObject_UpdateString $json "columnNames[1]" "Category"
CkJsonObject_UpdateString $json "columnNames[2]" "Sub_Category"
CkJsonObject_UpdateString $json "columnNames[3]" "Sales"
CkJsonObject_UpdateString $json "columnNames[4]" "Profit_per_Order"
CkJsonObject_UpdateString $json "rows[0][0]" "2"
CkJsonObject_UpdateString $json "rows[0][1]" "Furniture"
CkJsonObject_UpdateString $json "rows[0][2]" "Chairs"
CkJsonObject_UpdateString $json "rows[0][3]" "300"
CkJsonObject_UpdateString $json "rows[0][4]" "10"
# Adds the "Authorization: Bearer <access_token>" header.
CkHttp_put_AuthToken $http "<access_token>"
# resp is a CkHttpResponse
set resp [CkHttp_PostJson3 $http "https://domain.com/services/data/v{{version}}/smartdatadiscovery/predict" "application/json" $json]
if {[CkHttp_get_LastMethodSuccess $http] == 0} then {
puts [CkHttp_lastErrorText $http]
delete_CkHttp $http
delete_CkJsonObject $json
exit
}
set sbResponseBody [new_CkStringBuilder]
CkHttpResponse_GetBodySb $resp $sbResponseBody
set jResp [new_CkJsonObject]
CkJsonObject_LoadSb $jResp $sbResponseBody
CkJsonObject_put_EmitCompact $jResp 0
puts "Response Body:"
puts [CkJsonObject_emit $jResp]
set respStatusCode [CkHttpResponse_get_StatusCode $resp]
puts "Response Status Code = $respStatusCode"
if {$respStatusCode >= 400} then {
puts "Response Header:"
puts [CkHttpResponse_header $resp]
puts "Failed."
delete_CkHttpResponse $resp
delete_CkHttp $http
delete_CkJsonObject $json
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jResp
exit
}
delete_CkHttpResponse $resp
# Sample JSON response:
# (Sample code for parsing the JSON response is shown below)
# {
# "predictionDefinition": "1OR5Y0000010ws8",
# "predictions": [
# {
# "model": {
# "id": "1Ot5Y0000010wzNSAQ"
# },
# "prediction": {
# "middleValues": [
# ],
# "total": 88.52494255547592
# },
# "prescriptions": [
# ],
# "status": "Success"
# }
# ],
# "settings": {
# "maxMiddleValues": 0,
# "maxPrescriptions": 0,
# "prescriptionImpactPercentage": 0
# }
# }
# Sample code for parsing the JSON response...
# Use this online tool to generate parsing code from sample JSON: Generate JSON Parsing Code
set predictionDefinition [CkJsonObject_stringOf $jResp "predictionDefinition"]
set MaxMiddleValues [CkJsonObject_IntOf $jResp "settings.maxMiddleValues"]
set MaxPrescriptions [CkJsonObject_IntOf $jResp "settings.maxPrescriptions"]
set PrescriptionImpactPercentage [CkJsonObject_IntOf $jResp "settings.prescriptionImpactPercentage"]
set i 0
set count_i [CkJsonObject_SizeOfArray $jResp "predictions"]
while {$i < $count_i} {
CkJsonObject_put_I $jResp $i
set Id [CkJsonObject_stringOf $jResp "predictions[i].model.id"]
set Total [CkJsonObject_stringOf $jResp "predictions[i].prediction.total"]
set status [CkJsonObject_stringOf $jResp "predictions[i].status"]
set j 0
set count_j [CkJsonObject_SizeOfArray $jResp "predictions[i].prediction.middleValues"]
while {$j < $count_j} {
CkJsonObject_put_J $jResp $j
set j [expr $j + 1]
}
set j 0
set count_j [CkJsonObject_SizeOfArray $jResp "predictions[i].prescriptions"]
while {$j < $count_j} {
CkJsonObject_put_J $jResp $j
set j [expr $j + 1]
}
set i [expr $i + 1]
}
delete_CkHttp $http
delete_CkJsonObject $json
delete_CkStringBuilder $sbResponseBody
delete_CkJsonObject $jResp
Curl Command
curl -X POST
-H "Authorization: Bearer <access_token>"
-d '{
"predictionDefinition": "<PREDICTION_DEFINITION_ID>",
"type": "RawData",
"columnNames": [
"Quantity",
"Category",
"Sub_Category",
"Sales",
"Profit_per_Order"
],
"rows": [
[
"2",
"Furniture",
"Chairs",
"300",
"10"
]
]
}'
https://domain.com/services/data/v{{version}}/smartdatadiscovery/predict
Postman Collection Item JSON
{
"name": "Predict",
"request": {
"method": "POST",
"header": [
],
"body": {
"mode": "raw",
"raw": "{\n \"predictionDefinition\": \"<PREDICTION_DEFINITION_ID>\",\n \"type\": \"RawData\",\n \"columnNames\": [\n \"Quantity\",\n \"Category\",\n \"Sub_Category\",\n \"Sales\",\n \"Profit_per_Order\"\n ],\n \"rows\": [\n [\n \"2\",\n \"Furniture\",\n \"Chairs\",\n \"300\",\n \"10\"\n ]\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{_endpoint}}/services/data/v{{version}}/smartdatadiscovery/predict",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"data",
"v{{version}}",
"smartdatadiscovery",
"predict"
]
},
"description": "Get available prediction definitions."
},
"response": [
{
"name": "Predict",
"originalRequest": {
"method": "POST",
"header": [
],
"body": {
"mode": "raw",
"raw": "{\n \"predictionDefinition\": \"1OR5Y0000010ws8WAA\",\n \"type\": \"RawData\",\n \"columnNames\": [\n \"Quantity\",\n \"Category\",\n \"Sub_Category\",\n \"Sales\",\n \"Profit_per_Order\"\n ],\n \"rows\": [\n [\n \"2\",\n \"Furniture\",\n \"Chairs\",\n \"300\",\n \"10\"\n ]\n ]\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{_endpoint}}/services/data/v{{version}}/smartdatadiscovery/predict",
"host": [
"{{_endpoint}}"
],
"path": [
"services",
"data",
"v{{version}}",
"smartdatadiscovery",
"predict"
]
}
},
"status": "Created",
"code": 201,
"_postman_previewlanguage": "json",
"header": [
{
"key": "Date",
"value": "Thu, 04 Mar 2021 13:53:39 GMT"
},
{
"key": "Strict-Transport-Security",
"value": "max-age=31536002; includeSubDomains"
},
{
"key": "Expect-CT",
"value": "max-age=86400, report-uri=\"https://a.forcesslreports.com/Expect-CT-report/00D5Y000001crJvm\""
},
{
"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;charset=UTF-8"
},
{
"key": "Vary",
"value": "Accept-Encoding"
},
{
"key": "Content-Encoding",
"value": "gzip"
},
{
"key": "Transfer-Encoding",
"value": "chunked"
}
],
"cookie": [
],
"body": "{\n \"predictionDefinition\": \"1OR5Y0000010ws8\",\n \"predictions\": [\n {\n \"model\": {\n \"id\": \"1Ot5Y0000010wzNSAQ\"\n },\n \"prediction\": {\n \"middleValues\": [],\n \"total\": 88.52494255547592\n },\n \"prescriptions\": [],\n \"status\": \"Success\"\n }\n ],\n \"settings\": {\n \"maxMiddleValues\": 0,\n \"maxPrescriptions\": 0,\n \"prescriptionImpactPercentage\": 0\n }\n}"
}
]
}