Structures

The following structures are available globally.

  • Represents all info about an agent.

    See more

    Declaration

    Swift

    public struct Agent : Equatable, Sendable
  • Details about a file type allowed to be uploaded

    See more

    Declaration

    Swift

    public struct AllowedFileType
  • Represents info about an uploaded attachment.

    See more

    Declaration

    Swift

    public struct Attachment : Equatable, Sendable
  • The various options for how a channel is configured.

    See more

    Declaration

    Swift

    public struct ChannelConfiguration
  • All information about a chat thread as well as the messages for the thread.

    See more

    Declaration

    Swift

    public struct ChatThread : Identifiable, Sendable
  • Represents info about an attachment data to be uploaded.

    See more

    Declaration

    Swift

    public struct ContentDescriptor : Sendable
  • Complex type with subelements represented as a multi-root tree data structure.

    UI element, on the application side, should present nodes as a nested list and send picker nodes element’s value; if necessary.

    See more

    Declaration

    Swift

    public struct CustomFieldHierarchical
    extension CustomFieldHierarchical: Equatable
  • A single element of the nodes represented as a tree data structure.

    See more

    Declaration

    Swift

    public struct CustomFieldHierarchicalNode
    extension CustomFieldHierarchicalNode: Equatable
  • A list/selector element type. It contains list of options which are selected via dropdown picker, table or related UI element.

    See more

    Declaration

    Swift

    public struct CustomFieldSelector
    extension CustomFieldSelector: Equatable
  • A textfield element which contains simple textfield or e-mail.

    In case of e-mail, detectable with isEmail property, BE requires proper e-mail validation on the application side.

    See more

    Declaration

    Swift

    public struct CustomFieldTextField
    extension CustomFieldTextField: Equatable
  • Represents information about a customer identity to be sent on events.

    See more

    Declaration

    Swift

    public struct CustomerIdentity : Equatable, Sendable
  • A value type describing the constraints applied to file uploads.

    This model is used to determine whether attachments can be uploaded, the maximum allowed file size (in MiB, where 1 MiB = 1024×1024 bytes), and the list of permitted MIME types.

    Note

    If isAttachmentsEnabled is false, uploads should be disabled regardless of size or type.
    See more

    Declaration

    Swift

    public struct FileRestrictions

InactivityPopup

  • Represents the structured data required to display and manage an inactivity popup within a chat session.

    The InactivityPopup encapsulates all information needed to present a user-facing popup when inactivity is detected. It includes the popup’s title, message body, countdown timer, and associated action buttons for refreshing or expiring the session. This struct is typically used to prompt the user to take action before their session expires due to inactivity.

    Note

    The countdown is managed using numberOfSeconds and startedAt, allowing calculation of the remaining time.
    See more

    Declaration

    Swift

    public struct InactivityPopup : Equatable, Sendable
  • A button within an inactivity popup.

    See more

    Declaration

    Swift

    public struct InactivityPopupButton : Equatable, Sendable
  • Represents all info about a message in a chat.

    See more

    Declaration

    Swift

    public struct Message : Sendable
    extension Message: Equatable
  • All info about a payload of a message.

    See more

    Declaration

    Swift

    public struct MessagePayload : Equatable, Sendable
  • Represents outbound message which is send to an agent.

    See more

    Declaration

    Swift

    public struct OutboundMessage : Sendable
  • A list picker displays a list of items, and information about the items.

    It is a list of options, that customers can choose multiple times and are persistent in the conversation. The options/items are usually shown in overlay with richer formatting capabilities (icon, title, subtitle, sections, etc. in future) and with a bigger count than buttons or quick replies.

    See more

    Declaration

    Swift

    public struct MessageListPicker : Equatable, Sendable
  • Text message with buttons. After the customer clicks on one of the buttons, its content is sent as a reply.

    Usually, when a reply is sent, it is no more possible to click again on any button. You can have between two and five (depending on the channel) customizable choices, and the user can select only a single item.

    When a quick reply is tapped, the buttons are dismissed, and the title of the tapped button is posted to the conversation as a message.

    See more

    Declaration

    Swift

    public struct MessageQuickReplies : Equatable, Sendable
  • A reply button rich message sub element.

    See more

    Declaration

    Swift

    public struct MessageReplyButton : Hashable, Equatable, Sendable
  • It is a URL link with an image preview and a defined title.

    The customer is able to click on it to be forwarded to the particular page.

    See more

    Declaration

    Swift

    public struct MessageRichLink : Equatable, Sendable
  • A time slot picker displays a list of options, and information about the time slot.

    A model representing a time picker message, including the text shown in the conversation, the sheet title, and the available time slots. Used to configure UI that presents time slot selection to the user.

    See more

    Declaration

    Swift

    public struct MessageTimePicker : Equatable, Sendable
  • A single selectable time slot used by MessageTimePicker

    It contains an identifier, duration, and the start date/time for the slot

    See more

    Declaration

    Swift

    public struct MessageTimePickerTimeSlot : Equatable, Sendable
  • An OAuth access token and its expiry, returned by the token delegate for the implicit OAuth flow.

    Returned from the listener registered via setTokenDelegateListener(_:) so the SDK can both use the token for the connection and track when it expires to request a fresh one in time.

    See more

    Declaration

    Swift

    public struct OAuthToken : Sendable, Equatable
  • A definition of the pre-chat form which should be answered by the user before the new thread is created.

    See more

    Declaration

    Swift

    public struct PreChatSurvey
  • A pre-chat survey field element which should be presented to user before chat thread is created.

    See more

    Declaration

    Swift

    public struct PreChatSurveyCustomField
  • Represents info abount a content of a proactive action data message.

    See more

    Declaration

    Swift

    public struct ProactiveActionDataMessageContent

SatisfactionSurvey

  • Represents the structured data of a satisfaction survey received within a chat session.

    The SatisfactionSurvey encapsulates the information needed to present a survey to the customer — a text prompt inviting the customer to fill out the survey, the URL of the survey web page, and the identifier of the thread the survey belongs to. Satisfaction survey messages are not part of the regular chat transcript; they are handled separately.

    See more

    Declaration

    Swift

    public struct SatisfactionSurvey : Equatable, Sendable
  • Information about the sender of a chat message.

    See more

    Declaration

    Swift

    public struct SenderInfo
  • Represents statistics about the user.

    See more

    Declaration

    Swift

    public struct UserStatistics : Equatable, Sendable
  • A generated structure that holds information about the module version.

    See more

    Declaration

    Swift

    public struct CXoneChatSDKModule