POST Agents/CRMScript/SaveCRMScriptEntity
Some tooltip text!
• 6 minutes to read
• 6 minutes to read
POST /api/v1/Agents/CRMScript/SaveCRMScriptEntity
Updates the existing CRMScriptEntity or creates a new CRMScriptEntity if the id parameter is 0.
NsApiSlow threshold: 5000 ms.
Online Restricted: ## The CRMScript agent is not available in Online by default. Access must be requested specifically when app is registered.
Request Headers
| Parameter Name | Description |
|---|---|
| Authorization | Supports 'Basic', 'SoTicket' and 'Bearer' schemes, depending on installation type. |
| X-XSRF-TOKEN | If not using Authorization header, you must provide XSRF value from cookie or hidden input field |
| Content-Type | Content-type of the request body: application/json, text/json, application/xml, text/xml, application/x-www-form-urlencoded, application/json-patch+json, application/merge-patch+json |
| Accept | Content-type(s) you would like the response in: application/json, text/json, application/xml, text/xml, application/json-patch+json, application/merge-patch+json |
| Accept-Language | Convert string references and multi-language values into a specified language (iso2) code. |
| SO-Language | Convert string references and multi-language values into a specified language (iso2) code. Overrides Accept-Language value. |
| SO-Culture | Number, date formatting in a specified culture (iso2 language) code. Partially overrides SO-Language/Accept-Language value. Ignored if no Language set. |
| SO-TimeZone | Specify the timezone code that you would like date/time responses converted to. |
| SO-AppToken | The application token that identifies the partner app. Used when calling Online WebAPI from a server. |
Request Body: cRMScriptEntity
The CRMScriptEntity that is saved
| Property Name | Type | Description |
|---|---|---|
| EjscriptId | Integer | Primary key |
| UniqueIdentifier | String | Global unique identifier, accross customers/tenants |
| Name | String | A description of this script |
| Description | String | Optional description of what this script is used for. |
| IncludeId | String | A unique name used for including this script in another |
| AccessKey | String | Access key used to run this script on the customer pages |
| HierarchyId | Integer | The script is inside this hierarchy folder |
| Source | String | The script |
| SourceCode | String | Contains the source code of the script |
| ScriptType | String | The type/language of this script |
| HtmlOutput | Integer | True if this script will return HTML output |
| Includes | Array | The unique ids of all depencies of this script (all resolved includes) |
| SourceMaps | Array | The source maps for this script |
| ValidationResult | CRMScriptResult | The result of a validation of a TypeScript when saving |
| Registered | String | Registered when in UTC. |
| RegisteredAssociateId | Integer | Registered by whom |
| Updated | String | Last updated when in UTC. |
| UpdatedAssociateId | Integer | Last updated by whom |
| BlockedVerbs | String | The verbs that are blocked when calling a ejscript over HTTP |
Response:
OK
| Response | Description |
|---|---|
| 200 | OK |
Response body: CRMScriptEntity
| Property Name | Type | Description |
|---|---|---|
| EjscriptId | int32 | Primary key |
| UniqueIdentifier | string | Global unique identifier, accross customers/tenants |
| Name | string | A description of this script |
| Description | string | Optional description of what this script is used for. |
| IncludeId | string | A unique name used for including this script in another |
| AccessKey | string | Access key used to run this script on the customer pages |
| HierarchyId | int32 | The script is inside this hierarchy folder |
| Source | string | The script |
| SourceCode | string | Contains the source code of the script |
| ScriptType | string | The type/language of this script |
| HtmlOutput | int32 | True if this script will return HTML output |
| Includes | array | The unique ids of all depencies of this script (all resolved includes) |
| SourceMaps | array | The source maps for this script |
| ValidationResult | CRMScriptResult | The result of a validation of a TypeScript when saving |
| Registered | date-time | Registered when in UTC. |
| RegisteredAssociateId | int32 | Registered by whom |
| Updated | date-time | Last updated when in UTC. |
| UpdatedAssociateId | int32 | Last updated by whom |
| BlockedVerbs | string | The verbs that are blocked when calling a ejscript over HTTP |
| TableRight | TableRight | The carrier's table right |
| FieldProperties | object | Field property dictionary mapping field names to field access rights. |
Sample request
POST /api/v1/Agents/CRMScript/SaveCRMScriptEntity
Authorization: Basic dGplMDpUamUw
Accept: application/json; charset=utf-8
Accept-Language: en
Content-Type: application/json; charset=utf-8
{
"EjscriptId": 515,
"UniqueIdentifier": "animi",
"Name": "Schmidt-Padberg",
"Description": "Versatile stable time-frame",
"IncludeId": "placeat",
"AccessKey": "vero",
"HierarchyId": 839,
"Source": "dolore",
"SourceCode": "magni",
"ScriptType": "CRMScript",
"HtmlOutput": 443,
"Includes": [
62,
630
],
"SourceMaps": [
{
"LineNumberFrom": 150,
"LineNumberTo": 537,
"Delta": 13,
"IncludeId": "laboriosam",
"IncludedFrom": [
"qui",
"ipsa"
]
},
{
"LineNumberFrom": 150,
"LineNumberTo": 537,
"Delta": 13,
"IncludeId": "laboriosam",
"IncludedFrom": [
"qui",
"ipsa"
]
}
],
"ValidationResult": null,
"Registered": "1998-10-27T10:10:59.549738+01:00",
"RegisteredAssociateId": 311,
"Updated": "2013-08-25T10:10:59.549738+02:00",
"UpdatedAssociateId": 340,
"BlockedVerbs": "BlockAll"
}
Sample response
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"EjscriptId": 165,
"UniqueIdentifier": "ticket-priority-calculator",
"Name": "Ticket Priority Calculator",
"Description": "Automatically calculates and updates ticket priority based on customer VIP status and urgency",
"IncludeId": "priority-calc",
"AccessKey": "api-key-67890",
"HierarchyId": 816,
"Source": "#setLanguageLevel 3;\nInteger priority = 3;\nif (customer.isVIP()) { priority = 1; }\nticket.setValue(\"priority\", priority.toString());",
"SourceCode": "#setLanguageLevel 3;\nInteger priority = 3;\nif (customer.isVIP()) { priority = 1; }\nticket.setValue(\"priority\", priority.toString());",
"ScriptType": "CRMScript",
"HtmlOutput": 0,
"Includes": [
998,
408
],
"SourceMaps": [
{
"LineNumberFrom": 1,
"LineNumberTo": 4,
"Delta": 0,
"IncludeId": "customer-utils",
"IncludedFrom": [
"priority-calc",
"ticket-handler"
],
"TableRight": null,
"FieldProperties": {
"fieldName": {
"FieldRight": null,
"FieldType": "System.Int32",
"FieldLength": 159
}
}
}
],
"ValidationResult": null,
"Registered": "2023-04-29T10:10:59.549738+02:00",
"RegisteredAssociateId": 786,
"Updated": "2018-07-03T10:10:59.549738+02:00",
"UpdatedAssociateId": 864,
"BlockedVerbs": "BlockAll",
"TableRight": null,
"FieldProperties": {
"fieldName": {
"FieldRight": null,
"FieldType": "System.String",
"FieldLength": 524
}
}
}