Loyalty: Overview

The Loyalty API enables the retrieval of loyalty data associated with the Infinity Loyalty program functionality. This covers Loyalty programs, Loyalty accounts, and the offers and points for a Loyalty account.

Using the Loyalty API you can:

  • Retrieve a list of Loyalty programs.
  • Retrieve an individual Loyalty account.
  • Create an individual Loyalty account based on a person.
  • Search for a list of Loyalty accounts.
  • Retrieve the offers available to a Loyalty account.
  • Retrieve the points available to a Loyalty account.
  • Create and retrieve a "Check In" object.
  • Lock and unlock a “Check In” object.
  • Add notes against a Loyalty customer.
  • Retrieve notes against a Loyalty customer and their transactions.

The Loyalty API is composed of the following:

  • Programs: defines an individual Loyalty program, including an ID and a name.
  • Loyalty account: identifies an entity that belongs to a Loyalty scheme, the people associated with the account and the identifiers associated with the account.
  • Identifier: an identifier is a string associated with a single Loyalty account to enable a quick lookup. This could be a licence plate, RFID code or a barcode on the customer’s keyring. The supported identifier types are Flybuys, Airpoints, mobile app ID, and number plate.
  • Offers: offers are assigned to customers to incentivise them to make purchases; e.g. 20% off your next purchase, or $50 store credit. An offer is consumed as part of a sale, and can be in the form of a dollar value or a percentage off. Offers have a validity period and can be tied to the purchase of a specific product.
  • Points: points are earned by customers when a transaction is made, and can also be awarded to customers at any time. Points can be used to trigger offers, or to move the customer to a new program, which in turn drives purchasing behaviour. For example: "Earn 100 points and receive 20% off your next purchase".
  • Check In: a check-in allows a customer to pre-select Loyalty offers prior to approaching the point of sale. For example, a customer may select some offers on their smartphone app which then produces an identifier such as a unique code, or a barcode. At the point of sale that identifier is used to retrieve the Loyalty offers that the customer would like to redeem.
  • Note: a note is a text note that is captured against a customer for future reference. A customer can have many notes, each up to 5000 characters long.
  • Transaction note: this is a note that was captured against a transaction. A transaction note contains the reference to the original transaction as well as indicating if it is internally or externally facing. The transaction note is pulled from a view in your AKPOS database called web_CustomerTransactionNotes.

Examples

Retrieve a list of all Loyalty programs:

GET /loyalty/programs

Retrieve Loyalty account 12345:

GET /loyalty/programs/3/loyalty_accounts/12345

Retrieve the offers for Loyalty account 12345:

GET /loyalty/programs/3/loyalty_accounts/12345/offers

Retrieve the points for Loyalty account 12345:

GET /loyalty/programs/3/loyalty_accounts/12345/points

Retrieve the 10 most recent notes for Loyalty account 12345:

GET /loyalty/programs/3/loyalty_accounts/12345/notes?page_number=1&page_size=10

Retrieve the next 10 most recent notes for Loyalty account 12345:

GET /loyalty/programs/3/loyalty_accounts/12345/notes?page_number=2&page_size=10

Retrieve the 10 most recent transaction notes for Loyalty account 12345:

GET /loyalty/programs/3/loyalty_accounts/12345/transaction_notes?page_number=1&page_size=10

Swagger Definition

The Swagger definition for this version of the Loyalty API can be found at: https://app.swaggerhub.com/apis/Triquestra/loyalty/2.0.4.

Security Risk Profile

Financial Data 1: details of offer values and loyalty points values are exposed.

Personal Data 3: details of loyalty people are exposed.

Business Data 1: offers which may relate to business-specific promotions are exposed.