Customer API

The Customer API enables you to:

  • Send information to MXO about customer activity without the need to define the context (Interaction) in MXO . You need only provide a Touchpoint, Proposition Code and Activity Type Code for MXO to register activity for a specific customer.
  • Request structured data from MXO for use within your existing ecosystem and interfaces. As part of the request you can send information about the customers current context or segment value. MXO can use this data in decisioning, returning the evaluated results in the API response.
  • Delete all information stored for a customer in MXO .

Where can I find the Customer API?

We've made the Customer API publicly available on Github. You can find it here:

Customer API

Available API Calls

We provide the following API calls:

MethodSummaryDetails
POST/one/oauth2/rt/api/3.1.0/customer//activitySend customer activity to MXO for a single customer.
POST/one/oauth2/rt/api/3.1.0/customer//structureRequest structured data for a single customer from MXO .
DELETE/one/oauth2/rt/api/3.1.0/customer//Delete all data stored for a single customer.

Send Customer Activity to MXO

Using the Customer API you can send a list of one or more activities for a single customer to MXO , including the following information:

  • Touchpoint URI
  • Activity type code
  • Proposition code
  • Dynamic Proposition code (optional)
  • Activity Date, where date can either be "now" or historical (optional). If no date is sent, "now" is used.

Note that you must include either a TID or Customer Key on the request.

What do I need to know before using the API?

Before using the Customer API, it is important to ensure your API users are aware of both current Proposition codes and Activity Type codes to prevent incorrect data being sent to MXO . MXO does not carry out any validation of the codes provided in API calls, so providing incorrect codes may result in MXO storing incorrect data for a customer.

What do I need to know about using Dynamic Propositions?

  • Dynamic Proposition codes are limited to 255 characters, in length. Any codes exceeding 255 characters will return a 400 Bad Response.
  • Dynamic Propositions are tracked as children of an existing Proposition in MXO . Any API calls must reference the existing parent Proposition as well as the code for the Dynamic Proposition to enable activity to be tracked correctly.
  • Dynamic Propositions do not appear in the Proposition hierarchy in MXO . They can be referenced in Eligibility Rules using the Proposition Code attribute available in the Propositions Data Adapter.
  • In the dim_propositions file included in a Data Export, MXO will automatically add an entry for each Dynamic Proposition, as follows:Data Export Dynamic Prop

Example Use Case

A bank want to track customer activity at their ATMs, worldwide. They can set up "ATM" as a parent Proposition in MXO , and use Dynamic Proposition codes to send information to MXO about customer activity at individual ATMs, without having to set up each ATM manually.

For more information about this example use case, see Step 7 - Use ATM Activity in an Eligibility Rule.

Request Structured Data from MXO

This API allows you to include information about the customers current context, for example, if their membership renewal is due, when requesting structured data, using a Pull Structure, from MXO for a single customer.

MXO can then use that information when evaluating any Eligibility Rules contained in your Pull Structure that require the incoming context.

After MXO has evaluated the Eligibility Rules contained in your Pull Structure, the required customer data is returned in the response.

Structured Data Request

Include the following in your structured data request:

  • Touchpoint URI
  • Pull Structure API name
Note: For any additional customer context you want to provide to MXO , send properties as name:value pairs.

Note that you must include either a TID or Customer Key on the request.

What do I need to know before using the API?

To enable the flow of customer data between MXO and your existing systems you must set up a Request Data Adapter and a Pull Structure.

The Request Data Adapter enables you to capture incoming parameters from web URLs or on API calls, providing MXO with the data needed for decisioning.

The Pull Structure specifies both the format and types of the data MXO returns to other systems, when requested. You configure which data attributes to include in the Pull Structure, giving you full control over how much information about an individual customer, held in the AEP, you expose to your other systems.

Additionally, the nested JSON response returned by MXO , will contain only the name:value pairs specified within your Pull Structure. The root node is not returned.

Delete a Customer from MXO

This API enables you to clear all data related to a customer that has previously been tracked by MXO . When calling this API and passing in a given customer identifier, all profile data associated with the given customer identifier is deleted.

You must include either a TID or Customer Key on the request, as a name:value pair.

MXO confirms the request, by returning a list all associated TIDs and identifiers that will be deleted for your customer.

This API supports your organizations requirement to comply with GDPR “Right to Erasure (Right to be forgotten)” regulations.

Note: Currently, the API supports requests to delete a single customer at a time.

Deleting Customer Data held in MXO Datastores

Customers using Datastores to store their customer reference data are responsible for deleting the required data using the Datastores API.