Classes

The following classes are available globally.

  • @interface Vivocha : NSObject

    This is the main class and main entry point of the Vivocha SDK. It lives as a singleton for the entire lifetime of the application.

    To start Vivocha, use the startWithAccountID:andServID: or its variant, startAutomatic:withAccountID:andServID:, with the explicit automatic parameter.

    See more
  • @interface VivochaAgent : NSObject

    The VivochaAgent object describes the Agent that accepted the contact.

    See more
  • @interface VivochaAttachment : VivochaChatObject

    This class represent an attachment sent to/received from the Agent during a contact.

    See more
  • @interface VivochaCapabilities : NSObject

    This class defines what features the current device supports, defined by the current Vivocha configuration and built-in sensors. It is a container of VivochaCapabilitiesValue objects.

    See more
  • @interface VivochaCapabilitiesKeyPair : NSObject

    Represents a Capability key pair (key as NSString, value as BOOL)

    See more
  • @interface VivochaCapabilitiesValue : NSObject

    Represents a Capability value

    See more
  • @interface VivochaChatAck : NSObject <NSCoding>

    Represents an ack for a Vivocha message during a chat contact

    See more
  • @interface VivochaChatObject : NSObject <NSCoding>

    Vivocha base object for chat contacts. VivochaMessage and VivochaChatPresence are subclasses of this one.

    See more
  • @interface VivochaChatPresence : VivochaChatObject

    This object represents the join/leave of an Agent during a contact.

    See more
  • @interface VivochaContact : VivochaContactInfo

    This object represent the actual contact.

    See more
  • @interface VivochaContactTranscript : NSObject

    The object represents the transcript for a contact.

    See more
  • @interface VivochaConversation : NSObject

    The object represents a conversation. It contains information about the current contact, if available, and the previous contacts included in the same conversation.

    See more
  • @interface VivochaCustomAction : NSObject

    Represents a custom action that can be implemented by the developer to send/receive events from custom apps in the Agent Desktop.

    Usage example:

     //Send a custom action
     VivochaCustomAction *userLoggedIn = [VivochaCustomAction actionWithName:@"userLoggedIn" andJSON:@{
                                                                                                        @"userID" : [MyApp getUserId],
                                                                                                        @"eventKind" : @"login",
                                                                                                     }];
    
     [[Vivocha contact] sendCustomAction:userLoggedIn];
    
    
     //Receive an action
     [[Vivocha manager] bindAction:@"balanceUpdated" withBlock:^(VivochaCustomAction *action) {
        //The balance was updated from the agent, let's refresh the APP UI
    
        NSDictionary *payload = [action actionData];
    
        NSString *balanceValue = [payload objectForKey:@"balance"];
    
        [MyViewController updateBalanceUIWithValue:balanceValue];
     }];
    
    
    See more
  • @interface VivochaDataCollectionField : NSObject

    Represents a field in the data collection

    See more
  • @interface VivochaDataCollectionForm : NSObject

    Represents a form in the data collection

    See more
  • @interface VivochaDataCollection : NSObject

    Represent the data collection

    See more
  • @interface VivochaLocalization : NSObject

    Represents a set of translations for a given language

    Usage example:

        VivochaLocalization *en = [VivochaLocalization localizationWithLanguage:@"en"];
        //Changes the "Agent" string to "Representative"
        [en setTranslation:@"Representative" forKey:VivochaSDK_String_Agent];
        [Vivocha addLocalization:en];
    
    See more
  • @interface VivochaMedia : NSObject

    Defines the current status of the media during a contact.

    See more
  • @interface VivochaMediaCallback : NSObject

    This class defines all the callbacks avaible to be notified about media changes

    See more
  • @interface VivochaMessage : VivochaChatObject

    Represents a Vivocha message during a chat contact

    See more
  • @interface VivochaNotification : NSObject

    Payload for a NSNotification sent by the VivochaSDK

    See more
  • @interface VivochaPage : NSObject

    Represents an area of the App where the user can access. It is useful to track the user path inside the App before he requests a contact.

    See more
  • @interface VivochaTheme : NSObject

    The VivochaTheme class defines the colors and options used by the SDK UI.

    Usage Example:

     VivochaTheme *theme = [VivochaTheme new];
     theme.chatBubbleOutgoingColor = [UIColor lightGrayColor];
     theme.chatBubbleOutgoingTextColor = [UIColor blackColor];
     [Vivocha setTheme:theme];
    
    See more