Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Steps

Expected results (Kiosk)

Expected results (RBI app)

Loyalty API usage (Kiosk)

Guest taps on the Kiosk screen to start a new order

  • Loyalty sign in page shows up on the Kiosk and scanner becomes active

  • N/A

  • Not applicable

Guest inputs a valid promo code in Kiosk screen (e.g. A00001)

  • Guest unlocks offer with promo code

  • Offer shows to user in Kiosk and guest has an option to customize

image-20240425-142953.png
  • N/A

 

  • Call the Unlock Offer endpoint using the promo code as input, which will return the offer PLU, Sanity ID, and related content.

  • Calling this endpoint marks the promo code as redeemed. Subsequent calls to this endpoint using the same promo code will return an error.

Guest customizes the offer at will and adds to basket

  • The offer is incrementally added to the cart and does not replace any of the existing cart items

  • No action

Guest goes to a second Kiosk and enters the same promo code (e.g. A00001)

  • Kiosk shows an error message to the guest (code already used)

  • Guest does not unlock the exclusive offer

  • N/A

  • Call the Unlock Offer endpoint with promo code which will return an error that the code has already been used

Guest goes back to the first Kiosk, checks out and pays

  • Order number shows up on the screen

  • Guest sees updated points balance if the user is signed into loyalty

 

  • If the user is signed into loyalty, then Call the Transaction Update endpoint with a status of CLAIMED to complete the order

  • Offer associated with the promo code is successfully redeemed

Validate Coupon Endpoint

Use Case: The following endpoint allows a promo code to be validated/redeemed by the RBI Loyalty platform.

Endpoint URL: https://{reg}-{env}-{brand}-loyalty-middleware.rbictg.com/loyalty/coupon/validate

Expected Request Payload (assigning points):

  • code: String

    • The code to be validated/redeemed by the loyalty platform.

  • loyaltyId: String

    • Optional. The loyaltyId of the user. If not present, the validation will occur to an anonymous user.

  • shouldRedeem: Boolean

    • Optional. Indicates whether the code should be validated and redeemed.

      • true (default): the code will be validated and redeemed.

      • false: the code will be validated only.

 Expected Request Payload:

Code Block
{
    "code": "ABCDE123",
    "loyaltyId": "6d13456a-1304-5109-a117-af4de20b2487",
    "shouldRedeem": true
}

Expected Response Payload:

...