POST /loyalty

It conveys Information related to the Loyalty transaction to process. Content of the Loyalty Request message.

Servers

Request headers

Name Type Required Description
Content-Type String Yes The media type of the request body.

Default value: "application/json"

Request body fields

Name Type Required Description
LoyaltyTransaction Object Yes

Data related to the loyalty transaction.

LoyaltyTransaction.Currency String No

Currency of a monetary amount.

LoyaltyTransaction.LoyaltyTransactionType String Yes

Type of loyalty transaction. These types of loyalty transactions use the same message requests:

  • Award: direct or payment-related award on a loyalty account.
  • Rebate: rebate on a total amount, sale item amount, or sale items.
  • Redemption: redemption on a loyalty account.
  • AwardRefund: refund of a loyalty award transaction.
  • RebateRefund: refund of a loyalty rebate transaction.
  • RedemptionRefund: refund of a loyalty redemption transaction. Possible values:
  • Award
  • AwardRefund
  • Rebate
  • RebateRefund
  • Redemption
  • RedemptionRefund

Possible values:

  • "RedemptionRefund"
  • "Redemption"
  • "RebateRefund"
  • "Award"
  • "Rebate"
  • "AwardRefund"
LoyaltyTransaction.OriginalPOITransaction Object No

Identification of a previous POI transaction. In the Payment or the Loyalty Request message, it allows using the card of a previous CardAcquisition or Payment/Loyalty request.

LoyaltyTransaction.OriginalPOITransaction.AcquirerID Integer No

Identification of the Acquirer. Restrict to the Acquirer if present.

LoyaltyTransaction.OriginalPOITransaction.ReuseCardDataFlag Boolean No

Indicates if the card data has to be retrieved from a previous transaction.

Default value: true

LoyaltyTransaction.OriginalPOITransaction.POITransactionID Object No

Unique identification of a POI transaction for a POI. Absent if SaleReferenceID is sufficient to identify the transaction.

LoyaltyTransaction.OriginalPOITransaction.POITransactionID.TimeStamp String Yes

Date and time of a transaction for the Sale System, the POI System or the Acquirer. Ensures the uniqueness of a transaction and indicates the time when the event occurs in the EventNotification message.

LoyaltyTransaction.OriginalPOITransaction.POITransactionID.TransactionID String Yes

Unique identification of a transaction to identify the transaction on the Sale System (e.g. ticket number), or the POI System.

LoyaltyTransaction.OriginalPOITransaction.POIID String No

Identification of a payment terminal for the NEXO SaletoPOI protocol. If original transaction is coming from another POI.

LoyaltyTransaction.OriginalPOITransaction.HostTransactionID Object No

Identification of the transaction by the host in charge of the stored value transaction. If POITransactionID not present.

LoyaltyTransaction.OriginalPOITransaction.HostTransactionID.TimeStamp String Yes

Date and time of a transaction for the Sale System, the POI System or the Acquirer. Ensures the uniqueness of a transaction and indicates the time when the event occurs in the EventNotification message.

LoyaltyTransaction.OriginalPOITransaction.HostTransactionID.TransactionID String Yes

Unique identification of a transaction to identify the transaction on the Sale System (e.g. ticket number), or the POI System.

LoyaltyTransaction.OriginalPOITransaction.ApprovalCode String No

Code assigned to a transaction approval by the Acquirer. If referral.

LoyaltyTransaction.OriginalPOITransaction.AmountValue Number No

Value of an amount.

LoyaltyTransaction.OriginalPOITransaction.SaleID String No

Identification of a Sale System for the NEXO SaletoPOI protocol.

LoyaltyTransaction.SaleItem[] Array No

In loyalty or value added payment card transaction, Sale items included in a transaction. The sum of the item amount could be more than the Requested amount in case of split payment without split of the items (split basket). In the StoredValue request message, sale items differentiate the Stored Value product with the EanUpc data element which has to be present.

LoyaltyTransaction.SaleItem[].ItemID Integer Yes

Item identification inside a transaction (0 to n).

LoyaltyTransaction.SaleItem[].ItemAmount Number Yes

Total amount of the item line.

LoyaltyTransaction.SaleItem[].TaxCode Integer No

Type of taxes associated with the line item. If data is sent, POI has to store it and send it if the host protocol allows it.

LoyaltyTransaction.SaleItem[].Quantity String No

Product quantity. If data is sent, POI has to store it and send it if the host protocol allows it.

LoyaltyTransaction.SaleItem[].SaleChannel Integer No

Commercial or distribution channel associated with the line item. If data sent, POI has to store it and send it if the host protocol allows it.

LoyaltyTransaction.SaleItem[].EanUpc Integer No

Standard product code of item purchased with the transaction. If data sent, POI has to store it and send it if the host protocol allows it.

LoyaltyTransaction.SaleItem[].ProductLabel String No

Product name of an item purchased with the transaction.

LoyaltyTransaction.SaleItem[].ProductCode Integer Yes

Product code of item purchased with the transaction.

LoyaltyTransaction.SaleItem[].AdditionalProductInfo String No

Additional information related to the line item. If data sent, POI has to store it and send it if the host protocol allows it.

LoyaltyTransaction.SaleItem[].UnitPrice Number No

Price per unit of product. If Quantity is present.

LoyaltyTransaction.SaleItem[].UnitOfMeasure String No

Unit of measure of a quantity. If Quantity is present. Possible values:

  • Case
  • Centilitre
  • Centimetre
  • Foot
  • Gram
  • Inch
  • Kilogram
  • Kilometre
  • Litre
  • Meter
  • Mile
  • Other
  • Ounce
  • Pint
  • Pound
  • Quart
  • UKGallon
  • USGallon
  • Yard

Possible values:

  • "Foot"
  • "Centimetre"
  • "Other"
  • "Centilitre"
  • "Meter"
  • "UKGallon"
  • "USGallon"
  • "Inch"
  • "Gram"
  • "Quart"
  • "Case"
  • "Pound"
  • "Litre"
  • "Mile"
  • "Kilometre"
  • "Kilogram"
  • "Ounce"
  • "Pint"
  • "Yard"
LoyaltyTransaction.TotalAmount Number No

Amount of a transaction. In the Loyalty Request message, it notifies the amount of the payment transaction on which the loyalty transaction has to be processed. In the Card Acquisition Request message, it allows the processing of a contactless card.

LoyaltyTransaction.TransactionConditions Object No

Conditions on which the transaction must be processed.

LoyaltyTransaction.TransactionConditions.LoyaltyHandling String No

Type of Loyalty processing requested by the Sale System. Possible values:

  • Allowed
  • Forbidden
  • Processed
  • Proposed
  • Required

Possible values:

  • "Proposed"
  • "Required"
  • "Forbidden"
  • "Processed"
  • "Allowed"
LoyaltyTransaction.TransactionConditions.AcquirerID[] Array No

Identification of the Acquirer. Restrict to these Acquirer if present.

LoyaltyTransaction.TransactionConditions.MerchantCategoryCode String No

The code which identifies the category of the transaction (MCC). The payment implies a specific MCC.

LoyaltyTransaction.TransactionConditions.ForceEntryMode[] Array No

Payment instrument entry mode requested by the Sale System. Restrict entry mode if sent. Possible values:

  • CheckReader
  • Contactless
  • File
  • ICC
  • Keyed
  • MagStripe
  • Manual
  • RFID
  • Scanned
  • SynchronousICC
  • Tapped
LoyaltyTransaction.TransactionConditions.AllowedPaymentBrand[] Array No

Payment brands accepted for this transaction. Card payment brands allowed by the Sale System for the payment transaction. Restrict brand if data sent.

LoyaltyTransaction.TransactionConditions.DebitPreferredFlag Boolean No

The preferred type of payment is a debit transaction rather than a credit transaction.

LoyaltyTransaction.TransactionConditions.ForceOnlineFlag Boolean No

Indicates if the Cashier requires POI forces online access to the Acquirer. Go online if data sent.

Default value: false

LoyaltyTransaction.TransactionConditions.AllowedLoyaltyBrand[] Array No

Loyalty brands or programs allowed by the Sale System for the loyalty transaction. Restrict brand if data sent.

LoyaltyData Object Yes

Data related to a Loyalty program or account.

LoyaltyData.LoyaltyAmount Object No

Amount of a loyalty account. When the Sale System want to award the Loyalty account (not for BalanceInquiryRequest).

LoyaltyData.LoyaltyAmount.Currency String No

Currency of a monetary amount.

LoyaltyData.LoyaltyAmount.LoyaltyUnit String No

Unit of a loyalty amount. The amount could be expressed in point or in a monetary value and a currency. Possible values:

  • Monetary
  • Point

Possible values:

  • "Point"
  • "Monetary"
LoyaltyData.LoyaltyAmount.AmountValue Number Yes

Value of an amount.

LoyaltyData.CardAcquisitionReference Object No

Reference to the last CardAcquisition, to use the same card. If the loyalty account ID comes from a previous CardAcquisition.

LoyaltyData.CardAcquisitionReference.TimeStamp String Yes

Date and time of a transaction for the Sale System, the POI System or the Acquirer. Ensures the uniqueness of a transaction and indicates the time when the event occurs in the EventNotification message.

LoyaltyData.CardAcquisitionReference.TransactionID String Yes

Unique identification of a transaction to identify the transaction on the Sale System (e.g. ticket number), or the POI System.

LoyaltyData.LoyaltyAccountID Object No

Identification of a Loyalty account. If loyalty identification of the loyalty account is realised by the Sale System.

LoyaltyData.LoyaltyAccountID.IdentificationSupport String No

Support of the loyalty account identification. Allows knowing where and how you have found the loyalty account identification. Possible values:

  • HybridCard
  • LinkedCard
  • LoyaltyCard
  • NoCard

Possible values:

  • "LoyaltyCard"
  • "NoCard"
  • "HybridCard"
  • "LinkedCard"
LoyaltyData.LoyaltyAccountID.LoyaltyID String Yes

Loyalty account identification conforming to the IdentificationType.

LoyaltyData.LoyaltyAccountID.EntryMode[] Array Yes

Entry mode of the payment instrument information. In the Payment, Loyalty or StoredValue Request messages, it informs the POI System the entry mode of the payment instrument information when read by the Sale Terminal. In the Payment, Loyalty or StoredValue Response messages, it informs the Sale System the entry mode of the payment instrument. Possible values:

  • Contactless
  • File
  • ICC
  • Keyed
  • MagStripe
  • Manual
  • Mobile
  • RFID
  • Scanned
  • SynchronousICC
  • Tapped
LoyaltyData.LoyaltyAccountID.IdentificationType String Yes

Type of account identification. In a request message, it informs the POI System the type of the account or card identification, when provided by the Sale Terminal. (e.g. because the card information is a barcode read by the Cashier on a scanner device). In a response message, it informs the Sale System the type of the account or card identification. Possible values:

  • AccountNumber
  • BarCode
  • ISOTrack2
  • PAN
  • PhoneNumber

Possible values:

  • "PAN"
  • "AccountNumber"
  • "BarCode"
  • "PhoneNumber"
  • "ISOTrack2"
SaleData Object Yes

Data related to the Sale System.

SaleData.OperatorID String No

Identification of the Cashier or Operator.

SaleData.SaleToAcquirerData String No

Sale information intended for the Acquirer. Send to the Acquirer if present.

SaleData.ShiftNumber String No

Shift number. If different from the Login, see Login SaleData.

SaleData.SaleTransactionID Object Yes

Identification of a Sale transaction.

SaleData.SaleTransactionID.TimeStamp String Yes

Date and time of a transaction for the Sale System, the POI System or the Acquirer. Ensures the uniqueness of a transaction and indicates the time when the event occurs in the EventNotification message.

SaleData.SaleTransactionID.TransactionID String Yes

Unique identification of a transaction to identify the transaction on the Sale System (e.g. ticket number), or the POI System.

SaleData.SaleReferenceID String No

Identification of a Sale global transaction for a sequence of related POI transactions. If payment reservation.

SaleData.CustomerOrderReq[] Array No

List of customer order open, closed or both to be sent in the response messages. Possible values:

  • Both
  • Closed
  • Open
SaleData.SaleToPOIData String No

Sale information intended for the POI. Stored with the transaction.

SaleData.OperatorLanguage String No

Language of the Cashier or Operator. If different from the Login.

SaleData.SaleTerminalData Object No

Information related to the software and hardware features of the Sale Terminal. If content is not empty.

SaleData.SaleTerminalData.TotalsGroupID String No

Identification of a group of transactions on a POI Terminal, having the same Sale features. Could be used to group POI for reconciliation or other purpose defined by the Sale System. The default value is assigned by the Login Request.

SaleData.TokenRequestedType String No

Type of token replacing the PAN of a payment card to identify the payment mean of the customer. It allows, for a merchant, to use a token for a transaction only or for a longer period. Possible values:

  • Customer
  • Transaction

Possible values:

  • "Customer"
  • "Transaction"
SaleData.CustomerOrderID String No

Additional and optional identification of a customer order.

SaleData.SaleToIssuerData Object No

Sale information intended for the Issuer. Send to the Acquirer if present.

SaleData.SaleToIssuerData.StatementReference String No

Label to print on the bank statement.

How to start integrating

  1. Add HTTP Task to your workflow definition.
  2. Search for the API you want to integrate with and click on the name.
    • This loads the API reference documentation and prepares the Http request settings.
  3. Click Test request to test run your request to the API and see the API's response.