CometD notifications
You can subscribe to the /v2/me/chats topic to receive CometD notifications for the Chat API. This topic provides messages related to chats, including changes to chat state, updates to chat participant information, updates to chat data, and updates to chat transcript. It supports the following message types:
ChatStateChangeMessage
Property | Description |
---|---|
data | The data element is present in all CometD notifications and is the root JSON element. You can use data.messageType to identify the message and determine what other properties should be present. |
data.messageType | This property identifies the message type. |
data.notificationType | This property further identifies the type of notification and can have one of the following values:
|
data.chat | A chat resource with the updated state and capabilities. |
channel | The topic to which the message was published. |
notificationType The notificationType property can have one of the following values:
Type | Description |
---|---|
StatusChange | The status of the chat has changed. |
ParticipantsUpdated | The chat participants have changed. |
PropertiesUpdated | The chat data has changed. |
Error | This is sent when an operation on chat resource did not succeed. |
Example
{
"data":{
"notificationType":"PropertiesUpdated",
"messageType":"ChatStateChangeMessage",
"chat":{
"userData":{
"key1":"value1",
"key2":"value2"
},
"state":"Chatting",
"capabilities":[
"Transfer",
"Leave",
"Invite",
"Consult",
"SetInFocus",
"SetDisposition",
"AttachUserData",
"DeleteUserData",
"UpdateUserData",
"Complete",
"SendMessage",
"SendStartTypingNotification",
"SendStopTypingNotification"
],
"uri":"http://localhost:8080/api/v2/chats/0000Wa9CAM6W00J",
"participants":[
{
"nickname":"test_consult_clientL",
"type":"Customer",
"participantId":"007352CE982D031B"
},
{
"nickname":"TestName",
"type":"Agent",
"participantId":"007352CE984F0321"
}
],
"id":"0000Wa9CAM6W00J"
},
"referenceId":83
}
}
MessageLogUpdated
Property | Description |
---|---|
data | The data element is present in all CometD notifications and is the root JSON element. The data.messageType property can always be used to identify the message and determine what other properties should be present. |
data.messageType | This property identifies the message type and will have a value of MessageLogUpdated. |
data.notificationType | This property further identifies the type of notification and will have a value of NewMessages. |
data.messages | A list of messages/notifications that were exchanged in chat. |
channel | The topic to which the message was published. |
Example
{
"data":{
"notificationType":"NewMessages",
"messageType":"MessageLogUpdated",
"messages":[
{
"index":3,
"from":{
"nickname":"TestName",
"type":"Agent",
"participantId":"007352CE72D50290"
},
"text":"How may I help you?",
"visibility":"All",
"timestamp":"2014-01-09 11:58:12.035+0200",
"type":"Text",
"timestampSeconds":1389261492035
},
{
"index":3,
"from":{
"nickname":"TestName",
"type":"Agent",
"participantId":"007352CE72D50290"
},
"text":"Are you still there?",
"visibility":"All",
"timestamp":"2014-01-09 11:58:12.047+0200",
"type":"Text",
"timestampSeconds":1389261492047
}
],
"chatUri":"http://localhost:8080/api/v2/chats/0000Wa9CAM6W00FN"
}
}
Comments or questions about this documentation? Contact us for support!