Loyalty API - SICOM
Contents
Overview
The SICOM integration to the Loyalty API uses the same endpoints listed under Loyalty API v1 - Endpoint Reference, however it relies on PLU’s only for item mapping. Therefore, when calling Loyalty API v1 - Validate and Loyalty API v1 - Update:
The PLU should be sent under productId;
The incentiveId field should not be sent.
See examples in the next section below.
Validate and Update
Example request
{
"channel": "Restaurant",
"created": "2021-05-04T13:39:47Z",
"loyaltyId": "$loyaltyUserId",
"serviceMode": "$serviceMode",
"status": "PENDING",
"transactionDetails": {
"currency": "USD",
"order": [
{
"name": "some incentive name",
"price": 5.00,
"productId": "$incentivePlu",
"productType": "offer",
"quantity": 1,
"referenceId": "1",
"tax": 0
},
{
"name": "med whopper combo",
"price": 5.00,
"productId": "$plu",
"productType": "combo",
"quantity": 1,
"referenceId": "1",
"tax": 0
},
{
"name": "whopper",
"parentReferenceId"?: "1",
"price": 0,
"productId": "$plu",
"productType": "item",
"quantity": 1,
"referenceId": "2",
"tax": 0
},
{
"name": "med fries",
"parentReferenceId"?: "1",
"price": 0,
"productId": "$plu",
"productType": "item",
"quantity": 1,
"referenceId": "3",
"tax": 0
}
],
"payments": [
{
"amount": 500,
"type": "CREDIT",
"ccToken": "$panToken"
},
{
"amount": 400,
"type": "CASH"
},
{
"amount": 1000,
"type": "SUBTOTAL"
},
{
"amount": 300,
"type": "DISCOUNTS"
},
{
"amount": 200,
"type": "TAXES"
}
],
"posVendor": {
"matchingId": "$smgCode",
"operator": "$operatorId",
"posType": "$posVendorName",
"storeId": "$rbiStoreId",
"terminal": "$terminalNumber",
"transactionId": "$posTransactionId"
}
},
"transactionId": "$loyaltyTransactionId"
}
Example response
{
"points": 102220,
"pointsEarned": 5000,
"pointsRedeemed": 0,
"loyaltyId": "$loyaltyUserId",
"presentation": {
"footer": "Crowns expire 180 days from last purchase. At participating U.S. restaurants. Terms at bk.com/rewards-terms",
"header": "Royal Perks",
"identifier": "Transaction ID: $loyaltyTransactionId",
"pointsEarned": "Earned: 5000",
"totalPoints": "Balance: 102220"
},
"receiptCode": "J25QL1WAH5KJ7P75",
"transactionId": "$loyaltyTransactionId"
}
Â