• Share
    • Twitter
    • LinkedIn
    • Facebook
    • Email
  • Feedback
  • Edit
Show / Hide Table of Contents

PATCH ChatSession/{id}

Some tooltip text!
• 7 minutes to read
 • 7 minutes to read
PATCH /api/v1/ChatSession/{id}

Update a ChatSessionEntity with changes, as described in a JSON Patch or a JSON Merge Patch document.

See RFC6902 and RFC 7396. Update the Department field to "foo" can be done either as a JSON PATCH:


[ { "op": "replace", "path": "/Department", "value": "foo" } ]

or as a JSON MERGE PATCH, which describes the change directly:


{ "Department": "foo" }

JSON PATCH supports operations 'add', 'replace', 'remove' and 'test'. The path is case insensitive, and the leading slash is optional, so the paths "/department", "Department" and "department" are all equivalent.

Calls the {SuperOffice.CRM.Services.IChatAgent} service SaveChatSessionEntity.

Path Part Type Description
id int32 The ChatSessionEntity id to update. Required

Query String Parameters

Parameter Name Type Description
$select string Optional comma separated list of properties to include in the result. Other fields are then nulled out to reduce payload size: "Name,department,category" Default = show all fields.
PATCH /api/v1/ChatSession/{id}?$select=name,department,category/id

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:
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: changes

JSON-Patch array of operations+path+value, or a MERGE-PATCH object (which will be converted to a list of JSON-PATCH operations).

Property Name Type Description
op String "add", "replace", "remove", "test" "move" and "copy" not supported
path String The property names to modify. "/users/0/email", "/users/-",
value Object New/Replaced value - string or object.

Response:

ChatSessionEntity updated.

Response Description
200 ChatSessionEntity updated.
404 ChatSessionEntity with given id does not exist in the db.
409 Update blocked because a 'test' operation has detected a conflict with the entity value.
412 Update aborted because ChatSessionEntity has changed since the requested If-Unmodified-Since timestamp.

Response body: ChatSessionEntityWithLinks

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.
_Links object

Sample request

PATCH /api/v1/ChatSession/{id}
Authorization: Basic dGplMDpUamUw
Accept: application/json; charset=utf-8
Accept-Language: sv
Content-Type: application/json; charset=utf-8

[
  {
    "op": "add",
    "path": "est",
    "value": {}
  },
  {
    "op": "add",
    "path": "est",
    "value": {}
  }
]

Sample response

HTTP/1.1 200 ChatSessionEntity  updated.
Content-Type: application/json; charset=utf-8

{
  "ChatSessionId": 844,
  "TopicId": 498,
  "User": null,
  "Person": null,
  "CustomerAlias": "dicta",
  "CustomerHost": "rerum",
  "CustomerName": "Leffler, Lemke and Pfannerstill",
  "CustomerEmail": "greta@mcclureleffler.com",
  "CustomerPhone": "(311)163-3014 x529",
  "CustomerConsented": true,
  "CustomerCompanyName": "Upton Inc and Sons",
  "Status": "Closed",
  "FirstMessage": "qui",
  "LastMessage": "atque",
  "WhenRequested": "2011-01-11T17:54:08.0074687+01:00",
  "WhenStarted": "2024-04-15T17:54:08.0074687+02:00",
  "WhenEnded": "2020-01-05T17:54:08.0074687+01:00",
  "WhenIdle": "2022-01-01T17:54:08.0074687+01:00",
  "WhenFetched": "2020-10-14T17:54:08.0074687+02:00",
  "SessionKey": "voluptates",
  "InitialQueuePos": 48,
  "AlertLevel": 420,
  "Rank": 301,
  "Flags": "CustomerIsTyping",
  "Contact": null,
  "Project": null,
  "Sale": null,
  "Ticket": null,
  "TransferTo": null,
  "ChatbotIsActive": true,
  "Rating": 546,
  "TableRight": null,
  "FieldProperties": {
    "fieldName": {
      "FieldRight": null,
      "FieldType": "System.Int32",
      "FieldLength": 9
    }
  },
  "_Links": {
    "Self": "https://www.example.com/api/v1/project/321",
    "Archive": "https://www.example.com/api/v1/project"
  }
}
© SuperOffice. All rights reserved.
SuperOffice |  Community |  Release Notes |  Privacy |  Site feedback |  Search Docs |  About Docs |  Contribute |  Back to top