customer-android-kotlin

//core/com.kustomer.core.models.chat

Package com.kustomer.core.models.chat

[androidJvm]
This package contains all Chat model classes for Kustomer

Types

Name Summary
AttachmentPreview [androidJvm]
data class AttachmentPreview(val direction: KusChatMessageDirection) : KusConversationPreview
KusActionValueType [androidJvm]
@JsonClass(generateAdapter = false)
enum KusActionValueType : Enum<KusActionValueType>
KusActiveAssistant [androidJvm]
sealed class KusActiveAssistant
Represents active assistant options available in the SDK.
KusAnswerBlockMessageTemplate [androidJvm]
@JsonClass(generateAdapter = true)
data class KusAnswerBlockMessageTemplate(val body: String, val actions: List<KusMessageAction>, val followupText: String) : KusMessageTemplate, KusArticleMessage
KusArticleMessage [androidJvm]
interface KusArticleMessage
KusAssistant [androidJvm]
@JsonClass(generateAdapter = true)
data class KusAssistant(var id: String = "", var rawJson: String? = null, val name: String?, val publicName: String?, val avatarUrl: String?, var dialog: String = "", var node: String = "", var messages: List<KusChatMessage> = emptyList())
KusAssistantInitialMessage [androidJvm]
@JsonClass(generateAdapter = true)
data class KusAssistantInitialMessage(val meta: KusAssistantInitTemplate, val direction: KusChatMessageDirection, val directionType: String?, val importedAt: Long?, val lang: String?, val trackingId: String?)
KusAssistantInitNetworkPostBody [androidJvm]
@JsonClass(generateAdapter = true)
data class KusAssistantInitNetworkPostBody(val assistant: String, val dialog: String? = null)
KusAssistantInitTemplate [androidJvm]
@JsonClass(generateAdapter = true)
data class KusAssistantInitTemplate(val template: KusAssistantInitTemplateType)
KusAssistantInitTemplateType [androidJvm]
@JsonClass(generateAdapter = true)
data class KusAssistantInitTemplateType(val id: String?, val templateType: String?, val body: String?, val actions: Any?)
KusAssistantMessageNetworkPostBody [androidJvm]
@JsonClass(generateAdapter = true)
data class KusAssistantMessageNetworkPostBody(val assistant: String? = null, val dialog: String? = null, val node: String? = null, val initialMessages: List<Any>? = null, val session: String, val body: String, val lastDeflection: KusKbLastDeflectionData? = null, val payload: String? = null, val attachments: List<String>? = null)
KusChannel [androidJvm]
@JsonClass(generateAdapter = true)
data class KusChannel(val name: String, val type: String, val status: KusChannelStatus)
KusChannelDetails [androidJvm]
@JsonClass(generateAdapter = true)
data class KusChannelDetails(val channelGroup: String, val channels: List<KusChannel>)
KusChannelInfo [androidJvm]
@JsonClass(generateAdapter = true)
data class KusChannelInfo(val data: KusChannelDetails)
KusChannelStatus [androidJvm]
@JsonClass(generateAdapter = false)
enum KusChannelStatus : Enum<KusChannelStatus>
KusChannelType [androidJvm]
@JsonClass(generateAdapter = false)
enum KusChannelType : Enum<KusChannelType>
KusChatAttachment [androidJvm]
@JsonClass(generateAdapter = true)
data class KusChatAttachment(var id: String = "", var rawJson: String? = null, var name: String, val createdAt: Long, val updatedAt: Long, val contentType: String, val contentLength: Long, var link: String? = "")
KusChatAttachmentMeta [androidJvm]
@JsonClass(generateAdapter = true)
data class KusChatAttachmentMeta(val meta: KusChatAttachmentMetaFields)
KusChatAttachmentMetaFields [androidJvm]
@JsonClass(generateAdapter = true)
data class KusChatAttachmentMetaFields(val provider: String, val upload: KusChatAttachmentMetaUploadFields)
KusChatAttachmentMetaUploadFields [androidJvm]
@JsonClass(generateAdapter = true)
data class KusChatAttachmentMetaUploadFields(val url: String, val fields: Map<String, String>)
KusChatAttachmentNetworkPostBody [androidJvm]
@JsonClass(generateAdapter = true)
data class KusChatAttachmentNetworkPostBody(val name: String, val contentLength: Int, val contentType: String)
KusChatMessage [androidJvm]
@JsonClass(generateAdapter = true)
data class KusChatMessage(var id: String = "", val trackingId: String? = null, val body: String?, val direction: KusChatMessageDirection, val directionType: String?, val createdAt: Long = 0, val truncated: Boolean? = false, val importedAt: Long? = 0, var conversationId: String = "", var sentById: String? = null, var sentByUser: KusUser? = null, val campaignId: String? = "", var attachmentIds: List<String>? = null, var attachments: List<KusChatAttachment>? = null, var rawJson: Any? = null, var pubnubTimetoken: Long? = 0, var template: KusMessageTemplate?, val lang: String?)
KusChatMessageDirection [androidJvm]
@JsonClass(generateAdapter = false)
enum KusChatMessageDirection : Enum<KusChatMessageDirection>
KusChatMessageNetworkPostBody [androidJvm]
@JsonClass(generateAdapter = true)
data class KusChatMessageNetworkPostBody(val session: String, val body: String?, val payload: String?, val lastDeflection: KusKbLastDeflectionData? = null, val attachments: List<String>? = null, val initialMessages: List<KusInitialAgentMessage>?)
KusConversation [androidJvm]
@JsonClass(generateAdapter = true)
data class KusConversation(var id: String = "", var preview: KusConversationPreview? = null, val trackingId: String?, val responders: List<String>? = null, var lastMessageAt: Long? = 0, val createdAt: Long? = 0, var lockedAt: Long?, var lockedByCustomer: Boolean? = null, var lockReason: String? = null, val satisfaction: KusConversationCsat?, var unreadMessageCount: Int = 0, var users: Set<KusUser>? = null, @Json(name = "pubnub")val channelInfo: KusChannelInfo, var rawJson: String? = null, val isInAssistantMode: Boolean = false, @Json(name = "deleted")var isDeleted: Boolean? = false, @Json(name = "brand")var brandId: String?, var mergedTo: String? = null)
KusConversationCount [androidJvm]
@JsonClass(generateAdapter = true)
data class KusConversationCount(val all: Double?, val done: Double?, val open: Double?, val snoozed: Double?)
KusConversationCreateNetworkPostBody [androidJvm]
@JsonClass(generateAdapter = true)
data class KusConversationCreateNetworkPostBody(val title: String, val assistant: String? = null, val brand: String? = null, val custom: Map<String, Any>? = null)
KusConversationCsat [androidJvm]
@JsonClass(generateAdapter = true)
data class KusConversationCsat(val id: String?, val status: KusCsatStatus?, val submittedAt: Long? = 0)
KusConversationDescribeNetworkPostBody [androidJvm]
@JsonClass(generateAdapter = true)
data class KusConversationDescribeNetworkPostBody(val custom: Map<String, Any>)
KusConversationEndNetworkPostBody [androidJvm]
@JsonClass(generateAdapter = true)
data class KusConversationEndNetworkPostBody(val locked: Boolean = true, val lockReason: String)
KusConversationLockReason [androidJvm]
@JsonClass(generateAdapter = false)
enum KusConversationLockReason : Enum<KusConversationLockReason>
KusConversationPreview [androidJvm]
sealed class KusConversationPreview
KusCreatedBy [androidJvm]
@JsonClass(generateAdapter = true)
data class KusCreatedBy(val type: String? = "user", val data: String?)
KusCsatAnswer [androidJvm]
@JsonClass(generateAdapter = true)
data class KusCsatAnswer(val id: String, val prompt: String, val answer: String? = null, val answerRaw: String? = null, val selections: List<String>? = null, val selectionsRaw: List<String>? = null) : Parcelable
KusCsatCheckboxTemplate [androidJvm]
@JsonClass(generateAdapter = true)
data class KusCsatCheckboxTemplate(val id: String, val prompt: String, val isRequired: Boolean, val type: String?, val enumeration: List<String>, val enumerationRaw: List<String>?) : KusCsatQuestionTemplate, Parcelable
KusCsatForm [androidJvm]
@JsonClass(generateAdapter = true)
data class KusCsatForm(var id: String? = null, var rawJson: Any? = null, val name: String, val enabled: Boolean, val scale: KusCsatScale, val introduction: String, val ratingPrompt: String, val questions: List<KusCsatQuestionTemplate>?) : Parcelable
KusCsatQuestion [androidJvm]
@JsonClass(generateAdapter = true)
data class KusCsatQuestion(val id: String, val type: String, val prompt: String) : Parcelable
KusCsatQuestionTemplate [androidJvm]
sealed class KusCsatQuestionTemplate : Parcelable
KusCsatQuestionTemplateType [androidJvm]
@JsonClass(generateAdapter = false)
enum KusCsatQuestionTemplateType : Enum<KusCsatQuestionTemplateType>
KusCsatRadioTemplate [androidJvm]
@JsonClass(generateAdapter = true)
data class KusCsatRadioTemplate(val id: String, val prompt: String, val isRequired: Boolean, val type: String?, val enumeration: List<String>, val enumerationRaw: List<String>?) : KusCsatQuestionTemplate, Parcelable
KusCsatResponse [androidJvm]
@JsonClass(generateAdapter = true)
data class KusCsatResponse(var status: KusCsatStatus? = null, val answers: List<KusCsatAnswer>? = null, var rating: Int? = null, val lockedAt: Long? = 0, val scheduledFor: Long? = 0) : Parcelable
KusCsatScale [androidJvm]
@JsonClass(generateAdapter = true)
data class KusCsatScale(val labelHigh: String, val labelLow: String, val type: KusSatisfactionScaleType, val options: Int) : Parcelable
KusCsatStatus [androidJvm]
@JsonClass(generateAdapter = false)
enum KusCsatStatus : Enum<KusCsatStatus>
KusCsatTextTemplate [androidJvm]
@JsonClass(generateAdapter = true)
data class KusCsatTextTemplate(val id: String, val prompt: String, val isRequired: Boolean, val type: String?) : KusCsatQuestionTemplate, Parcelable
KusCurrentCustomer [androidJvm]
@JsonClass(generateAdapter = true)
data class KusCurrentCustomer(var id: String? = null, var rawJson: Any? = null, val activityAt: Long? = null, val createdAt: Long? = null, var lastMessageAt: Long? = null, var lastMessageSeenAt: Long? = null, var lastMessageSentAt: Long? = null, var lastOutboundMsgSentAt: Long? = null, val lastSeenAt: Long? = null, val signedUpAt: Long? = null, val avgSatisfactionRating: Double? = null, val avgSatisfactionScore: Double? = null, val conversationCount: KusConversationCount? = null, val name: String? = null, val email: String? = null, val phone: String? = null, val sentiment: String? = null, var createdBy: String? = null, var lastMessageUnrespondedTo: String? = null, var customAttributes: MutableList<KusCustomAttribute>? = mutableListOf(), val company: String? = null)
KusCustomAttribute [androidJvm]
data class KusCustomAttribute(val name: String?, val type: KusCustomAttributeType, val value: Any?)
KusCustomAttributeType [androidJvm]
enum KusCustomAttributeType : Enum<KusCustomAttributeType>
KusCustomerDescribeAttributes [androidJvm]
@JsonClass(generateAdapter = true)
data class KusCustomerDescribeAttributes(val emails: List<KusEmail>? = null, val sharedEmails: List<KusEmail>? = null, val phones: List<KusPhone>? = null, val sharedPhones: List<KusPhone>? = null, val socials: List<KusSocial>? = null, val sharedSocials: List<KusSocial>? = null, var custom: Map<String, Any>? = null)
KusEmail [androidJvm]
@JsonClass(generateAdapter = true)
data class KusEmail(val email: String)
KusInitialAgentMessage [androidJvm]
@JsonClass(generateAdapter = true)
data class KusInitialAgentMessage(val meta: KusInitialMessageMeta, val direction: String = "out")
KusInitialMessageMeta [androidJvm]
@JsonClass(generateAdapter = true)
data class KusInitialMessageMeta(val template: KusInitialMessageTemplate)
KusInitialMessageTemplate [androidJvm]
@JsonClass(generateAdapter = true)
data class KusInitialMessageTemplate(val body: String)
KusKbDeflectMessageTemplate [androidJvm]
@JsonClass(generateAdapter = true)
data class KusKbDeflectMessageTemplate(val body: String, val actions: List<KusMessageAction>, val followupText: String) : KusMessageTemplate, KusArticleMessage
KusKbLastDeflectionArticleVisitedData [androidJvm]
@JsonClass(generateAdapter = true)
data class KusKbLastDeflectionArticleVisitedData(val visited: Int, val id: String, val version: String, val lang: String, val title: String, val url: String)
KusKbLastDeflectionData [androidJvm]
@JsonClass(generateAdapter = true)
data class KusKbLastDeflectionData(val articles: List<KusKbLastDeflectionArticleVisitedData>)
KusKObjectAction [androidJvm]
@JsonClass(generateAdapter = true)
data class KusKObjectAction(val titleText: String, val detailsText: String?, val imageUrl: String?, val value: String, val valueType: String = "kobject")
KusLastMessage [androidJvm]
@JsonClass(generateAdapter = true)
data class KusLastMessage(val type: String? = "message", val data: String?)
KusListMessageTemplate [androidJvm]
@JsonClass(generateAdapter = true)
data class KusListMessageTemplate(val body: String, val actions: List<KusKObjectAction>) : KusMessageTemplate
KusMessageAction [androidJvm]
@JsonClass(generateAdapter = true)
data class KusMessageAction(val displayText: String, val value: String, val valueType: KusActionValueType = KusActionValueType.TEXT)
KusMessagePage [androidJvm]
@JsonClass(generateAdapter = true)
data class KusMessagePage(val data: List<Any>?)
KusMessageTemplate [androidJvm]
sealed class KusMessageTemplate
KusMessageTemplateMeta [androidJvm]
@JsonClass(generateAdapter = true)
data class KusMessageTemplateMeta(val template: KusMessageTemplate)
KusMessageTemplateMetaData [androidJvm]
@JsonClass(generateAdapter = true)
data class KusMessageTemplateMetaData(val isAiResponse: Boolean? = null, val lockInput: Boolean? = null)
KusMessageTemplateType [androidJvm]
@JsonClass(generateAdapter = false)
enum KusMessageTemplateType : Enum<KusMessageTemplateType>
KusMLLChild [androidJvm]
@JsonClass(generateAdapter = true)
data class KusMLLChild(val id: String = "", val displayName: String = "", val children: List<KusMLLChild>?) : Parcelable
KusMLLMessageTemplate [androidJvm]
@JsonClass(generateAdapter = true)
data class KusMLLMessageTemplate(val body: String, val actions: KusMLLTree) : KusMessageTemplate
KusMllSelection [androidJvm]
@JsonClass(generateAdapter = true)
data class KusMllSelection(val fullPath: String = "", val displayName: String = "") : Parcelable
KusMLLTree [androidJvm]
@JsonClass(generateAdapter = true)
data class KusMLLTree(val tree: KusMLLChild)
KusPhone [androidJvm]
@JsonClass(generateAdapter = true)
data class KusPhone(val phone: String)
KusQuickReplyMessageTemplate [androidJvm]
@JsonClass(generateAdapter = true)
data class KusQuickReplyMessageTemplate(val body: String, val actions: List<KusMessageAction>) : KusMessageTemplate
KusReadReceipt [androidJvm]
@JsonClass(generateAdapter = true)
data class KusReadReceipt(val eventType: String = READ)
KusSatisfaction [androidJvm]
@JsonClass(generateAdapter = true)
data class KusSatisfaction(val id: String, var rawJson: Any? = null, var timetoken: Long = 0, val response: KusCsatResponse? = null, val form: KusCsatForm? = null, var conversationId: String? = null, var lockedAt: Long? = 0) : Parcelable
KusSatisfactionNetworkPostBody [androidJvm]
@JsonClass(generateAdapter = true)
data class KusSatisfactionNetworkPostBody(val answers: List<KusCsatAnswer>? = null, var rating: Int? = null, val submittedAt: Long? = null, var read: Boolean? = null) : Parcelable
KusSatisfactionReadPostBody [androidJvm]
@JsonClass(generateAdapter = true)
data class KusSatisfactionReadPostBody(var read: Boolean = true) : Parcelable
KusSatisfactionScaleType [androidJvm]
@JsonClass(generateAdapter = false)
enum KusSatisfactionScaleType : Enum<KusSatisfactionScaleType>
KusSessionStats [androidJvm]
@JsonClass(generateAdapter = true)
data class KusSessionStats(var id: String = "", var rawJson: String? = null, val totalUnreadCount: Int? = null, val sessionsWithUnreads: Map<String, Int>? = null)
KusSocial [androidJvm]
@JsonClass(generateAdapter = true)
data class KusSocial(val username: String, val type: KusSocialType)
KusSocialType [androidJvm]
@JsonClass(generateAdapter = false)
enum KusSocialType : Enum<KusSocialType>
KusTextMessageTemplate [androidJvm]
@JsonClass(generateAdapter = true)
data class KusTextMessageTemplate(val body: String) : KusMessageTemplate
KusTypingIndicator [androidJvm]
@JsonClass(generateAdapter = true)
data class KusTypingIndicator(val conversationId: String, val userId: String, val user: KusUser? = null, val status: KusTypingStatus = KusTypingStatus.TYPING_UNKNOWN)
KusTypingStatus [androidJvm]
@JsonClass(generateAdapter = false)
enum KusTypingStatus : Enum<KusTypingStatus>
KusUploadAttachment [androidJvm]
@JsonClass(generateAdapter = true)
data class KusUploadAttachment(val name: String, val contentType: String, val contentLength: Int, val fileBytes: ByteArray, val localFileUri: String?)
KusUser [androidJvm]
@JsonClass(generateAdapter = true)
data class KusUser(var id: String? = null, var rawJson: Any? = null, val displayName: String? = null, val avatarUrl: String? = null)
TextPreview [androidJvm]
data class TextPreview(val text: String) : KusConversationPreview