Jump to: navigation, search
(ChatStateChangeMessage)
Line 83: Line 83:
 
|-
 
|-
 
| data
 
| data
| The data element is present in all [[CometDNotifications|CometD]] notifications and is the root JSON element. The <tt>data.messageType</tt> property can always be used to identify the message and determine what other properties should be present.
+
| 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
 
| data.messageType
| This property identifies the message type and will have a value of MessageLogUpdated.
+
| This property identifies the message type.
 
|-
 
|-
 
| data.notificationType
 
| data.notificationType
| This property further identifies the type of notification and will have a value of NewMessages.
+
| This property further identifies the type of notification and has a value of NewMessages.
 
|-
 
|-
 
| data.messages
 
| data.messages

Revision as of 16:20, February 10, 2016

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:
  • 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 the chat resource fails.
data.chat A chat resource with the updated state and capabilities.
channel The topic to which the message was published.

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. 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 has 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!