MedalliaMXO APIs

Automatic API

Get or set the current automatic Interaction tracking configuration using the following:

@property (class, nonatomic, nullable) MXOAutomaticInteractionTrackingConfiguration *automaticInteractionTrackingConfiguration;

To retrieve an automatic Interaction, use the function below:

+ (nullable MXOInteraction *) getAutomaticInteraction:
	(UIViewController *)viewController
);
PropertyTypeDescription
viewControllerUIViewControllerThe View Controller to get an automatic Interaction for.
Note: For more information, see how to disable/enable automatic Interaction tracking.

Automatic Interaction assignment API

Assign an automatic Interaction to a View to be used instead of using the automatic path using the following:

+ (BOOL)assignAutomaticInteraction:
	(MXOAutomaticInteractionAssignment *)assignInteraction
	error:(NSError *__autoreleasing _Nullable * _Nullable)error
);
PropertyTypeDescription
assignInteractionMXOAutomaticInteractionAssignmentThe Interaction to assign to automatic tracking.
errorNSErrorUsed to handle errors.
Note: For more information, see how to assign an Interaction.

Automatic Interaction exclusion API

Exclude a View from automatically being tracked as an Interaction using the following:

+ (BOOL)excludeAutomaticInteraction:(MXOAutomaticInteractionExclusion *)excludeInteration
	error:(NSError *__autoreleasing _Nullable * _Nullable)error
);
ParameterTypeDescription
excudeInteractionMXOAutomaticInteractionExclusionThe Interaction to exclude from tracking.
errorNSErrorUsed to handle errors.
Note: For more information, see how to exclude an Interaction.

Automatic Interaction subscription API

Subscribe to automatic Interaction request responses using the following:

@protocol MXOAutomaticInteractionSubscription;

Use the convenience function to subscribe to automatic Interaction tracking:

+ (nullable id<MXOAutomaticInteractionSubscription>)subscribeToAutomaticInteraction:(MXOAutomaticInteractionSubscriber *)subscriber
	error:(NSError *__autoreleasing _Nullable * _Nullable)error
);
ParameterTypeDescription
subscriberMXOAutomaticInteractionSubscriberThe subscriber for an Interaction.
errorNSErrorUsed to handle errors.
Note: For more information, see examples on how to subscribe to an Interaction.

Configuration API

Get or set the MXO SDK configuration using the following:

@property (class, nonatomic, nullable) MXOConfiguration *configuration;
Note: For more information, see how to configure the SDK or get the current configuration.

Identity APIs

Retrieve the TID of the current user using the following:

+ (nullable NSString *)getTid;
Note: For more information, see how to get the current TID.

Clear the current user's TID from the SDK using the following:

+ (void)clearTid;

This feature enables the SDK to notify MXO when multiple user's may access the same app on the same device.

Note: For more information, see how to clear the current TID.

Identity Transfer API

Programmatic API to process a deep link to an app that has had the MXO Orchestration Plugin disabled or has had the identity transfer disabled therefore preventing the automatic sending of deep link parameters to MXO.

Get or set the MXO SDK identity transfer configuration using the following:

@property (class, nonatomic, nullable) MXOIdentityTransferConfiguration *identityTransferConfiguration;
Note: For more information, see how to disable/enable automatic identity transfer.

Process a URL deep link using the function below:

+ (BOOL)processDeepLink:(NSURL *)url
                  error:(NSError *__autoreleasing _Nullable * _Nullable)error
);
ParameterTypeDescription
urlNSURLThe URL to process.
errorNSErrorUsed to handle errors.
Note: For more information, see how to process a deep link.

Generate a URL with a tid query parameter using the function below:

+ (nullable NSURL *)generateIdentityTransferUrl:(NSURL *)url
                                          error:(NSError *__autoreleasing _Nullable * _Nullable)error;
ParameterTypeDescription
urlNSURLThe URL to generate.
errorNSErrorUsed to handle errors.
Note: For more information, see how to generate identity transfer links.

Interaction APIs

Send Interactions to MXO using the following:

+ (BOOL)sendInteraction:(MXOInteractionRequest *)request
                  error:(NSError *__autoreleasing _Nullable * _Nullable)error
);
ParameterTypeDescription
requestMXOInteractionRequestThe Interaction request to be sent.
errorNSErrorUsed to handle errors.
Note: For more information, see how to send Interactions.

Send Properties to MXO using the following:

+ (BOOL)sendProperties:(MXOInteractionRequest *)request
                 error:(NSError *__autoreleasing _Nullable * _Nullable)error
);
ParameterTypeDescription
requestMXOInteractionRequestThe Interaction request to be sent.
errorNSErrorUsed to handle errors.
Note: For more information, see how to send Properties.

Send response code to MXO using the following:

+ (BOOL)sendInteractionResponseCode:(MXOResponseCodeRequest *)request
                              error:(NSError *__autoreleasing _Nullable * _Nullable)error
);
ParameterTypeDescription
requestMXOResponseCodeRequestThe response code to be sent.
errorNSErrorUsed to handle errors.
Note: For more information, see how to send a response code.

Generate a URL for outbound link tracking using the function below:

+ (BOOL)sendInteractionForOutboundLink:(NSURL *)link
                                 error:(NSError *__autoreleasing _Nullable * _Nullable)error
);
ParameterTypeDescription
linkURLThe URL for outbound link tracking.
errorNSErrorUsed to handle errors.
Note: For more information, see how to send an outbound link or disable outbound link tracking.

Process the response returned from sending an Interaction using the following:

+ (BOOL)processResponse:(MXOInteractionResponse *)response
                  error:(NSError *__autoreleasing _Nullable * _Nullable)error
);
ParameterTypeDescription
responseMXOInteractionResponseThe Interaction response to process.
errorNSErrorUsed to handle errors.
Note: For more information, see how to process an Interaction response.

Location API

Inform the MXO SDK about location details using the following:

+ (BOOL)processLocation:(CLLocation *)location
                  error:(NSError *__autoreleasing _Nullable * _Nullable)error
);
ParameterTypeDescription
locationCLLocationThe device location to send to MXO.
errorNSErrorUsed to handle errors.
Note: For more information, see how to send a location object.

Logging API

Get or set the MXO SDK logging configuration using the following:

@property (class, nonatomic, nullable) MXOLoggingConfiguration *loggingConfiguration;
Note: For more information, see how to configure logging.

MXOErrorCode

An MXO SDK Runtime exception.

typedef NS_ERROR_ENUM(MXOErrorDomain, MXOErrorCode) {
    	MXOErrorSDKError = 9000,
    	MXOErrorAPIError,
    	MXOErrorInvalidRequestError,
    	MXOErrorInvalidParamError,
    	MXOErrorInvalidSubscriberError
};
EnumDescription
MXOErrorSDKErrorUsed to specify that an SDK error was encountered.
MXOErrorAPIErrorUsed to specify that an API error was encountered.
MXOErrorInvalidRequestErrorUsed to specify that an invalid request error was encountered.
MXOErrorInvalidParamErrorUsed to specify that an invalid param error was encountered.
MXOErrorInvalidSubscriberErrorUsed to specify that an invalid subscriber error was encountered.
Note: For more information, see an example of using MXO error codes.

Opt Out API

Get or set the optout settings for compliance with a user's will to be tracked or not using the following:

open class var optOutConfiguration: MXOOptOutConfiguration?
Note: For more information, see how to opt out or into Interaction tracking.

Version API

Get the version of the MXO SDK using the following:
+ (NSString *)getVersion;
Note: For more information, see how to get the current SDK version.