Enumerations

The following enumerations are available globally.

  • Authentication type for chat connection.

    Defines the authentication method used when establishing a connection to CXone services.

    See more

    Declaration

    Swift

    public enum AuthenticationType : String, Codable, Sendable
  • The party currently responsible for handling a contact.

    A contact starts out held by whichever party the channel is configured to engage first. While an automated bot holds it, the customer is not queued for a human agent - there is no position in queue to report. Once the bot hands the conversation over, the handler becomes cxone and the regular routing rules apply again.

    The platform only reports a handler on channels where the capability is enabled, which is why contactHandler is optional.

    See more

    Declaration

    Swift

    public enum ContactHandler : String, Equatable, Sendable
  • The different types of elements that can be present in the content of a dynamic pre-chat survey.

    Each type represents different UI element which is necessary to implement in the integration application. Also, each element contains attribute isRequired which determines if it is necessary pass filled values with method set(_:for:).

    Warning

    If ChannelConfiguration contains some pre-chat survey elements and application did not pass then with method set(_:for:) SDK throws an missingPreChatCustomFields.
    See more

    Declaration

    Swift

    public enum CustomFieldType : Equatable
  • The different types of elements of message content.

    See more

    Declaration

    Swift

    public enum MessageContentType : Equatable, Sendable
  • The direction that the message is being sent in regards to an agent.

    See more

    Declaration

    Swift

    public enum MessageDirection : Sendable
  • Representation of the delivery and read status of a chat message

    This enum is designed for categorizing the status of chat messages, providing information about whether a message has been sent, delivered, or seen by the recipient. It is valuable for tracking and displaying the communication status in messaging and chat applications.

    See more

    Declaration

    Swift

    public enum MessageStatus : Comparable, Sendable
  • The different types of elements that can be present in the content of a rich message.

    See more

    Declaration

    Swift

    public enum MessageSubElementType : Equatable, Sendable
  • Represents the types of proactive actions that can be triggered.

    Use this enum to specify which proactive action should be performed, such as refreshing or expiring a session in response to an inactivity popup.

    See more

    Declaration

    Swift

    public enum ProactiveActionTriggerType : Equatable, Sendable
  • Represents the types of proactive actions that can be triggered.

    Use this enum to specify which proactive action should be performed, such as displaying a custom popup or handling inactivity events.

    See more

    Declaration

    Swift

    public enum ProactiveActionType : Sendable
  • The different types of errors that may be experienced.

    See more

    Declaration

    Swift

    public enum CXoneChatError : LocalizedError, Equatable
  • All events that can be emitted by the CXoneChat SDK.

    Subscribe via events() and switch over the cases your app cares about. Each case documents when it fires and what the consumer is typically expected to do.

    See more

    Declaration

    Swift

    public enum ChatEvent : Sendable
  • Enum representing different modes for chat functionality.

    This enum defines various modes for chat operations, allowing customization based on specific use cases.

    Mode Description
    singlethread Indicates a single-threaded chat mode.
    multithread Indicates a multi-threaded chat mode.
    liveChat Indicates a live chat mode.
    See more

    Declaration

    Swift

    public enum ChatMode : Sendable
  • State of the chat

    Here is a table of states with their basic description. Those states are internally handled by the SDK based on its usage.

    State Description
    initial Initial state of the SDK
    preparing The SDK is preparing for usage
    prepared The SDK has been prepared for basic usage = unable to use chat features!.
    offline Channel currently unavailable (only for live chat channel configuration).
    connecting Socket connection is establishing for chat usage
    connected Socket connection has been established
    ready Chat is ready to use based on it’s configuration status
    closed An agent or customer has closed the thread
    See more

    Declaration

    Swift

    public enum ChatState : Comparable, Sendable
  • Enum representing the possible states of a chat thread.

    State Description
    pending Thread has been created locally.
    received Thread has been received from the server (not yet loaded).
    loaded Thread has been loaded (not yet recovered).
    ready Thread has been prepared to use (loaded metadata and recovered all messages).
    closed Thread has been archived or closed.

    Each case corresponds to a specific state of the chat thread, providing clarity on its current status.

    See more

    Declaration

    Swift

    public enum ChatThreadState : Comparable, Sendable
  • describes the details of data attached to a ContentDescriptor

    See more

    Declaration

    Swift

    public enum ContentDescriptorSource : Sendable
    extension ContentDescriptorSource: CustomStringConvertible
  • The environment used for CXone.

    See more

    Declaration

    Swift

    public enum Environment : String, CaseIterable, EnvironmentDetails, Codable
  • The reason the SDK is requesting a fresh connection token from the integrator.

    Passed to the listener registered via setTokenDelegateListener(_:) so integrators can log or branch on the context (e.g. silent refresh vs. full re-login). Implementations are free to ignore the reason and always perform the same token-fetch action.

    See more

    Declaration

    Swift

    public enum TokenRequestReason : Sendable, Equatable