Classes
The following classes are available globally.
-
See moreChatEngineis the access point for the UI of the Chat SDK. It is the ChatEngine.Declaration
Swift
@objc(ZDKChatEngine) public final class ChatEngine : NSObject, Engine, Loggable, NotificationCenterObserverextension ChatEngine: MessagingAPI.Observable -
Configuration class to modify the behaviour of the Chat UI such as forms, and
ChatMenuActionsThis can be passed into the
See moreMessaging.buildUI(engines:configs:)method.Declaration
Swift
@objc(ZDKChatConfiguration) public final class ChatConfiguration : NSObject, Configuration, ReflectedStringConvertible -
Configuration object used to gather the desired requirements for a Chat form.
See moreDeclaration
Swift
@objc(ZDKChatFormConfiguration) public final class ChatFormConfiguration : NSObject, ReflectedStringConvertible -
Chatis a singleton class of theChatProviderSDK.It needs to be intialized with an
accountKeybefore using any of the Chat APIs. TheaccountKeycan be retrieved from the Zendesk Chat dashboard.
See moreChat.initialize(accountKey: accountKey)Declaration
Swift
@objc(ZDKChat) public final class Chat : NSObject, Loggable -
A set of configurations that are associated with each chat session.
Default values
See morevisitorPathOne = nil // "Direct Path" visitorPathTwo = "Zendesk Chat SDK v\(VersionNumber)" visitorPathTwoValue = nil tags = [] department = nil visitorInfo = nilDeclaration
Swift
@objc(ZDKChatAPIConfiguration) public final class ChatAPIConfiguration : NSObject -
See morePushNotificationDatacan be used to gather information about Chat related push notificationsDeclaration
Swift
@objc(ZDKPushNotificationData) public final class PushNotificationData : NSObject -
See moreZDKChatAccountProvidergives the ability to observe account updates.Declaration
Swift
@objc(ZDKChatAccountProvider) public final class AccountProvider : NSObject -
The
ZDKChatProviderprovides APIs to interact and observe the current Chat session.It provides APIs to:
- proactively request a chat
- send messages
- handle failed messages (retry/delete)
- set the visitors’ typing indicator
- end the chat
Declaration
Swift
@objc(ZDKChatProvider) public final class ChatProvider : NSObject, Loggable -
See moreZDKConnectionProvidergives the ability to observe connection updates.Declaration
Swift
@objc(ZDKConnectionProvider) public final class ConnectionProvider : NSObject -
The
See moreZDKProfileProvidercontain APIs to update information about a visitor. Such as name, email, phone number, tags, and notes related to the visitor and their session.Declaration
Swift
@objc(ZDKProfileProvider) public final class ProfileProvider : NSObject -
ZDKChatProvidersis a grouping of all the providers that allow you to, setup for push notifications, handle session updates, handle connection state, and interact with the APIs in other ways.Declaration
Swift
@objc(ZDKChatProviders) public final class Providers : NSObject -
The
ZDKPushNoticiationProviderprovides APIs to subscribe to, and handle Zendesk Chat’s Push Notifications.There are two types of chat notifications:
chat.msg- received when a new chat message was sent from an agentchat.end- received when the current chat session ends.
Declaration
Swift
@objc(ZDKPushNotificationsProvider) public final class PushNotificationsProvider : NSObject, HasStorage, Loggable, Publisher -
See moreZDKSettingsProvidergives the ability to observe settings updates.Declaration
Swift
@objc(ZDKSettingsProvider) public final class SettingsProvider : NSObject -
The
See moreZDKChatAccountmodel stores information about the chat account, such as the currentaccountStatusand the list ofDepartments associated with the accountDeclaration
Swift
@objc(ZDKChatAccount) public final class Account : NSObject, InitialStateProtocol, ReflectedStringConvertible -
The
See moreZDKAgentmodel has information about an agent in a chat session, such as their backendidrepresented asnick, their displayname, theiravatar, and if they’re currently typing.Declaration
Swift
@objc(ZDKAgent) public final class Agent : NSObject, DataConvertible, ReflectedStringConvertible -
The
See moreZDKChatAttachmentmodel, contains information about attachments that were sent or received by the visitor.Declaration
Swift
@objc(ZDKChatAttachment) public final class ChatAttachment : NSObject, DataConvertible, ReflectedStringConvertible -
The
See moreZDKChatSettingsmodel stores information about the chat account’s settings, such as thefileSizeLimit, whether attachments are enabled, and the list of accepted file extensions.Declaration
Swift
@objc(ZDKChatSettings) public final class ChatSettings : NSObject, DataConvertible, ReflectedStringConvertible, InitialStateProtocol -
ZDKChatStateis a model representation of the current chat session.Can gather information about the
See moreagentsin the session, the visitor’squeuePosition, whatstatusthe chat is in, and the list oflogsin the sessionDeclaration
Swift
@objc(ZDKChatState) public final class ChatState : NSObject, ReflectedStringConvertible, InitialStateProtocol
-
See moreZDKQueuePositionis a model that represents the current queue position of the visitor.Declaration
Swift
@objc(ZDKQueuePosition) public final class QueuePosition : NSObject -
Department model contains id associated with the department, the department name, and the current status of the department.
See moreDeclaration
Swift
@objc(ZDKDepartment) public final class Department : NSObject, DataConvertible, ReflectedStringConvertible -
Offline form is formed from the given fields: visitor info - name, email, phone department - department id message - visitor’s message
See moreDeclaration
Swift
@objc(ZDKOfflineForm) public final class OfflineForm : NSObject, ChatForm, PathValueProtocol -
Declaration
Swift
@objc(ZDKChatLog) public class ChatLog : NSObject, ChatLogProtocol, ReflectedStringConvertible -
Visitor information that can be seen in the Chat dashboard Contains
name,email, andphoneNumberSee moreNote
emailis parsed and should be in correct email format.phoneNumberis not parsed.Declaration
Swift
@objc(ZDKVisitorInfo) public final class VisitorInfo : NSObject, InitialStateProtocol, DataConvertible, ReflectedStringConvertible -
A Custom Update Event that can be seen in the agent dashboard.
The
VisitorPathAPI is a way to know if visitors have performed certain events in your app.VisitorPathevents can be queued before a chat has started, and they’ll be sent when the first message is sent.See moreNote
Theurlfield is unparsed by the backend, so it can be anyString. If subsequenturls are the same, only the initialVisitorPathupdate will be sent. Ifurlparameter ofVisitorPathis not specified, anISO8601timestamp will be sent.Declaration
Swift
@objc(ZDKVisitorPath) public final class VisitorPath : NSObject, DataConvertible, ReflectedStringConvertible -
See moreZDKChatInfocontains information about the chat session, such as if there is a chat ongoing.Declaration
Swift
@objc(ZDKChatInfo) public final class ChatInfo : NSObject, DataConvertible, ReflectedStringConvertible
-
Singleton access point for logging, inject a LoggerFactory to specify the Logger.
See moreDeclaration
Swift
@objc(ZDKChatLogger) public final class Logger : NSObject -
A convenience wrapper for the
See moreObservationToken, that can be used alongside theObserveBehavioursclassDeclaration
Swift
public final class ObserveBehaviour : Equatable, Hashable -
A convenience wrapper for a collection of
See moreObserveBehaviours.Declaration
Swift
public final class ObserveBehaviours -
Unsubscribe from observers
See moreDeclaration
Swift
@objc(ZDKObservationToken) public final class ObservationToken : NSObject, Identifiable
Install in Dash
Classes Reference