Types

Link copied to clipboard
@JsonClass(generateAdapter = true)
class AcknowledgeDeliveryPayload(val id: String, val acknowledgedConversationEntryIdentifier: String, val acknowledgementTimestamp: Long) : EntryPayload

Confirms that a message was delivered to the recipient.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class AcknowledgeReadPayload(val id: String, val acknowledgedConversationEntryIdentifier: String, val acknowledgementTimestamp: Long) : EntryPayload

Confirms that a message was read by the recipient.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class CloseConversationPayload(val id: String, @Json(name = "conversationIdentifier") val conversationId: UUID) : EntryPayload

Indicates that the conversation has been closed.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class ConversationUpdatedPayload(val id: String, val updates: List<ConversationUpdateOperation>, val updatedBy: CoreParticipant) : EntryPayload

Indicates that conversation metadata was modified, such as a subject or custom field change.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class MessagePayload(val id: String, val abstractMessage: Message, val messageReason: MessageReason? = null, val identifier: String = id, val wasRevised: Boolean? = null) : Message, EntryPayload

A message sent by a participant in the conversation.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class MessageUpdatedPayload(val id: String, val updatedMessage: Message) : EntryPayload

An update to a previously sent message, such as attachment upload completion or failure.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class ModalityConnectionPayload(val id: String, val modalityConnection: ModalityConnection) : EntryPayload

Indicates a change in the connection state of a communication modality such as voice or video. The modality connection details (e.g., voice session credentials) required to join the call are available via modalityConnection.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class ParticipantChangedPayload(val id: String, var entries: List<ParticipantChangedEntry>, val activeModalities: List<Modality>? = null) : EntryPayload

Indicates that participants in the conversation have joined, left, or changed roles.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class ProgressIndicatorPayload(val id: String, val progressIndicator: ProgressIndicator) : EntryPayload

Signals that a long-running operation is in progress, such as a bot processing a request.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class QueuePositionPayload(val id: String, val pendingServiceRoutingId: String, val workItemId: String, val position: Int) : EntryPayload

Reports the end user's current position in the agent queue while waiting for routing.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class RoutingResultPayload(val id: String, val recordId: String? = null, val failureType: RoutingFailureType, val routingType: RoutingType, val failureReason: String? = null, val estimatedWaitTime: EstimatedWaitTime? = null) : EntryPayload

The outcome of a routing operation, indicating whether an agent was assigned or routing failed.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class RoutingWorkResultPayload(val id: String, val workType: RoutingWorkType) : EntryPayload

The result of a routing work item, indicating the type of work being routed.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class SessionContextPayload(val id: String, val sessionContext: SessionContext) : EntryPayload

Carries custom context data associated with the session, such as pre-chat fields or hidden variables.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class SessionStatusChangedPayload(val id: String, val sessionId: String, val channelAddressIdentifier: String, @Json(name = "conversationIdentifier") val conversationId: UUID, val sessionStatus: SessionStatus, val sessionStartTime: Long, val sessionStatusPrev: SessionStatus? = null, val sessionEndTime: Long? = null, val sessionEndedByRole: String? = null) : EntryPayload

Indicates a transition in the messaging session lifecycle, such as becoming active or ending.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class StreamingTokenPayload(val id: String, val streamingToken: StreamingToken, val relatedStreamingTokens: List<StreamingToken>? = null) : EntryPayload

A token representing an incremental chunk of a streamed message being composed in real time.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class TypingIndicatorPayload(val id: String, val startedTimestamp: Long) : EntryPayload

Indicates that a participant is currently typing.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class TypingStartedIndicatorPayload(val id: String, val timestamp: Long) : EntryPayload

Indicates that a participant has started typing.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class TypingStoppedIndicatorPayload(val id: String, val timestamp: Long) : EntryPayload

Indicates that a participant has stopped typing.

Link copied to clipboard
@JsonClass(generateAdapter = true)
class UnknownEntryPayload(val id: String) : EntryPayload

A fallback payload for entry types not recognized by this version of the SDK.

Properties

Link copied to clipboard

The type discriminator indicating which kind of payload this entry contains.

Link copied to clipboard
abstract val id: String

The unique identifier for this conversation entry.