Classes
The following classes are available globally.
-
See moreChatEngine
is 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, NotificationCenterObserver
extension ChatEngine: MessagingAPI.Observable
-
Configuration class to modify the behaviour of the Chat UI such as forms, and
ChatMenuAction
sThis 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
-
Chat
is a singleton class of theChatProviderSDK
.It needs to be intialized with an
accountKey
before using any of the Chat APIs. TheaccountKey
can 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 = nil
Declaration
Swift
@objc(ZDKChatAPIConfiguration) public final class ChatAPIConfiguration : NSObject
-
See morePushNotificationData
can be used to gather information about Chat related push notificationsDeclaration
Swift
@objc(ZDKPushNotificationData) public final class PushNotificationData : NSObject
-
See moreZDKChatAccountProvider
gives the ability to observe account updates.Declaration
Swift
@objc(ZDKChatAccountProvider) public final class AccountProvider : NSObject
-
The
ZDKChatProvider
provides 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 moreZDKConnectionProvider
gives the ability to observe connection updates.Declaration
Swift
@objc(ZDKConnectionProvider) public final class ConnectionProvider : NSObject
-
The
See moreZDKProfileProvider
contain 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
-
ZDKChatProviders
is 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
ZDKPushNoticiationProvider
provides 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 moreZDKSettingsProvider
gives the ability to observe settings updates.Declaration
Swift
@objc(ZDKSettingsProvider) public final class SettingsProvider : NSObject
-
The
See moreZDKChatAccount
model stores information about the chat account, such as the currentaccountStatus
and the list ofDepartment
s associated with the accountDeclaration
Swift
@objc(ZDKChatAccount) public final class Account : NSObject, InitialStateProtocol, ReflectedStringConvertible
-
The
See moreZDKAgent
model has information about an agent in a chat session, such as their backendid
represented asnick
, their displayname
, theiravatar
, and if they’re currently typing.Declaration
Swift
@objc(ZDKAgent) public final class Agent : NSObject, DataConvertible, ReflectedStringConvertible
-
The
See moreZDKChatAttachment
model, 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 moreZDKChatSettings
model 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
-
ZDKChatState
is a model representation of the current chat session.Can gather information about the
See moreagents
in the session, the visitor’squeuePosition
, whatstatus
the chat is in, and the list oflogs
in the sessionDeclaration
Swift
@objc(ZDKChatState) public final class ChatState : NSObject, ReflectedStringConvertible, InitialStateProtocol
-
See moreZDKQueuePosition
is 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
, andphoneNumber
Note
email
is parsed and should be in correct email format.phoneNumber
is 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
VisitorPath
API is a way to know if visitors have performed certain events in your app.VisitorPath
events can be queued before a chat has started, and they’ll be sent when the first message is sent.Note
Theurl
field is unparsed by the backend, so it can be anyString
. If subsequenturl
s are the same, only the initialVisitorPath
update will be sent. Ifurl
parameter ofVisitorPath
is not specified, anISO8601
timestamp will be sent.Declaration
Swift
@objc(ZDKVisitorPath) public final class VisitorPath : NSObject, DataConvertible, ReflectedStringConvertible
-
See moreZDKChatInfo
contains 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 theObserveBehaviours
classDeclaration
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