POST Agents/Chat/SaveChatSessionEntity
Some tooltip text!
• 9 minutes to read
• 9 minutes to read
POST /api/v1/Agents/Chat/SaveChatSessionEntity
Updates the existing ChatSessionEntity or creates a new ChatSessionEntity if the id parameter is 0.
NsApiSlow threshold: 5000 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: chatSessionEntity
The ChatSessionEntity that is saved
| Property Name | Type | Description |
|---|---|---|
| ChatSessionId | Integer | The primary key (auto-incremented) |
| TopicId | Integer | The reference to the associated chat topic. |
| User | Associate | User agent handling this session |
| Person | Person | Customer person in this session - could be empty if we don't know exactly. |
| CustomerAlias | String | The alias for the customer. |
| CustomerHost | String | The hostname or IP address for the customer. |
| CustomerName | String | The name of customer, if provided |
| CustomerEmail | String | The email address of the customer, if provided |
| CustomerPhone | String | The phone number of the customer, if provided |
| CustomerConsented | Boolean | The customer consented when starting the session |
| CustomerCompanyName | String | The name of the customers company, if provided |
| Status | String | Enum indicating the status for the session (pending, active, closed, etc). |
| FirstMessage | String | A copy of the first message in the chat session |
| LastMessage | String | A copy of the last message in the chat session |
| WhenRequested | String | When the session was requested by the customer. |
| WhenStarted | String | When the session was accepted by a user. |
| WhenEnded | String | When the session was ended. |
| WhenIdle | String | The last time anyone sent a message for this session. |
| WhenFetched | String | The last time the customer's client refetched the data. Used to detect 'dead' session. |
| SessionKey | String | Key used to authenticate the session. |
| InitialQueuePos | Integer | The initial queue pos (i.e. the number of pending sessions + 1) when the session was requested. |
| AlertLevel | Integer | The alert level for this chat session. |
| Rank | Integer | Lowest possible unique number for active sessions for user. User for color index. Starting at 1. |
| Flags | String | Various flags for the chat session |
| Contact | Contact | Contact this session is connected to - could be empty if we don't know exactly. |
| Project | Project | Project the session is connectedto - could be empty if we don't know exactly. |
| Sale | Sale | Sale the session is connected to - could be empty if we don't know exactly. |
| Ticket | Ticket | Ticket the session is connected to - could be empty if we don't know exactly. |
| TransferTo | Associate | User agent that has a pending transfer of the chat session |
| ChatbotIsActive | Boolean | Indicates that a chatbot is active on the session. This will cause bot triggers to fire. Set to 0 when bot hands off to user. |
| Rating | Integer | Rating of this chat conversation given by the customer |
Response:
OK
| Response | Description |
|---|---|
| 200 | OK |
Response body: ChatSessionEntity
| Property Name | Type | Description |
|---|---|---|
| ChatSessionId | int32 | The primary key (auto-incremented) |
| TopicId | int32 | The reference to the associated chat topic. |
| User | Associate | User agent handling this session |
| Person | Person | Customer person in this session - could be empty if we don't know exactly. |
| CustomerAlias | string | The alias for the customer. |
| CustomerHost | string | The hostname or IP address for the customer. |
| CustomerName | string | The name of customer, if provided |
| CustomerEmail | string | The email address of the customer, if provided |
| CustomerPhone | string | The phone number of the customer, if provided |
| CustomerConsented | bool | The customer consented when starting the session |
| CustomerCompanyName | string | The name of the customers company, if provided |
| Status | string | Enum indicating the status for the session (pending, active, closed, etc). |
| FirstMessage | string | A copy of the first message in the chat session |
| LastMessage | string | A copy of the last message in the chat session |
| WhenRequested | date-time | When the session was requested by the customer. |
| WhenStarted | date-time | When the session was accepted by a user. |
| WhenEnded | date-time | When the session was ended. |
| WhenIdle | date-time | The last time anyone sent a message for this session. |
| WhenFetched | date-time | The last time the customer's client refetched the data. Used to detect 'dead' session. |
| SessionKey | string | Key used to authenticate the session. |
| InitialQueuePos | int32 | The initial queue pos (i.e. the number of pending sessions + 1) when the session was requested. |
| AlertLevel | int32 | The alert level for this chat session. |
| Rank | int32 | Lowest possible unique number for active sessions for user. User for color index. Starting at 1. |
| Flags | string | Various flags for the chat session |
| Contact | Contact | Contact this session is connected to - could be empty if we don't know exactly. |
| Project | Project | Project the session is connectedto - could be empty if we don't know exactly. |
| Sale | Sale | Sale the session is connected to - could be empty if we don't know exactly. |
| Ticket | Ticket | Ticket the session is connected to - could be empty if we don't know exactly. |
| TransferTo | Associate | User agent that has a pending transfer of the chat session |
| ChatbotIsActive | bool | Indicates that a chatbot is active on the session. This will cause bot triggers to fire. Set to 0 when bot hands off to user. |
| Rating | int32 | Rating of this chat conversation given by the customer |
| 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/Chat/SaveChatSessionEntity
Authorization: Basic dGplMDpUamUw
Accept: application/json; charset=utf-8
Accept-Language: fr,de,ru,zh
Content-Type: application/json; charset=utf-8
{
"ChatSessionId": 352,
"TopicId": 588,
"User": null,
"Person": null,
"CustomerAlias": "soluta",
"CustomerHost": "qui",
"CustomerName": "Schiller, Hilpert and Labadie",
"CustomerEmail": "mckayla@sengeryost.uk",
"CustomerPhone": "546-196-2294",
"CustomerConsented": false,
"CustomerCompanyName": "Williamson, Weber and Grimes",
"Status": "Closed",
"FirstMessage": "rerum",
"LastMessage": "ut",
"WhenRequested": "2002-08-11T10:10:59.0850049+02:00",
"WhenStarted": "2019-06-07T10:10:59.0850049+02:00",
"WhenEnded": "2002-04-04T10:10:59.0850049+02:00",
"WhenIdle": "1999-06-07T10:10:59.0850049+02:00",
"WhenFetched": "2010-04-13T10:10:59.0850049+02:00",
"SessionKey": "est",
"InitialQueuePos": 613,
"AlertLevel": 418,
"Rank": 235,
"Flags": "CustomerIsTyping",
"Contact": null,
"Project": null,
"Sale": null,
"Ticket": null,
"TransferTo": null,
"ChatbotIsActive": false,
"Rating": 957
}
Sample response
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"ChatSessionId": 2347,
"TopicId": 12,
"User": null,
"Person": null,
"CustomerAlias": "jsmith",
"CustomerHost": "195.88.54.16",
"CustomerName": "John Smith",
"CustomerEmail": "john.smith@example.com",
"CustomerPhone": "+1-555-0123",
"CustomerConsented": true,
"CustomerCompanyName": "Acme Corporation",
"Status": "Closed",
"FirstMessage": "Hi, I need help with my recent order",
"LastMessage": "Have a great day!",
"WhenRequested": "2024-12-15T09:22:45+01:00",
"WhenStarted": "2024-12-15T09:23:15+01:00",
"WhenEnded": "2024-12-15T09:25:50+01:00",
"WhenIdle": "2024-12-15T09:25:50+01:00",
"WhenFetched": "2024-12-15T09:23:10+01:00",
"SessionKey": "chat-2347-jsmith-20241215",
"InitialQueuePos": 3,
"AlertLevel": 0,
"Rank": 5,
"Flags": "None",
"Contact": null,
"Project": null,
"Sale": null,
"Ticket": null,
"TransferTo": null,
"ChatbotIsActive": false,
"Rating": 5,
"TableRight": null,
"FieldProperties": {
"fieldName": {
"FieldRight": null,
"FieldType": "System.Int32",
"FieldLength": 546
}
}
}