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.
Marrara, Jean to add screenshots of Oracle config
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" } |