POST Agents/Ticket/SaveTicketMessageEntity
Some tooltip text!
• 10 minutes to read
• 10 minutes to read
POST /api/v1/Agents/Ticket/SaveTicketMessageEntity
Updates the existing TicketMessageEntity or creates a new TicketMessageEntity if the id parameter is 0.
Does not notify users of save. NsApiSlow threshold: 2000 ms.
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: ticketMessageEntity
The TicketMessageEntity that is saved
| Property Name | Type | Description |
|---|---|---|
| EjMessageId | Integer | The primary key (auto-incremented) |
| Ticket | Ticket | The connected ticket |
| CreatedAt | String | When the message was posted. |
| CreatedBy | Associate | The associate who created this ticket message |
| Author | String | A string representing the author of the message. Could be a user's name, or a persons email address. |
| Slevel | String | The securitylevel of the message. |
| Type | String | The type of the message (plaintext/html). |
| MessageId | String | The Message-Id header value from the email. Used for threading, i.e. connecting messages to existing tickets. |
| TimeSpent | Integer | The time spent (minutes) for this message. |
| Body | String | The textbody for the message. |
| HtmlBody | String | The html body for the message (if any). |
| EmailHeader | String | The email header is saved in this field as raw text |
| DebugInfo | String | The debug info for the message. |
| MailSorter | String | The name of the mail sorter used when the email was imported. Note: We must use name instead of id since the id's change every time one changes the mail sorter. :-0 |
| MessageCategory | String | Defines what kind of message this is. |
| Person | Person | If this is an incoming message, this will contain the person |
| SearchTitle | String | A copy of the title of the ticket, for search optimisation and simpler reporting. |
| MessageHeaders | Array | Contains the message headers, like To, Cc, Bcc information, or custom headers |
| Important | Boolean | If this message is important or not. |
| Language | String | The language this message is in, based on some kind of analysis |
| Sentiment | Integer | Sentiment index, 100 = completely happy; -100 = suicidally unhappy; 0 = no idea |
| SentimentConfidence | Integer | Confidence of sentiment index, 0 = no idea, 100 = completely sure |
| Badge | String | Badge to explicitly determine how a message was generated |
| AttachmentsInfo | Array | Message attachments information |
| ExtraFields | Object | Deprecated: Use {SuperOffice.CRM.Services.TicketMessageEntity.CustomFields} instead. Extra fields added to the carrier. This could be data from Plug-ins, the foreign key system, external applications, etc. |
| CustomFields | Object | Udef + Extra fields added to the carrier. Extra fields as defined by changes to database schema + user-defined fields as defined by admin. Custom fields combines user defined fields and extra fields into one bucket. The individual {SuperOffice.CRM.Services.TicketMessageEntity.ExtraFields} and |
Response:
OK
| Response | Description |
|---|---|
| 200 | OK |
Response body: TicketMessageEntity
| Property Name | Type | Description |
|---|---|---|
| EjMessageId | int32 | The primary key (auto-incremented) |
| Ticket | Ticket | The connected ticket |
| CreatedAt | date-time | When the message was posted. |
| CreatedBy | Associate | The associate who created this ticket message |
| Author | string | A string representing the author of the message. Could be a user's name, or a persons email address. |
| Slevel | string | The securitylevel of the message. |
| Type | string | The type of the message (plaintext/html). |
| MessageId | string | The Message-Id header value from the email. Used for threading, i.e. connecting messages to existing tickets. |
| TimeSpent | int32 | The time spent (minutes) for this message. |
| Body | string | The textbody for the message. |
| HtmlBody | string | The html body for the message (if any). |
| EmailHeader | string | The email header is saved in this field as raw text |
| DebugInfo | string | The debug info for the message. |
| MailSorter | string | The name of the mail sorter used when the email was imported. Note: We must use name instead of id since the id's change every time one changes the mail sorter. :-0 |
| MessageCategory | string | Defines what kind of message this is. |
| Person | Person | If this is an incoming message, this will contain the person Use MDO List name "person_new" to get list items. |
| SearchTitle | string | A copy of the title of the ticket, for search optimisation and simpler reporting. |
| MessageHeaders | array | Contains the message headers, like To, Cc, Bcc information, or custom headers |
| Important | bool | If this message is important or not. |
| Language | string | The language this message is in, based on some kind of analysis |
| Sentiment | int32 | Sentiment index, 100 = completely happy; -100 = suicidally unhappy; 0 = no idea |
| SentimentConfidence | int32 | Confidence of sentiment index, 0 = no idea, 100 = completely sure |
| Badge | string | Badge to explicitly determine how a message was generated |
| AttachmentsInfo | array | Message attachments information |
| ExtraFields | object | Deprecated: Use {SuperOffice.CRM.Services.TicketMessageEntity.CustomFields} instead. Extra fields added to the carrier. This could be data from Plug-ins, the foreign key system, external applications, etc. |
| CustomFields | object | Udef + Extra fields added to the carrier. Extra fields as defined by changes to database schema + user-defined fields as defined by admin. Custom fields combines user defined fields and extra fields into one bucket. The individual {SuperOffice.CRM.Services.TicketMessageEntity.ExtraFields} and UserDefinedFields properties are deprecated in favor of this combined collection. |
| 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/Ticket/SaveTicketMessageEntity
Authorization: Basic dGplMDpUamUw
Accept: application/json; charset=utf-8
Accept-Language: sv
Content-Type: application/json; charset=utf-8
{
"EjMessageId": 927,
"Ticket": null,
"CreatedAt": "2021-07-19T10:11:01.5843815+02:00",
"CreatedBy": null,
"Author": "blanditiis",
"Slevel": "External",
"Type": "Html",
"MessageId": "omnis",
"TimeSpent": 512,
"Body": "iste",
"HtmlBody": "debitis",
"EmailHeader": "orval.beahan@dubuqueweber.uk",
"DebugInfo": "est",
"MailSorter": "non",
"MessageCategory": "Bounce",
"Person": null,
"SearchTitle": "libero",
"MessageHeaders": [
{
"Id": 848,
"Name": "Kiehn-Kuhic",
"Value": "quis",
"StdItem": "CustomerReadFAQ",
"StdItemCol": "Name"
},
{
"Id": 848,
"Name": "Kiehn-Kuhic",
"Value": "quis",
"StdItem": "CustomerReadFAQ",
"StdItemCol": "Name"
}
],
"Important": false,
"Language": "et",
"Sentiment": 208,
"SentimentConfidence": 93,
"Badge": "Comment",
"AttachmentsInfo": [
{
"AttachmentId": 980,
"Name": "Becker Group",
"ContentType": "non",
"AttSize": 307,
"InlineImage": false,
"ContentId": "tenetur",
"AuthKey": "odio",
"IsSafeFileExtension": false
}
],
"ExtraFields": {
"ExtraFields1": "nemo",
"ExtraFields2": "praesentium"
},
"CustomFields": {
"CustomFields1": "voluptatum",
"CustomFields2": "quam"
}
}
Sample response
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"EjMessageId": 5681,
"Ticket": null,
"CreatedAt": "2024-12-05T16:00:00+01:00",
"CreatedBy": null,
"Author": "customer@techcorp.com",
"Slevel": "External",
"Type": "Html",
"MessageId": "<msg-5681@support.company.com>",
"TimeSpent": 20,
"Body": "The issue has been resolved. Thank you for your quick response. The clear cache instructions worked perfectly and I can now access the portal without any problems.",
"HtmlBody": "<p>The issue has been resolved. Thank you for your quick response.</p><p>The clear cache instructions worked perfectly and I can now access the portal without any problems.</p>",
"EmailHeader": "customer@techcorp.com",
"DebugInfo": "",
"MailSorter": "customer@techcorp.com",
"MessageCategory": "Message",
"Person": null,
"SearchTitle": "Re: Cannot access customer portal - Login button not working",
"MessageHeaders": [
{
"Id": 102,
"Name": "Subject",
"Value": "Re: Cannot access customer portal - Login button not working",
"StdItem": "CustomerReadFAQ",
"StdItemCol": "Name",
"TableRight": null,
"FieldProperties": {
"fieldName": {
"FieldRight": null,
"FieldType": "System.String",
"FieldLength": 818
}
}
}
],
"Important": false,
"Language": "en",
"Sentiment": 95,
"SentimentConfidence": 98,
"Badge": "Comment",
"AttachmentsInfo": [
{
"AttachmentId": 1002,
"Name": "screenshot.png",
"ContentType": "image/png",
"AttSize": 152400,
"InlineImage": true,
"ContentId": "attach-1002",
"AuthKey": "auth-key-1002",
"IsSafeFileExtension": true,
"TableRight": null,
"FieldProperties": {
"fieldName": {
"FieldRight": null,
"FieldType": "System.String",
"FieldLength": 804
}
}
}
],
"ExtraFields": {
"ExtraFields1": "tempora",
"ExtraFields2": "vel"
},
"CustomFields": {
"CustomFields1": "minima",
"CustomFields2": "vitae"
},
"TableRight": null,
"FieldProperties": {
"fieldName": {
"FieldRight": null,
"FieldType": "System.String",
"FieldLength": 457
}
}
}