Chat
This is a list of classes related to Chat.
-
The
SCSChat
class is the core interface to the chat SDK. This object manages the flow of chat sessions throughout the lifetime of the app. For UI-related chat functionality, seeSCSChatInterface
.To get an instance of this class, use the
SCServiceCloud.chatCore
property on+[SCServiceCloud sharedInstance]
.SCSChat
conforms to a multicast delegate model for messaging. Any class that implements theSCSChatSessionDelegate
protocol can be added to a list of delegates to receive session-related messages asynchronously using-addDelegate:
Any class that implements theSCSChatEventDelegate
protocol can be added to a list of delegates to receive general event messages asynchronously using-addEventDelegate:
See
SCSChatInterface
Declaration
Objective-C
@interface SCSChat : NSObject
Swift
class SCSChat : NSObject
-
SCSChatAvailabilityHandler block definition
Declaration
Objective-C
typedef void (^SCSChatAvailabilityHandler)(NSError *__strong, BOOL, NSTimeInterval)
Swift
typealias SCSChatAvailabilityHandler = (Error?, Bool, TimeInterval) -> Void
Parameters
error
NSError
instance describing the error. Error codes can be referenced fromSCSChatErrorCode
.available
BOOL
representing the availability of an agent to accept a chat session.estimatedWaitTime
NSTimeInterval
indicating the estimated wait time, if requested. -
SCSChatCompletionHandler block definition
Declaration
Objective-C
typedef void (^SCSChatCompletionHandler)(NSError *__strong, SCSChat *__weak)
Swift
typealias SCSChatCompletionHandler = (Error?, SCSChat?) -> Void
Parameters
error
NSError
instance describing the error. Error codes can be referenced fromSCSChatErrorCode
.scsc
The instance of
SCSChat
the block is acting on.
-
The
SCSChatInterface
class is the main UI interface to the chat SDK. This object provides functionality to show a pre-chat form, display the chat session UI, and handle notifications.To get an instance of this class, use the
SCServiceCloud.chatUI
property on+[SCServiceCloud sharedInstance]
.For core chat behavior unrelated to the UI (such as subscribing to session events), see
SCSChat
.See
SCSChat
Declaration
Objective-C
@interface SCSChatInterface : NSObject
Swift
class SCSChatInterface : NSObject
-
Indicates whether the pre-chat process has completed.
Declaration
Objective-C
typedef void (^SCSPrechatCompletion)( NSArray<SCSPrechatObject *> *_Nullable __strong, BOOL)
Swift
typealias SCSPrechatCompletion = ([SCSPrechatObject]?, Bool) -> Void
-
Information related to an agent join event.
See moreDeclaration
Objective-C
@interface SCSAgentJoinEvent : SCSChatEvent
Swift
class SCSAgentJoinEvent : SCSChatEvent
-
Information related to an agent who left conference event.
Declaration
Objective-C
@interface SCSAgentLeftConferenceEvent : SCSChatEvent
Swift
class SCSAgentLeftConferenceEvent : SCSChatEvent
-
Information related to an incoming agent text event.
See moreDeclaration
Objective-C
@interface SCSAgentTextEvent : SCSChatEvent
Swift
class SCSAgentTextEvent : SCSChatEvent
-
Class that manages the chatbot menu. Use this class to get information related to a chatbot menu (
See moreSCSChatBotMenu.title
,SCSChatBotMenu.options
,SCSChatBotMenu.type
), to subscribe to the chatbot menu delegate (-addDelegate:
), and to send chatbot selections (-makeSelectionAtIndex:
) back to the org.Declaration
Objective-C
@interface SCSChatBotMenu : NSObject
Swift
class SCSChatBotMenu : NSObject
-
The type of chatbot menu. The following types are available:
SCSChatBotWindowMenu
: A standard chatbot window menu.SCSChatBotQuickReplyMenu
: A quick reply button menu.SCSChatBotFooterMenu
: A persistent chatbot footer menu.See
SCSChatBotMenu
Declaration
Objective-C
typedef NSString *const SCSChatBotMenuType
Swift
struct SCSChatBotMenuType : _ObjectiveCBridgeable, Hashable, Equatable, _SwiftNewtypeWrapper, RawRepresentable
-
Declaration
Objective-C
@protocol SCSChatBotMenuDelegate <NSObject>
Swift
protocol SCSChatBotMenuDelegate : NSObjectProtocol
-
Information related to a chatbot menu event.
See moreDeclaration
Objective-C
@interface SCSChatBotMenuEvent : SCSChatEvent
Swift
class SCSChatBotMenuEvent : SCSChatEvent
-
A
See moreSCSChatConfiguration
object contains configuration information for a Live Agent Chat session.Declaration
Objective-C
@interface SCSChatConfiguration : NSObject <NSCopying>
Swift
class SCSChatConfiguration : NSObject, NSCopying
-
Queue information display style. This value determines how information is presented to the user while waiting for an agent.
See moreDeclaration
Objective-C
enum SCSChatConfigurationQueueStyle {}
Swift
enum SCSChatConfigurationQueueStyle : UInt
-
Description of the actor chatting in a session.
See moreDeclaration
Objective-C
@interface SCSChatActor : NSObject
Swift
class SCSChatActor : NSObject
-
Defines the type of actors involved in a chat conversation.
See moreDeclaration
Objective-C
enum SCSChatActorType {}
Swift
enum SCSChatActorType : UInt
-
Declaration
Objective-C
enum SCSChatEndReason {}
Swift
enum SCSChatEndReason : Int
-
Live Agent Chat ErrorCode definitions.
Errors fall into one of several groups (or series) of errors.
If there is an error thrown by a library dependency it will be included as metadata in the userInfo of the error which is returned to the application code.
See
-[SCSChatSessionDelegate session:didEndWithReason:]
Declaration
Objective-C
enum SCSChatErrorCode {}
Swift
enum SCSChatErrorCode : Int
-
Information related to a chat event. Other chat event classes implement this protocol.
See moreDeclaration
Objective-C
@protocol SCSChatEvent <NSObject>
Swift
protocol SCSChatEventProtocol : NSObjectProtocol
-
Information related to all events that are sent or received.
See moreDeclaration
Objective-C
@interface SCSChatEvent : NSObject <SCSChatEvent>
Swift
class SCSChatEvent : NSObject, SCSChatEventProtocol
-
Defines the type of actors associated with a chat event.
See moreDeclaration
Objective-C
enum SCSChatEventType {}
Swift
enum SCSChatEventType : UInt
-
The
SCSChatEventDelegate
protocol provides general event information about the chat session. Add your implementation to-[SCSChat addEventDelegate:]
.See
SCSChat
Declaration
Objective-C
@protocol SCSChatEventDelegate <NSObject>
Swift
protocol SCSChatEventDelegate : NSObjectProtocol
-
Information related to a menu selection event.
See moreDeclaration
Objective-C
@interface SCSChatMenuSelectionEvent : SCSChatEvent
Swift
class SCSChatMenuSelectionEvent : SCSChatEvent
-
Information about an event related to something that can be sent to an agent.
See moreDeclaration
Objective-C
@protocol SCSChatSendableEvent <SCSChatEvent>
Swift
protocol SCSChatSendableEvent : SCSChatEventProtocol
-
Information related to a chat session. Use this object to inspect the details of a chat session, and to send user messages to the agent.
See moreDeclaration
Objective-C
@protocol SCSChatSession <NSObject>
Swift
protocol SCSChatSession : NSObjectProtocol
-
The
SCSChatSessionDelegate
protocol provides state information about the chat session. Add your implementation to-[SCSChat addDelegate:]
.See
SCSChatSession
See
SCSChat
Declaration
Objective-C
@protocol SCSChatSessionDelegate <NSObject>
Swift
protocol SCSChatSessionDelegate : NSObjectProtocol
-
Information related to a chat session end event.
See moreDeclaration
Objective-C
@interface SCSChatSessionEndEvent : SCSChatEvent
Swift
class SCSChatSessionEndEvent : SCSChatEvent
-
Undocumented
See moreDeclaration
Objective-C
@protocol SCSChatSessionInfo <NSObject> // Needs doc input from Yuvi @property (nonatomic, copy, readonly) NSArray<SCSPrechatObject*> *prechatDetails; @property (nonatomic, copy, readonly) NSArray<SCSPrechatEntity*> *prechatEntities; @end
Swift
protocol SCSChatSessionInfo : NSObjectProtocol
-
Complete list of chat session states.
See moreDeclaration
Objective-C
enum SCSChatSessionState {}
Swift
enum SCSChatSessionState : UInt
-
Declaration
Objective-C
@protocol SCSFileTransferDelegate <NSObject>
Swift
protocol SCSFileTransferDelegate : NSObjectProtocol
-
Information related to a file transfer event.
See moreDeclaration
Objective-C
@interface SCSFileTransferEvent : SCSChatEvent
Swift
class SCSFileTransferEvent : SCSChatEvent
-
Information about a file transfer request.
See moreDeclaration
Objective-C
@interface SCSFileTransferRequest : NSObject
Swift
class SCSFileTransferRequest : NSObject
-
A
SCSPrechatEntity
specifies a salesforce entity related to this chat session that will be found or created on session start.This object must be added to your chat configuration using
See moreSCSChatConfiguration.prechatEntities
.Declaration
Objective-C
@interface SCSPrechatEntity : NSObject <NSCopying>
Swift
class SCSPrechatEntity : NSObject, NSCopying
-
A
SCSPrechatEntityField
specifies a field of a salesforce object and its relation to a specific pre-chat object defined on session creation.This object must be added to a pre-chat entity using
See moreSCSPrechatEntity.entityFieldsMaps
.Declaration
Objective-C
@interface SCSPrechatEntityField : NSObject
Swift
class SCSPrechatEntityField : NSObject
-
A
SCSPrechatObject
specifies a pre-chat field that you can send directly to the agent. This object contains alabel
and avalue
.This object does not prompt the user for information. To create a field that the user can fill in, refer to
SCSPrechatTextInputObject
.This object must be added to your chat configuration using
See moreSCSChatConfiguration.prechatFields
.Declaration
Objective-C
@interface SCSPrechatObject : NSObject <NSCopying>
Swift
class SCSPrechatObject : NSObject, NSCopying
-
An
SCSPrechatPickerObject
specifies a pre-chat picker field that is displayed before a chat session is initiated.Use the
SCSPrechatPickerObject.required
property to specify whether this field must have an option selected before initiating a session.To send data directly to the agent without user input, see
SCSPrechatObject
.This object must be added to your chat configuration using
See moreSCSChatConfiguration.prechatFields
.Declaration
Objective-C
@interface SCSPrechatPickerObject : SCSPrechatObject
Swift
class SCSPrechatPickerObject : SCSPrechatObject
-
An
SCSPrechatPickerOption
specifies an option inside a pre-chat picker field that is displayed before a chat session is initiated.This object must be added to the options array on an
See moreSCSPrechatPickerObject
.Declaration
Objective-C
@interface SCSPrechatPickerOption : NSObject <NSCopying>
Swift
class SCSPrechatPickerOption : NSObject, NSCopying
-
An
SCSPrechatTextInputObject
specifies a pre-chat text input field that is displayed before a chat session is initiated.Use the
SCSPrechatTextInputObject.required
property to specify whether this field must be filled in before initiating a session.To send data directly to the agent without user input, see
SCSPrechatObject
.This object must be added to your chat configuration using
See moreSCSChatConfiguration.prechatFields
.Declaration
Objective-C
@interface SCSPrechatTextInputObject : SCSPrechatObject
Swift
class SCSPrechatTextInputObject : SCSPrechatObject
-
Information related to when a URL is detected in a message.
See moreDeclaration
Objective-C
@interface SCSURLEvent : SCSChatEvent
Swift
class SCSURLEvent : SCSChatEvent
-
The types of message modifications that are possible due to sensitive data rules.
See moreDeclaration
Objective-C
enum SCSUserEventDeliveryStatus {}
Swift
enum SCSUserEventDeliveryStatus : UInt
-
Declaration
Objective-C
@interface SCSUserTextEvent : SCSChatEvent <SCSChatSendableEvent>
Swift
class SCSUserTextEvent : SCSChatEvent, SCSChatSendableEvent
-
The types of message modifications that are possible due to sensitive data rules.
See moreDeclaration
Objective-C
enum SCUserEventInfoType {}
Swift
enum SCUserEventInfoType : UInt