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.
// {
// "partnerId": "{{partner_id}}",
// "name": "{{product_name}}",
// "listingName": "{{product_listing_name}}",
// "tags": {
// "applications": [
// "LO Connect",
// "Encompass Smart Client"
// ],
// "categories": [
// "{{service_category}}"
// ],
// "workflows": [
// "interactive"
// ]
// },
// "integrationType": "ASYNC",
// "interfaceUrl": "{{product_interface_url}}",
// "webhooks": [
// {
// "resource": "urn:elli:epc:transaction",
// "events": [
// "created",
// "updated"
// ],
// "signingkey": "qwertyuiop1234567890!@#$f*()",
// "url": "{{webhook_url}}"
// },
// {
// "resource": "urn:elli:epc:transaction:event",
// "events": [
// "created"
// ],
// "signingkey": "qwertyuiop1234567890!@#$f*()",
// "url": "{{webhook_url}}"
// }
// ],
// "requestTypes": [
// "{{request_type}}"
// ],
// "entitlements": {
// "access": {
// "allow": [
// "urn:elli:encompass:{{encompass_instance_id}}"
// ],
// "deny": [
// ]
// }
// },
// "credential": {
// "required": [
// "username",
// "password"
// ],
// "properties": {
// "username": {
// "type": "String",
// "title": "Username"
// },
// "password": {
// "type": "String",
// "title": "Password",
// "secret": true
// }
// }
// }
// }
json := CkJsonObject_Create();
CkJsonObject_UpdateString(json,'partnerId','{{partner_id}}');
CkJsonObject_UpdateString(json,'name','{{product_name}}');
CkJsonObject_UpdateString(json,'listingName','{{product_listing_name}}');
CkJsonObject_UpdateString(json,'tags.applications[0]','LO Connect');
CkJsonObject_UpdateString(json,'tags.applications[1]','Encompass Smart Client');
CkJsonObject_UpdateString(json,'tags.categories[0]','{{service_category}}');
CkJsonObject_UpdateString(json,'tags.workflows[0]','interactive');
CkJsonObject_UpdateString(json,'integrationType','ASYNC');
CkJsonObject_UpdateString(json,'interfaceUrl','{{product_interface_url}}');
CkJsonObject_UpdateString(json,'webhooks[0].resource','urn:elli:epc:transaction');
CkJsonObject_UpdateString(json,'webhooks[0].events[0]','created');
CkJsonObject_UpdateString(json,'webhooks[0].events[1]','updated');
CkJsonObject_UpdateString(json,'webhooks[0].signingkey','qwertyuiop1234567890!@#$f*()');
CkJsonObject_UpdateString(json,'webhooks[0].url','{{webhook_url}}');
CkJsonObject_UpdateString(json,'webhooks[1].resource','urn:elli:epc:transaction:event');
CkJsonObject_UpdateString(json,'webhooks[1].events[0]','created');
CkJsonObject_UpdateString(json,'webhooks[1].signingkey','qwertyuiop1234567890!@#$f*()');
CkJsonObject_UpdateString(json,'webhooks[1].url','{{webhook_url}}');
CkJsonObject_UpdateString(json,'requestTypes[0]','{{request_type}}');
CkJsonObject_UpdateString(json,'entitlements.access.allow[0]','urn:elli:encompass:{{encompass_instance_id}}');
CkJsonObject_UpdateNewArray(json,'entitlements.access.deny');
CkJsonObject_UpdateString(json,'credential.required[0]','username');
CkJsonObject_UpdateString(json,'credential.required[1]','password');
CkJsonObject_UpdateString(json,'credential.properties.username.type','String');
CkJsonObject_UpdateString(json,'credential.properties.username.title','Username');
CkJsonObject_UpdateString(json,'credential.properties.password.type','String');
CkJsonObject_UpdateString(json,'credential.properties.password.title','Password');
CkJsonObject_UpdateBool(json,'credential.properties.password.secret',True);
// Adds the "Authorization: Bearer {{partner_token}}" header.
CkHttp_putAuthToken(http,'{{partner_token}}');
CkHttp_SetRequestHeader(http,'Content-Type','application/json');
resp := CkHttp_PostJson3(http,'https://domain.com/partner/v2/products?view=complete','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 {{partner_token}}"
-H "Content-Type: application/json"
-d '{
"partnerId": "{{partner_id}}",
"name": "{{product_name}}",
"listingName": "{{product_listing_name}}",
"tags": {
"applications": [
"LO Connect",
"Encompass Smart Client"
],
"categories": [
"{{service_category}}"
],
"workflows": [
"interactive"
]
},
"integrationType": "ASYNC",
"interfaceUrl": "{{product_interface_url}}",
"webhooks": [
{
"resource": "urn:elli:epc:transaction",
"events": [
"created",
"updated"
],
"signingkey": "qwertyuiop1234567890!@#$%^&*()",
"url": "{{webhook_url}}"
},
{
"resource": "urn:elli:epc:transaction:event",
"events": [
"created"
],
"signingkey": "qwertyuiop1234567890!@#$%^&*()",
"url": "{{webhook_url}}"
}
],
"requestTypes": [
"{{request_type}}"
],
"entitlements": {
"access": {
"allow": [
"urn:elli:encompass:{{encompass_instance_id}}"
],
"deny": []
}
},
"credential": {
"required": [
"username",
"password"
],
"properties": {
"username": {
"type": "String",
"title": "Username"
},
"password": {
"type": "String",
"title": "Password",
"secret": true
}
}
}
}'
https://domain.com/partner/v2/products?view=complete
Postman Collection Item JSON
{
"name": "[Partner] Create a New Product",
"event": [
{
"listen": "test",
"script": {
"type": "text/javascript",
"exec": [
"// Extract Product identifier from response body",
"var jsonData = JSON.parse(responseBody);",
"var productId = jsonData.id;",
"",
"// Set to an environment variable",
"postman.setEnvironmentVariable(\"product_id\", productId);"
]
}
}
],
"_postman_id": "677a22b1-31ae-4dde-a759-f6a27216e2d5",
"request": {
"method": "POST",
"header": [
{
"key": "Authorization",
"type": "text",
"value": "Bearer {{partner_token}}"
},
{
"key": "Content-Type",
"name": "Content-Type",
"value": "application/json",
"type": "text"
}
],
"body": {
"mode": "raw",
"raw": "{\n \"partnerId\": \"{{partner_id}}\",\n \"name\": \"{{product_name}}\",\n \"listingName\": \"{{product_listing_name}}\",\n \"tags\": {\n \"applications\": [\n \"LO Connect\",\n \"Encompass Smart Client\"\n ],\n \"categories\": [\n \"{{service_category}}\"\n ],\n \"workflows\": [\n \"interactive\"\n ]\n },\n \"integrationType\": \"ASYNC\",\n \"interfaceUrl\": \"{{product_interface_url}}\",\n \"webhooks\": [\n {\n \"resource\": \"urn:elli:epc:transaction\",\n \"events\": [\n \"created\",\n \"updated\"\n ],\n \"signingkey\": \"qwertyuiop1234567890!@#$%^&*()\",\n \"url\": \"{{webhook_url}}\"\n },\n {\n \"resource\": \"urn:elli:epc:transaction:event\",\n \"events\": [\n \"created\"\n ],\n \"signingkey\": \"qwertyuiop1234567890!@#$%^&*()\",\n \"url\": \"{{webhook_url}}\"\n }\n ],\n \"requestTypes\": [\n \"{{request_type}}\"\n ],\n \"entitlements\": {\n \"access\": {\n \"allow\": [\n \"urn:elli:encompass:{{encompass_instance_id}}\"\n ],\n \"deny\": []\n }\n },\n \"credential\": {\n \"required\": [\n \"username\",\n \"password\"\n ],\n \"properties\": {\n \"username\": {\n \"type\": \"String\",\n \"title\": \"Username\"\n },\n \"password\": {\n \"type\": \"String\",\n \"title\": \"Password\",\n \"secret\": true\n }\n }\n }\n}"
},
"url": {
"raw": "{{api_host}}/partner/v2/products?view=complete",
"host": [
"{{api_host}}"
],
"path": [
"partner",
"v2",
"products"
],
"query": [
{
"key": "view",
"value": "complete"
}
]
}
},
"response": [
]
}