Instore Offers Short Endpoint
Description
This endpoint gets the list of offers for a logged-in member
curl \
-X GET https://receipts.bitlabs.ai/?cmd=mp-mr-api-offers-short \
-H "Authorization: Bearer <token>"
Response Parameters
Param Name | Value(s) |
---|---|
status | 200 (success), 400 (failure) |
data | array[] of offers. |
Offer Fields
Name | Type | Description |
---|---|---|
addedToList | boolean | if the offer is added to the users list (clipping) |
anyReceiptEligible | boolean | if the offer is an any receipt these are given special treatment as they will accept any receipt |
bannerImageUrl | string | there are several sizes for images from rectangular to square this is the rectangular ones typically used for a banner |
baseAmount | integer | This is the cashback amount in an integer format. |
buyingOptions | buyingOptions Object | See additional documentation below for buyingOptions. |
categoryIDs | integer[] | These are the categories that the offer is included within. |
eligibleMediums | this is an enum[] and will contain either INSTORE or ONLINE | Out of the gate, we will only offer support for the INSTORE variant. |
imageUrl | string | The image URL for the offer will often coincide with the square image URL. The image can have different file formats. |
isIncentivized | boolean | Delineates between a high-value offer or not. We have house offers that are loss leaders and this is what sets them apart. Typically, we add a star to the offer to highlight its importance as a higher-paid offer. |
line1 | string | Title of the offer. |
line3 | string | The actual cashback value to the user is formatted as $4 |
line4 | string | This is the string formatted cashback value in the client currency 400 Coins |
line6 | string | This is the string formatted cashback value in the client currency with “Cash Back” appended: $4 Cash Back |
notManyLeft | boolean | Determines if there aren’t a lot of these offers left. On our O&O, we show a small “not many left” banner. |
offerID | integer | This is the offer id. |
purchaseQuantity | integer | This is the minimum required quantity a user will be required to buy to get the offer. Be forewarned a lot of this logic was moved into the buying options, which defines if there are multiple goals like “buy 1” or “buy 2”. |
restrictedToMerchants | boolean | Boolean value delineates whether this offer is restricted to in-store merchants or is available to all merchants. False means it's open to all merchants. If it's true, then the list of merchants will be available in the restrictToMerchants field. We recommend to not use this. |
restrictToMerchantsCount | integer | The amount of merchants this offer is restricted to. We recommend to not use this. |
shortDescription | string | This is the description of the offer. Expect this to be a few words at most |
squareImageUrl | string | A URL pointing to the square image. The image can have different file formats. |
Buying Options Fields
Name | Type | Description |
---|---|---|
payoutAmount | double | The reward amount in the clients currency, for example 150 . The last object technically shows the up to the amount. |
awardFormatted | string | The string formatted reward value in the client's currency, for example, 150 Coins . The last object technically shows the up to the amount. |
cashbackAmount | double | The reward amount in dollars. The last object technically shows the up to the amount. |
cashbackFormatted | string | The string formatted reward amount in dollars formatted, for example, $1,50 . The last object technically shows the up to the amount. |
goalDescription | string | This is the description of the goal so there might be a buy 1 or a buy 2 and this is the description for it: Buy 1 pack of SweeTARTS Gummies Fruity Splitz |
requiredQuantity | integer | This is the required amount of the product that the user is expected to purchase to meet this goal. |
requiredSpendFormatted | double | Expect to mostly see the required quantity. This is a separate goal requiring the user to spend a certain amount on an offer rather than purchase a certain number. |
useGoalDescription | boolean | Typically, the goal will look something like the following: Buy any 1 eligible product were we pull in the required quantity. If this is enabled, we display the description from the goal instead. In practice, this is mostly not used. |
useRequiredSpend | boolean | Determines if required spend is used. This is almost never enabled. |
Example Response:
{
"bonus": null,
"data": \[
{
"addedToList": true,
"anyReceiptEligible": false,
"bannerImageUrl": "<https://ucontent.prdg.io/pimages/96/96773959-73c5-4c8c-8cdc-f5178860c012.jpg">,
"baseAmount": 400,
"buyingOptions": \[
{
"awardFormatted": "150 SB",
"cashbackAmount": 1.5,
"cashbackFormatted": "$1.50",
"goalDescription": "Buy 1 pack of SweeTARTS Gummies Fruity Splitz",
"payoutAmount": 150,
"requiredQuantity": 1,
"requiredSpendFormatted": null,
"useGoalDescription": false,
"useRequiredSpend": false
},
{
"awardFormatted": "400 SB",
"cashbackAmount": 4,
"cashbackFormatted": "$4",
"goalDescription": "Buy 2 packs of SweeTARTS Gummies Fruity Splitz",
"payoutAmount": 400,
"requiredQuantity": 2,
"requiredSpendFormatted": null,
"useGoalDescription": false,
"useRequiredSpend": false
}
\],
"categoryIDs": \[
13,
18,
40,
44,
45,
8
\],
"eligibleMediums": \[
"INSTORE"
\],
"eligibleUpcs": ["072799060701"]
"imageUrl": "<https://ucontent.prdg.io/pimages/b8/b829991d-14c1-406a-bacb-5925ca873518.jpg">,
"isIncentivized": true,
"line1": "SweeTARTS® Gummies Fruity Splitz",
"line3": "$4",
"line4": "400 SB",
"line6": "$4 Cash Back",
"notManyLeft": false,
"offerID": 7045645,
"purchaseQuantity": 1,
"lastUpdated": "2024-10-01T14:11:29-07:00[America/Los_Angeles]",
"restrictedToMerchants": true,
"restrictToMerchantsCount": 23,
"shortDescription": "Double the Fun with SweeTARTS® Gummies Fruity Splitz!",
"squareImageUrl": "<https://ucontent.prdg.io/pimages/b8/b829991d-14c1-406a-bacb-5925ca873518.jpg">
}
\],
"status": 200
}
Sample Pictures Displaying The Offer List:
Updated 9 days ago