Revision as of 16:12, February 10, 2016 by Jumunn (talk | contribs)
Jump to: navigation, search

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 call has changed.
  • ParticipantsUpdated — The call participants have changed.
  • AttachedDataChanged — The call data has changed.
  • DtmfSent — This is sent as confirmation that the SendDtmf operation was successful.
  • CallRecordingStateChange — The state of call recording has changed.
  • MonitoredUserMutedStateChange — The monitored user muted state has changed.
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!