com.medallia.mxo.interactions

All of APIs listed on this page are in the com.medallia.mxo.interactions package.

MXOAction

Actions are the objects, or containers, that hold the messages, marketing content, agent scripts, app alerts, and so on that you want to present to visitors to customers to your Touchpoints. Actions are the things that MXO does in order to affect the customer's experience. MXO provides both online and offline Actions.

import com.medallia.mxo.interactions.MXOAsset;
import com.medallia.mxo.interactions.MXOProposition;

public class MXOAction {
    	private String name;
    	private MXOAsset asset;
    	private MXOProposition proposition;

	public MXOAction(String name, MXOAsset asset, MXOProposition proposition) {
		this.name = name;
		this.asset = asset;
		this.proposition = proposition;
	}
}
PropertyTypeDescription
nameStringThe name of the Action.
assetMXOAssetThe Asset for this Action.
propositionMXOPropositionThe optional Proposition for this Action.
Note: For more information, see how to retrieve an Interaction response.

MXOAsset

Assets are the content, or bundles of content, that are delivered to the customer via an MXO Action. Assets can be graphics, HTML files, XML, text, or external Assets that are available for display.

import com.medallia.mxo.interactions.MXOAssetResponse;
import com.medallia.mxo.interactions.MXOMimeType;
import java.net.URI;

public class MXOAsset {
    	private String markup;
    	private Set<MXOAssetResponse> response;
    	private MXOMimeType mimeType;
	private URI contentUrl;

	public MXOAsset(String markup, Set<MXOAssetResponse> response, MXOMimeType mimeType, URI contentUri) {
		this.markup = markup;
		this.response = response;
		this.mimeType = mimeType;
		this.contentUrl = contentUrl;
	}
}
PropertyTypeDescription
markupStringThe language markup for presenting the Asset.
responsesSet<MXOAssetResponse>The optional responses for informing MXO of a user Interaction with the Asset.
mimeTypeMXOMimeTypeThe markup language type.
contentUrlURIA remote location the Asset represents.
Note: For more information, see how to retrieve an Interaction response.

MXOAssetResponse

MXO Asset response for tracking.

import com.medallia.mxo.interactions.MXOAssetResponseCode;
import com.medallia.mxo.interactions.MXOAssetResponseSentiment;
import com.medallia.mxo.interactions.MXOAssetResponseLabel;
import com.medallia.mxo.interactions.MXOAssetResponseTarget;
import java.net.URI;

public class MXOAssetResponse {
    	private MXOResponseCode code;
    	private MXOAssetResponseSentiment sentiment;
    	private MXOAssetResponseLabel label;
	private URI imageUrl;
	private URI targetUrl;
	private MXOAssetResponseTarget target;

	public MXOAsset(MXOResponseCode code, MXOAssetResponseSentiment sentiment, MXOAssetResponseLabel label, URI imageUrl, URI targetUrl, MXOAssetResponseTarget target) {
		this.code = code;
		this.label = label;
		this.imageUrl = imageUrl;
		this.targetUrl = targetUrl;
		this.target = target;
	}
}
PropertyTypeDescription
codeMXOResponseCodeThe code to send to MXO when an Asset is responded to.
sentimentMXOAssetResponseSentimentThe type of response to track.
labelMXOAssetResponseLabelThe label to show if desired.
imageUrlURIThe image to load if desired.
targetUrlURIThe target URL to load if desired.
targetMXOAssetResponseTargetThe location the sentiment should send the user.
Note: For more information, see how to retrieve an Interaction response.

MXOAssetResponseLabel

Optional Label to display for an asset response.

public class MXOAssetResponseLabel {
    	private String value;
    	
	public MXOAssetResponseLabel(String label) {
		this.label = label;
	}
}
PropertyTypeDescription
valueStringThe label for the Asset.
Note: For more information, see how to retrieve an Interaction response.

MXOAssetResponseSentiment

This is how a user responded to an MXO Asset response.

public enum MXOAssetResponseSentiment {
	POSITIVE, 
	NEUTRAL, 
	NEGATIVE, 
	UNKNOWN,
}
EnumDescription
POSITIVEThe positive tap on an Asset.
NEUTRALThe Asset is dismissed or ignored.
NEGATIVEThe Asset is rejected.
UNKNOWNUnknown response.
Note: For more information, see how to retrieve an Interaction response.

MXOAssetResponseTarget

The location of an MXO Asset response.

public enum MXOAssetResponseTarget {
    	IN_APP, 
	EXTERNAL, 
	CONTEXT, 
	UNKNOWN,
}
EnumDescription
IN_APPThe Asset is targeted to the same app.
EXTERNALThe Asset is targeted to an external URL.
CONTEXTThe Asset is targeted to an Action context.
UNKNOWNUnknown response.
Note: For more information, see how to retrieve an Interaction response.

MXOCaptureActivityPoint

Capture user Activity when they interact with an MXO Interaction.

public class MXOCaptureActivityPoint {
    	private String id;
	private String path;
    	
	public MXOCaptureActivityPoint(String id, String path) {
		this.id = id;
		this.path = path;
	}
}
PropertyTypeDescription
idStringThe internal MXO id of the point.
pathStringThe location of Activity to capture, such as a button click.
Note: For more information, see how to retrieve an Interaction response.

MXOCaptureAttributePoint

Capture user Attribute when they interact with an MXO Interaction.

import com.medallia.mxo.interactions.MXOCaptureElementType;
import com.medallia.mxo.interactions.MXOCaptureType;
import com.medallia.mxo.interactions.MXOCapturePhase;

public class MXOCaptureAttributePoint {
    	private String id;
    	private String path;
    	private MXOCaptureElementType elementType;
	private String elementName;
	private String elementAttributeName;
	private Int captureDelay;
	private MXOCaptureType captureType;
	private MXOCapturePhase capturePhase;

	public MXOCaptureAttributePoint(String id, String path, MXOCaptureElementType elementType, String elementName, String elementAttributeName, Int captureDelay, MXOCaptureType captureType, MXOCapturePhase capturePhase) {
		this.id = id;
		this.path = path;
		this.elementType = elementType;
		this.elementName = elementName;
		this.elementAttributeName = elementAttributeName;
		this.captureDelay = captureDelay;
		this.captureType = captureType;
		this.capturePhase = capturePhase;
	}
}
PropertyTypeDescription
idStringThe internal MXO id of the point.
pathStringThe location of Attribute to capture, such as a button click.
elementTypeMXOCaptureElementTypeThe type of the element.
elementNameStringThe name of the element.
elementAttributeNameStringThe name of the element Attribute to capture.
captureDelayIntHow long to wait to capture the value.
captureTypeMXOCaptureTypeThe type of capture.
capturePhaseMXOCapturePhaseThe lifecycle time to capture the value.
Note: For more information, see how to retrieve an Interaction response.

MXOCaptureElementType

The type of an element.

public enum MXOCaptureElementType {
    	TEXT_FIELD,
    	CHECKBOX_RADIO,
    	DISPLAY_ELEM,
    	DROP_DOWN,
}
EnumDescription
TEXT_FIELDInput value for the text or search field.
CHECKBOX_RADIOInput value for the selected checkbox/radio button.
DISPLAY_ELEMDisplay value for the selected display element.
DROP_DOWNInput value for the selected dropdown list.
Note: For more information, see how to retrieve an Interaction response.

MXOCapturePhase

The phase in which to capture an Attribute.

public enum MXOCapturePhase {
    	LOAD,
	ON_CLICK,
    	PARAMETER,
}
EnumDescription
LOADThe Attribute is captured whenever a page is loaded.
ON_CLICKThe Attribute is captured once clicked or tapped.
PARAMETERThe Attribute is captured for a query parameter.
Note: For more information, see how to retrieve an Interaction response.

MXOCaptureType

The type of value to capture from an element.

public enum MXOCaptureType {
    	ATTRIBUTE,
    	TEXT,
    	VALUE,
    	COOKIE,
}
EnumDescription
ATTRIBUTEName of the Attribute.
TEXTCaptures a text.
VALUECaptures a Boolean value.
COOKIECaptures data from a cookie on the current page.
Note: For more information, see how to retrieve an Interaction response.

MXOInteraction

Interactions are the key elements of the customer experience, representing the ongoing conversation between your customer and your organization at any of your Touchpoints. Interaction Points let you to capture customer Activity, capture customer input, and return optimized content to your customer during those interactions.

In a mobile app, an Interaction Point represents an individual screen or context.

import java.net.URI;

public class MXOInteraction {
	private URI value;

	public MXOInteraction(URI value) {
		this.value = value;
	}
}
PropertyTypeDescription
valueURIThe URI representation of the Interaction.
Note: For more information, see how to retrieve an Interaction response.

MXOInteractionRequest

The Interaction request object for sending interaction data from the MXO SDK.

import com.medallia.mxo.interactions.MXOInteraction

public class MXOInteractionRequest {
    	private MXOInteraction interaction;
    	private Map<String, String> properties;

    	public MXOInteractionRequest(MXOInteraction interaction, Map<String, String> properties) {
        	this.interaction = interaction;
        	this.properties = properties;
    	}
}
PropertyTypeDescription
interactionURIThe URI value containing the Interaction path.
propertiesMap<String, String>Properties map to be sent with the Interaction.

Create an instance using the Builder as shown below:

final MXOIntractionRequest request = new MXOIntractionRequest.Builder()
	.interaction(URI.create("/yourInteractionPath"))
	.properties(yourProperties)
	.build()
Note: For more information, see how to retrieve an Interaction response.

MXOInteractionResponse

MXO Interaction response data.

import com.medallia.mxo.interactions.MXOInteraction;
import com.medallia.mxo.interactions.MXOOptimizationPoint;
import com.medallia.mxo.interactions.MXOCaptureActivityPoint;
import com.medallia.mxo.interactions.MXOCaptureAttributePoint;

public class MXOInteractionResponse {
    	private MXOInteraction interaction;
    	private String tid;
	private Boolean isSuccess;
	private Set<MXOOptimizationPoint> optimizationPoints;
	private Set<MXOCaptureActivityPoint> captureActivityPoints;
	private Set<MXOCaptureAttributePoint> captureAttributePoints;

    	public MXOInteractionResponse(MXOInteraction interaction, String tid, Boolean isSuccess, Set<MXOOptimizationPoint> optimizationPoints, Set<MXOCaptureActivityPoint> captureActivityPoints, Set<MXOCaptureAttributePoint> captureAttributePoints) {
        	this.interaction = interaction;
        	this.tid = tid;
		this.isSuccess = isSuccess;
		this.optimizationPoints = optimizationPoints;
		this.captureActivityPoints = captureActivityPoints;
		this.captureAttributePoints = captureAttributePoints;
    	}
}
PropertyTypeDescription
interactionMXOInteractionThe interaction this response is for.
tidStringThe unique id for this user's interaction.
isSuccessBooleanIf the MXO request was successful.
optimizationPointsSet<MXOOptimizationPoint>The MXO Interaction Response for Optimization Points.
captureActivityPointsSet<MXOCaptureActivityPoint>The MXO Interaction Response for Activity Points.
captureAttributePointsSet<MXOCaptureAttributePoint>The MXO Interaction Response for Attribute Points.
Note: For more information, see how to retrieve an Interaction response.

MXOMimeType

Possible types of MXO Assets.

public enum MXOMimeType {
    	JSON, 
	TXT, 
	HTML, 
	XML, 
	EXTERNAL, 
	UNKNOWN,
}
EnumDescription
JSONThe Asset of a json type.
TXTThe Asset of a text type.
HTMLThe Asset of a html type.
XMLThe Asset of a xml type.
EXTERNALThe Asset of a external type.
UNKNOWNUnknown Asset type.

MXOOptimizationPoint

MXO Interaction response data.

import com.medallia.mxo.interactions.MXOAction;
import com.medallia.mxo.interactions.MXOOptimizationPointDirectives;

public class MXOOptimizationPoint {
    	private String path;
	private Set<MXOAction> actions;
	private MXOOptimizationPointDirectives directives;

    	public MXOOptimizationPoint(String path, Set<MXOAction> actions, MXOOptimizationPointDirectives directives) {
        	this.path = path;
        	this.actions = actions;
		this.directives = directives;
	}
}
PropertyTypeDescription
pathStringThe location to optimize.
actionsSet<MXOAction>The set of MXO Actions available to take for the Optimization.
directivesMXOOptimizationPointDirectivesThe position of the Optimization.
Note: For more information, see how to retrieve an Interaction response.

MXOOptimizationPointDirectives

The position to place an Optimization.

public enum MXOOptimizationPointDirectives {
    	REPLACE, 
	BEFORE, 
	AFTER,
}
EnumDescription
REPLACEThe Asset replaces the content area.
BEFOREThe Asset is inserted before the content area.
AFTERThe Asset is inserted after the content area.
Note: For more information, see how to retrieve an Interaction response.

MXOProposition

Propositions are the products or services that you want to promote to customers. For example, a 0% balance transfer offer on credit cards.

Use Propositions to set up the long-term and short-term campaigns, offers, invitations, and parent-child hierarchies to use for your marketing initiatives.

import com.medallia.mxo.interactions.MXOPropositionType;

public class MXOProposition {
    	private String name;
	private String code;
	private MXOPropositionType type;

    	public MXOProposition(String name, String code, MXOPropositionType type) {
        	this.name = name;
        	this.code = code;
		this.type = type;
	}
}
PropertyTypeDescription
nameStringThe proposition name.
codeStringThe business code associated with the proposition.
typeMXOPropositionTypeThe type of proposition.
Note: For more information, see how to retrieve an Interaction response.

MXOPropositionType

The type of a proposition.

Products are typically items you can see and touch, such as computers, cars (or any of the parts of a car), credit cards, car insurance, mobile phones, and so on.

Services are typically provided for you by other people, such as customer service, support, and so on.

Products and services can have parent-child relationships. For example, a product such as a credit card might have other products nested below it, such as different credit card types like platinum, gold, silver, and prepaid.

public enum MXOPropositionType {
    	PRODUCT, 
	SERVICE,
}
EnumDescription
PRODUCTThe product Proposition.
SERVICEThe service Proposition.
Note: For more information, see how to retrieve an Interaction response.

MXOResponseCode

The response code object containing the response code value. This is used as part of the MXOResponseCodeRequest object. Response code values is sent to the MXO API as a property value.

public class MXOResponseCode {
    	private String value;

    	public MXOResponseCode(String value) {
        	this.value = value;
	}
}
PropertyTypeDescription
valueStringThe response code string value.
Note: For more information, see how to send a response code.

MXOResponseCodeRequest

The response code request object for sending the response code to the MXO SDK.

import com.medallia.mxo.interactions.MXOInteraction;
import com.medallia.mxo.interactions.MXOResponseCode;

public class MXOResponseCodeRequest {
    	private MXOInteraction interaction;
	private MXOResponseCode responseCode;

    	public MXOResponseCodeRequest(MXOInteraction interaction, MXOResponseCode responseCode) {
        	this.interaction = interaction;
        	this.responseCode = responseCode;
	}
}
PropertyTypeDescription
interactionMXOInteractionThe URI value containing the Interaction path.
responseCodeMXOResponseCodeResponse code object containing the response code value.

Create an instance using the Builder as shown below:

final MXOResponseCodeRequest request = new MXOResponseCodeRequest.Builder()
	.interaction(URI.create("/yourInteractionPath"))
	.responseCode(yourResponseCode)
	.build()
Note: For more information, see how to send a response code.