Contents
Oracle
For rewards we need a distinct ID per reward with a price associated to it. The only exception is with cart level discounts that only need a discount ID associated to it. For cart level and product discounts FE logic is done to calculate prices in the app.
Sanity
To be added
Payloads
Scenario | Payload |
---|---|
Reward items
| { "callbackUrl": "https://euc1-staging-plk-partners-api.rbictg.com/api/v1/orders/773c6655-a9ad-4e5b-9581-143d43c4f463/price/callback", "cart": { "menuSelections": [ { "externalReferenceId": "D-105", // Oracle Discount ID "id": "31049d5a-4047-4965-8780-8ff2f37775dc", // Sanity Discount ID "menuSelections": [ { "externalReferenceId": "100-1-1", // item PLU "id": "ba322af6-a956-4c6b-8bf2-d6fea3c351fd", "menuSelections": [], "price": { "amount": 2495, "currency": "PLN" }, "quantity": 1, "type": "Item" } ], "price": { "amount": 0, // reward price "currency": "PLN" }, "quantity": 1, "type": "Reward" }, { "externalReferenceId": "200-1-1", // item PLU "id": "31049d5a-4047-4965-8780-8ff2f37775dc", "price": { "amount": 2400, "currency": "PLN" }, "quantity": 1, "type": "Item" } ] }, "channel": "WHITELABEL_IN_STORE", "fees": [], "id": "773c6655-a9ad-4e5b-9581-143d43c4f463", "instructions": [], "number": "M360", "orderDiscounts": [], "serviceMode": "TAKEOUT", "storeId": "48002" } |
Reward combos
| "cart": { "menuSelections": [ { "externalReferenceId": "D-105", // Oracle Discount ID "id": "43b4cf07-79c9-4aff-98d1-bce9cf2d890f", // Sanity Discount ID "menuSelections": [ { "externalReferenceId": "100-1-1", // combo plu "id": "43b4cf07-79c9-4aff-98d1-bce9cf2d890f", //combo sanity id "menuSelections": [ { "externalReferenceId": "101-1-1", // item 1 plu "id": "item_1852", "menuSelections": [], "price": { "amount": 0, "currency": "SAR" }, "quantity": 1, "type": "Item" }, { "externalReferenceId": "102-1-1", // item 2 plu "id": "4f99db1e-128a-4e53-b23b-dffc0fedf636", "menuSelections": [], "price": { "amount": 0, "currency": "SAR" }, "quantity": 1, "type": "Item" }, { "externalReferenceId": "103-1-1", // item 3 plu "id": "16f482db-2f13-4476-88d3-d2eec26057f3", "menuSelections": [], "price": { "amount": 0, "currency": "SAR" }, "quantity": 1, "type": "Item" }, ], "price": { "amount": 300, // original price of combo "currency": "SAR" }, "quantity": 1, "type": "Combo" } ], "price": { "amount": 0, // final price of the reward "currency": "SAR" }, "quantity": 1, "type": "Reward" } ] }, |
Reward with pricesReward that costs $3 and 1,000 loyalty points This will not be in scope for first Oracle rollout and release (BK UK, BK DE, CEE, etc.)
| { "callbackUrl": "https://euc1-staging-plk-partners-api.rbictg.com/api/v1/orders/773c6655-a9ad-4e5b-9581-143d43c4f463/price/callback", "cart": { "menuSelections": [ { "externalReferenceId": "D-106", // Oracle Discount ID "id": "31049d5a-4047-4965-8780-8ff2f37775dc", // Sanity Discount ID "menuSelections": [ { "externalReferenceId": "100-1-1", // item PLU "id": "ba322af6-a956-4c6b-8bf2-d6fea3c351fd", "menuSelections": [], "price": { "amount": 2495, "currency": "PLN" }, "quantity": 1, "type": "Item" } ], "price": { "amount": 300, // reward price "currency": "PLN" }, "quantity": 1, "type": "Reward" } ] }, "channel": "WHITELABEL_IN_STORE", "fees": [], "id": "773c6655-a9ad-4e5b-9581-143d43c4f463", "instructions": [], "number": "M360", "orderDiscounts": [], "serviceMode": "TAKEOUT", "storeId": "48002" } |
Reward cart level discountIf guests spend 200 loyalty points, they can unlock a 20% off in the total value of the cart discount.
| { "callbackUrl": "https://euw3-staging-bk-partners-api.rbictg.com/api/v1/orders/b311434d-e4ee-4bfb-a3b7-c84bb5bcfb1d/price/callback", "cart": { "menuSelections": [ { "externalReferenceId": "100-1-1", "id": "7403727e-949c-42b6-a544-5f2124e17c5c", "menuSelections": [ { "externalReferenceId": "101-1-1", "id": "item_11177", "menuSelections": [], "price": { "amount": 0, "currency": "EUR" }, "quantity": 1, "type": "Item" }, { "externalReferenceId": "102-1-1", "id": "2d874c0a-37da-406e-a50e-cd3cd9c5c710", "menuSelections": [], "price": { "amount": 0, "currency": "EUR" }, "quantity": 1, "type": "Item" } ], "price": { "amount": 425, "currency": "EUR" }, "quantity": 1, "type": "Combo" }, { "externalReferenceId": "D-107", // Oracle Discount ID "id": "08e4ccf5-23fc-4bc7-a800-a7703e7228c6", "menuSelections": [], "price": { "amount": 0, "currency": "EUR" }, "quantity": 1, "type": "Reward" } ] }, "channel": "WHITELABEL_IN_STORE", "fees": [ { "total": { "amount": 48, "currency": "EUR" }, "type": "BAG_FEE" } ], "id": "b311434d-e4ee-4bfb-a3b7-c84bb5bcfb1d", "instructions": [], "number": "6406", "orderDiscounts": [ { "type": "amount", "value": 200 } ], "serviceMode": "DRIVE_THRU", "storeId": "12349" } |
Reward product discountThis will not be in scope for first Oracle rollout and release (BK UK, BK DE, CEE, etc.) If guests spend 200 loyalty points, they can unlock a 50% off only in the Whopper a la carte product.
Currently Menu Item id 100-1-1 that is inside the reward does not appear on the payload | { "callbackUrl": "https://euw3-staging-bk-partners-api.rbictg.com/api/v1/orders/612ef61b-3d38-4a04-9756-29fc48586926/price/callback", "cart": { "menuSelections": [ { "externalReferenceId": "D-107", "id": "item_11107", "menuSelections": [], "price": { "amount": 815, "currency": "EUR" }, "quantity": 1, "type": "Reward" } ] }, "channel": "WHITELABEL_IN_STORE", "fees": [ { "total": { "amount": 48, "currency": "EUR" }, "type": "BAG_FEE" } ], "id": "612ef61b-3d38-4a04-9756-29fc48586926", "instructions": [], "number": "6411", "orderDiscounts": [ { "type": "amount", "value": 200, "plu": "D-107" } ], "serviceMode": "DRIVE_THRU", "storeId": "12349" } |