Collaboration Events

The following collaboration events can be specified as part of the request for creating a subscription:

Event Description Event Fields

chatMessageSent

The event occurs whenever a message is sent through the collaboration server, including video chats.

The chatMessageSent event contains the following fields:

  • eventType: The type of the event; that is, chatMessageSent.
  • time: The time of the event in UTC time standard (string). The time format is YYYY-MM-DD HH:MM:SS.
  • applicationId: The name/ID of the internal or external application which performed the action that triggered this event. This field is present only when the chat is triggered from an internal or external application (string). When the message is triggered from routing, the value will be 'ROUTING'.
  • user: The user who triggered this event (string). The field is empty if a user is not triggering the event.
  • chat: A record containing the following chat or broadcast related key fields:
    • broadcastInfo: The object containing details about the broadcast chat.
      • broadcastedTo: The object contains the group names to which the broadcast was sent.
        • groups: The collaboration user groups to which the broadcast is sent.
        • helpdesks: The collaboration helpdesk groups to which the broadcast is sent.
        • supervisorGroups: The supervisor groups to which the broadcast is sent.
      • broadcastItemDetails: The object containing the activity ID of the activity broadcast and the inventory type and model property of the inventory broadcast.
        • activityId: The identifier of the activity in the activity broadcast.
        • inventoryType: The type of inventory in the inventory broadcast.
        • modelProperty: The model property of the inventory in the inventory broadcast.
      • filterCriteria: The object containing the filter criteria of the broadcast. It is applicable for location, activity (if the activity has coordinates specified) and the inventory broadcasts.
        • latitude: The latitude coordinate (in degrees) of the user used in Location or Inventory broadcasts and the latitude coordinate (in degrees) of the activity used in Activity broadcasts.
        • longitude: The longitude coordinate (in degrees) of the user used in Location or Inventory broadcasts and the longitude coordinate (in degrees) of the activity used in Activity broadcasts.
        • radius: The radius set by the user for Location and Activity broadcasts.
    • chatId: The identifier of the chat or broadcast (string). This is the unique ID for each chat or broadcast in the collaboration server.
    • expireTime: The time when the broadcast expires (string). The time format is YYYY-MM-DD HH:MM:SS. The field is available only for broadcasts. The value isn't available for broadcasts without an expiry time.
    • helpdeskName: The name of the help desk (string). The field is available only for help desk chats.
    • startedBy: The user who started the chat or broadcast (string). This field will be present only for chats started by a user.
    • startedTime: Time (in UTC time standard) when the chat or broadcast was started (string). The time format is YYYY-MM-DD HH:MM:SS.
    • type: The type of broadcast (string). The values are group:broadcast, location:broadcast, and activity:broadcast. The field is available only for broadcasts.
    • endedTime: Time displayed in UTC time zone (string) when the clean up for chats/broadcasts in the system is completed. For expired broadcasts the value will be populated in 'YYYY-MM-DD HH:MM:SS' format.
  • messsage: A record containing the following message related key fields.
    • messageId: The identifier of the message in the collaboration server (long).
    • sequenceNumber: The sequence number of the message in the chat or broadcast (long).
    • text: The text content of the message (string).
    • needAcknowledgement: The field indicating whether the acknowledgement option is enabled for this message (Boolean). The field is available only for broadcasts. It isn't available for messages without an acknowledgment.
    • systemMessage: This field is present only for video chat events and can contain the following values:
      • video_chat_started: This value is used when a user starts a video chat.
      • video_chat_finished: This value is used when a user finishes a video chat.
      • video_chat_feedback: This value is used when a user provides feedback on a video chat.
    • videoChatInfo: This record is present only for video chat events and can contain the following fields:
      • sessionId: The unique identifier used to identify the video chat session.
      • duration: The duration of the video chat in seconds. This field is present only for the video_chat_finished system message.
      • rating: The quality of the video call as rated by the user. This field is present only for the video_chat_feedback system message.
      • feedback: The feedback from the user about the video call quality. This field is present only for the video_chat_feedback system message.
      • feedbackByUser: The user who provided the feedback. This field is present only for the video_chat_feedback system message.
    • attachment: The record containing the attachment related key fields. The field isn't available if there is no attachment.
    • transaction: The record containing the transaction related key fields. The field isn't available if there is no transaction.
  • participants: A record containing the details of the participants in the chat or broadcast. This field is available only when the message is the first message of a chat or a broadcast. Each participant is represented using the following fields:
    • name: The name of the participant (string).
    • login: The user login of the participant (string).
    • invitedBy: The user login of the user who invited this participant to chat (string). This field will be present only when another user invites a user.
    • invitedTime: The time when this participant was invited to chat (string). The time format is YYYY-MM-DD HH:MM:SS.

chatUpdated

The event occurs when:
  • A user joins or leaves a chat or broadcast
  • A chat is moved or ended
  • A broadcast is ended

The chatUpdated event contains the following fields:

  • eventType: The type of event (string) that is, chatUpdated.
  • applicationId: The ID of the application that performed the operation which generated the event. It is only present if the operation was performed by an Application.
  • time: The time of the event in UTC time standard (string). The time format is YYYY-MM-DD HH:MM:SS.
  • user: The user who triggered this event (string).
  • chat: A record containing the following chat or broadcast related key fields:
    • chatId: The identifier of the chat or broadcast (string). This is the unique ID for each chat or broadcast in the collaboration server.
    • startedBy: The user who started the chat or broadcast (string). This field will be present only for chats started by a user.
    • startedTime: Time (in UTC time standard) when the chat or broadcast was started (string). The time format is YYYY-MM-DD HH:MM:SS.
    • chatName: The name of the conference chat.
    • helpdeskName: The name of the help desk (string). The field is available only for help desk chats.
    • endedTime: Time (in UTC time standard) when the chat or broadcast was ended (string). The time format is YYYY-MM-DD HH:MM:SS. The field isn't available if the chat has not ended.
    • type: The type of broadcast (string). The values are group:broadcast, location:broadcast, and activity:broadcast. The field is available only for broadcasts.
    • expireTime: The time when the broadcast expires (string). The time format is YYYY-MM-DD HH:MM:SS. The field is available only for broadcasts. The value isn't available for broadcasts without an expiry time.
    • updateType: Indicates what is updated in the chat.
    • updateInfo: Provides additional information about what is updated in the chat.
      • movedFromHelpdesk: Indicates the name of the helpdesk from which the chat was moved.
      • moveReason : Indicates the reason for moving the chat.
      • oldName: The existing name of the conference chat.
      • newName: The updated name of the conference chat.
  • participant: A record containing the details of the participant whose fields changed. This field isn't available if no participant related data was changed. The record contains the following fields:
    • name: The name of the participant (string).
    • login: The user login of the participant (string).
    • invitedBy: The user login of the user who invited this participant to chat or broadcast (string). This field will be present only for chats started by a user.
    • invitedTime: The time when this participant was invited to chat or broadcast (string). The time format is YYYY-MM-DD HH:MM:SS.
    • leftTime: The time when this user left chat or broadcast (string). The time format is YYYY-MM-DD HH:MM:SS. The field isn't available if the participant has not left the conversation.

Note:

The 'chatUpdated' event is triggered for chats from automatic broadcasting only when the chats are automatically cleaned up by the system. The user does not have an option to leave and end the chat.

broadcastStatusUpdate

The event occurs when the broadcast status of a participant is changed.

The broadcastStatusUpdate event contains the following fields:

  • eventType: The type of event (string) that is, broadcastStatusUpdate.
  • applicationId: The ID of the application that performed the operation which generated the event. It is only present if the operation was performed by an Application.
  • user: The user who triggered this event (string).
  • time: The time of event in UTC time standard (string). The time format is YYYY-MM-DD HH:MM:SS.
  • statusChanges: A record containing an array of status update records. Each status update record is a map with the following fields:
    • login: Login of the user whose status is changed (string).
    • chatId: The unique identifier of the broadcast in the collaboration server (integer).
    • messageId: The identifier of this message for which the status is changed (long).
    • status: The status change (string). The values are UNDELIVERED, DELIVERED, READ, ACKNOWLEDGED, ACCEPTED, and REJECTED.

transactionUpdated

The event occurs whenever an operation is done on a transaction through Collaboration. A transaction through Collaboration is the transfer of an inventory or activity through chat.

The transactionUpdated event contains the following fields:

  • eventType: The type of event (string) that is, transactionUpdated.
  • time: The time of event in UTC time standard (string). The time format is YYYY-MM-DD HH:MM:SS.
  • applicationId: The name/ID of the internal or external application which performed the action that triggered this event. This field is present only when the chat is triggered from an internal or external application (string). When the message is triggered from routing, the value will be 'ROUTING'.
  • user: The user who triggered this event (string). This will be empty if a user is not triggering the event.
  • chat: A record containing the following chat or broadcast related key fields:
    • chatId: The identifier of the chat or broadcast (string). This is the unique ID for each chat or broadcast in the collaboration server.
    • startedBy: The user who started the chat or broadcast (string). This field will be present only for chats started by a user.
    • startedTime: Time (in UTC time standard) when the chat or broadcast was started (string). The time format is YYYY-MM-DD HH:MM:SS.
    • helpdeskName: The name of the help desk (string). The field is available only for help desk chats.
    • endedTime: Time (in UTC time standard) when the chat or broadcast was ended (string). The time format is YYYY-MM-DD HH:MM:SS. The field isn't available if the chat has not ended.
    • type: The type of broadcast (string). The values are group:broadcast, location:broadcast, and activity:broadcast. The field is available only for broadcasts.
    • expireTime: The time when the broadcast expires (string). The time format is YYYY-MM-DD HH:MM:SS. The field is available only for broadcasts. The value isn't available for broadcasts without an expiry time.
  • messsage: A record containing the following message related key fields:
    • messageId: The identifier of the message in the collaboration server (long).
    • sequenceNumber: The sequence number of the message in the chat or broadcast (long).
    • text: The text content of the message (string).
    • needAcknowledgement: The field indicating whether the acknowledgement option is enabled for this message (Boolean). The field is available only for broadcasts. It isn't available for messages without an acknowledgment.
    • attachment: The record containing the attachment related key fields. The field isn't available if there is no attachment.
    • transaction: The record containing the transaction related key fields. The field isn't available if there is no transaction.

The following is the structure of the attachment field in the collaboration events:

  • attachment: A record containing the following attachment related fields:
    • attachmentId: The identifier of the attachment (integer) that is used to store this attachment in the field collaboration server.
    • type: The type of the attachment (string). The values are activity, inventory, resource, image, or location.
    • desc: The description of the entity shared (string).
    • latitude: The latitude of the shared location (string). This field is available only for location sharing.
    • longitude: The longitude of the shared location (string). This field is available only for location sharing.
    • filename: The name of the image file shared (string). This field is available only for image sharing.
    • downloadUrl: The URL used to download the shared image (string). A GET request to this URL with the authentication of a user with read access to collaboration events will get the image. This field is available only for image sharing.
    • activityId: The identifier of the activity with which the shared entity is related (integer). This field is available only for inventory and activity sharing or transferring. The value is zero if the entity isn't related to any activity.
    • date: The date of the activity shared or transferred (string). This field is available only for activity sharing or transferring. The date format is YYYY-MM-DD.
    • resourceId: The external identifier of the resource (string). This field isn't available for location and image sharing. The value is an empty string if the entity isn't related to any resource.
    • resourceInternalId: The internal identifier of the resource (integer). This field isn't available for location and image sharing. The value is zero if the entity isn't related to any resource.
    • inventoryType: The type of inventory (string). This field is available only for inventory sharing or transferring.
    • status: The pool of the inventory (string). This field is available only for inventory sharing or transferring. The values are resource, customer, installed, and deinstalled.
    • inventoryId: The identifier of the inventory shared or transferred (integer). This field is available only for inventory sharing or transferring.
    • quantity: The quantity of non serialized inventory transferred (integer). This field is available only for non-serialized inventory transfer from mobility.

The following is the structure of the transaction field in the collaboration events:

  • transaction: A record containing the following transaction related fields:
    • transactionId: The identifier of the transaction (integer) that is used to store the transaction in the field collaboration server.
    • author: The user login of the user who started this transaction (string). This field will be present only for transactions started by a user.
    • startTime: The time when this transaction was started (string). The time format is YYYY-MM-DD HH:MM:SS.
    • timeoutTime: The time after which the transaction will be timed out (string). The time format is YYYY-MM-DD HH:MM:SS.
    • lastUpdatedBy: The user login of the user who last updated the transaction (string). The value is SYSTEM when the server makes an update.
    • operationStatus: The latest action that was performed on this transaction (string). The values are accepted, rejected, failed, cancelled, and transferred.
    • toAddress: The address of the user to whom this transaction is sent (string). The value is the user who accepted the activity for activity broadcasts. The value is empty if no user accepts the activity in an activity broadcast.
    • status: The status of the transaction (string). The values are started, timed out, and finished.