SessionStatusChangedPayload

@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.

Samples

val payload = entry.payload as? EntryPayload.SessionStatusChangedPayload ?: return
when (payload.sessionStatus) {
    SessionStatus.Active -> showActiveSession()
    SessionStatus.Ended -> showSessionEnded(payload.sessionEndTime)
    SessionStatus.Waiting -> showWaitingForAgent()
    else -> { }
}

Constructors

Link copied to clipboard
constructor(id: String, sessionId: String, channelAddressIdentifier: String, @Json(name = "conversationIdentifier") conversationId: UUID, sessionStatus: SessionStatus, sessionStartTime: Long, sessionStatusPrev: SessionStatus? = null, sessionEndTime: Long? = null, sessionEndedByRole: String? = null)

Properties

Link copied to clipboard
Link copied to clipboard

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

Link copied to clipboard
open override val id: String

The unique identifier for this conversation entry.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard