This is a html view of the json schema please take the json schema as reference DOWNLOAD THE JSON SCHEMA

Loyalty Program Data

Type: object

This object is used to describe some of the information associated to an account in OpCo's Loyalty Program system. The account can have an active membership in the Loyalty System, not existing at all, or not active yet/anymore. Loyalty Program systems might be able to provide some information - as estimates, even for accounts that are not yet members.

No Additional Properties

If the conditions in the "If" tab are respected, then the conditions in the "Then" tab should be respected. Otherwise, the conditions in the "Else" tab should be respected.

Type: object

Type: const
Specific value: false
Type: object

The following properties are required:

  • nonMemberData
Type: object

The following properties are required:

  • memberData

EventHeader

Type: object Default: {"source": "OPCO", "version": "v1"}

This object is used to describe some technical meta information related to the event

No Additional Properties

Type: enum (of string)

The application source of this event

Must be one of:

  • "OPCO"

Type: enum (of string)

The version of the json format event

Must be one of:

  • "v1"

Type: string

OpCo's organizatinal customer number that uniquely identifies its account. In the case of OpCo organised with a regional model or commercial organisation this should be suffix by '{orgId}'. if the accountId is 13563 and the orgId is OVIA so this field should contains 13563OVIA


Examples:

"1234567"
"1234567_OVIA"

Type: boolean

Shows if Account is an active Loyalty Program Member or not (in which case some estimates might be given). Based on this, specific information is to be expected.


Example:

false

Type: object

Information about a Loyalty Program Member.
Many fields are optional in case the Loyalty Program systems are not having the capabilities to report that type of data.

No Additional Properties

Type: integer

Available points in the loyalty account. This can also represent something else than points, like a currency value. The actual unit is described by field 'balanceUnit'.

Value must be greater or equal to 0


Example:

1000

Multilingual Object

Type: object

What is the unit in which the 'balance' field is expressed into.
Can be points, some currency name (EUR/USD/...) or whatever the Loyalty Program system is using. Comes as the exact localized value to be shown to the customer.


Examples:

{
    "fr-FR": "points",
    "en-US": "points",
    "es-ES": "puntos"
}
{
    "fr-FR": "Euro",
    "en-US": "Euro"
}

Each additional property must conform to the following schema

Type: string

Type: object

Link to the external loyalty system. To be considered as sensitive info to be shown only to end customer, not to the Associate.

Loyalty Goal

Type: object

Information about the next Goal to be reached inside the Loyalty Program and how to achieve it

No Additional Properties

Multilingual Object

Type: object

The title of the loyalty goal


Example:

{
    "fr-FR": "Atteignez le niveau supérieur du programme de fidélité! 42 points supplémentaires sont nécessaires !",
    "en-US": "Reach next level of loyalty program! 42 more points are needed!"
}

Each additional property must conform to the following schema

Type: string

Multilingual Object

Type: object

more details about the goal


Example:

{
    "fr-FR": "Achetez 10 produits supplémentaires pour atteindre le niveau supérieur de votre programme de fidélité.",
    "en-US": "Buy 10 more products to reach the next level of your loyalty program."
}

Each additional property must conform to the following schema

Type: string

Type: integer

Quantity/Points/Revenue to get to achieve the goal. Usually it is expressing a revenue value. But actual unit will be described by field 'quantityUnit'.
To be displayed in AX and maybe CX.
It might come as a negative number if customer actually achieved his goal.

Multilingual Object

Type: object

The unit the 'quantity' field is expressed into. Usually it is about a revenue value, so it is a currency, like 'EUR'. Comes as the exact localized value to be shown to the customer.


Example:

{
    "fr-FR": "Eur",
    "en-US": "Eur"
}

Each additional property must conform to the following schema

Type: string

Type: stringFormat: date-time

The timestamp when the account's Loyalty Program information was last updated


Example:

"2020-05-08T21:44:32Z"

Multilingual Object

Type: object

The membership level the customer is at in the Loyalty Program. It should be as in the original Loyalty Program system, with all the localized versions


Example:

{
    "fr-FR": "Sélect Citoyen",
    "en-US": "Select Citizen"
}

Each additional property must conform to the following schema

Type: string

Type: stringFormat: date-time

Last Login date into the Loyalty Program system. .


Example:

"2020-05-08T21:44:32Z"

Type: object

Loyalty program estimates. Returned if Account is not an active member of the program, but the loyalty program system can estimate the loyalty balance for such members based on their activity

No Additional Properties

Type: integer

Estimated points that will be present in the loyalty account if they would become an active member. This can also represent something else than points, like a currency value. The actual unit is described by field 'balanceUnit'


Example:

1000

Multilingual Object

Type: object

What is the unit in which the field 'balance' is expressed into.
Can be points, some currency name (EUR/USD/...) or whatever the Loyalty Program system is using. Comes as the exact localized value to be shown to the customer.


Examples:

{
    "fr-FR": "points",
    "en-US": "points",
    "es-ES": "puntos"
}
{
    "fr-FR": "Euro",
    "en-US": "Euro"
}

Each additional property must conform to the following schema

Type: string