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" }