Info |
---|
This is the current version we recommend using for Loyalty API integration for both POS and Kiosk vendors. This supports multi-scanning and showing offers on the Kiosk UI. |
Table of Contents | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Brands and markets want either their pre-existing or new kiosk implementations to work within the in-store loyalty experience. The kiosk user experience will have some slight nuances that we need to account for relating to the Loyalty APIs how Kiosks integrate with them.
...
x-region
field. The value passed in this field should be the 2-character iso country code.x-api-key
field. The value passed in this field will be an environment, vendor and brand specific API key.x-user-datetime
field. The value passed in this field should be the local iso datetime string.
More Information on fields below:
"productType": "reward" or offer
Endpoints
Identify (POST)
Use Case: Successfully identify the loyalty user along with any potential rewards/offers that they had pre-selected within the app.
...
Code Block |
---|
{ "channel": "Restaurant", "created": "2021-05-04T13:39:47Z" "serviceMode": "Eatin", "status": "CLAIMED", "transactionDetails": { "currency": "USD", "order": [ { "name": "med whopper combo", "price": 5.00, "productId": "$plu", // required "productType": "combo", // required "quantity": 1, "referenceId": "1", // line id "tax": 0 }, { "name": "whopper", "parentReferenceId"?: "1", // line id of parent (for children elements) "price": 0, "productId": "$plu", // required "productType": "item", // required "quantity": 1, "referenceId": "2", // line id "tax": 0 }, { "name": "med fries", "parentReferenceId"?: "1", // line id of parent (for children elements) "price": 0, "productId": "$plu", "productType": "item", "quantity": 1, "referenceId": "3", // line id "tax": 0 }, { "incentiveId": "$sanityRewardId", "name": "free drink reward", "price": 0, "productId": "$rewardPlu", "productType": "reward", "quantity": 1, "referenceId": "4", // line id "tax": 0 }, { "incentiveId": "$sanityOfferId", "name": "$2.99 chicken sandwich meal", "price": 2.99, "productId": "$offerPlu", "productType": "offer", "quantity": 1, "referenceId": "5", // line id "tax": 0.50 } ], "payments": [ { "amount": 500, "type": "CASH", "ccToken": "optional PAN token" } ], "posVendor": { "operator": "300", // cashier / operator id "posType": "Kiosk vendor name", "storeId": "9999", "terminal": "0", // terminal id "transactionId": "000000000257" // pos transaction id }, } } |
...
Code Block |
---|
{ "transactionId": "$transactionId" // uuid of the loyalty order/transaction } |
...
|
Redeem Promo Code
Use Case: Redeem Promo Code and unlock Loyalty Offer
Endpoint URL: https://{reg}-{env}-{brand}-loyalty-middleware.rbictg.com/loyalty/promo-code/redeem
Expected Request Payload:
Code Block |
---|
{
"loyaltyId": "4711fc2a-3a8f-414f-a9e7-44dd5231dca7", // uuid of the loyalty user
"promoCode": "123456", // promo code identifier
"posVendor": {
"operator": "300", // cashier / operator id
"posType": "Kiosk vendor name",
"storeId": "9999",
"terminal": "0", // terminal id
},
} |
Expected Response Payload:
Code Block |
---|
{
"sanityId": "5f887b7e-348f-4861-822a-7dad712989e8" // sanityid of the offer redeemed
} |