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 NameValue(s)
status200 (success), 400 (failure)
dataarray[] of offers.

Offer Fields

NameTypeDescription
addedToListbooleanif the offer is added to the users list
anyReceiptEligiblebooleanif the offer is an any receipt these are given special treatment as they will accept any receipt
bannerImageUrlstringthere are several sizes for images from rectangular to square this is the rectangular ones typically used for a banner
baseAmountintegerthis is the cashback amount in an integer format
buyingOptionsbuyingOptions ObjectSee additional documentation below for buyingOptions
categoryIDsinteger[]These are the categories that the offer is included within
eligibleMediumsthis is an enum[] and will contain either INSTORE or ONLINEOut of the gate we will only offer support for the INSTORE variant
imageUrlstringImage url for the offer will often coincide with the square image url
isIncentivizedbooleanDelineates 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 it’s importance as a higher paid offer.
line1stringThis was poorly named but you can think of this as the offer title
line3stringEqually poorly named this is the actual cashback value to the user formatted as
"line3": "$4",
line4stringThis is the string formatted cashback value in the client currency
"line4": "400 SB",
line6stringThis is the string formatted cashback value in the client currency with “Cash Back” appended
"line6": "$4 Cash Back",
notManyLeftbooleanDetermines if there aren’t a lot of these offers left. On our O&O we show small “not many left” banner
offerIDintegerThis is the offer id
purchaseQuantityintegerThis 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”
restrictedToMerchantsbooleanboolean value delineating if this offer is restricted to instore merchants or if it is available at 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.
restrictToMerchantsCountintegerthe amount of merchants this offer is restricted to
shortDescriptionstringThis is the description of the offer. Expect this to be a few words at most
squareImageUrlstringa url pointing to the square image

Buying Options Fields

NameTypeDescription
awardFormattedstringThe string formatted reward value in the clients currency

"awardFormatted": "150 SB",
cashbackAmountdoubleThe reward amount in dollars

"cashbackAmount": 1.5,
cashbackFormattedstringThe string formatted reward amount in dollars formatted like so:

cashbackFormatted": "$1.50",
goalDescriptionstringThis is the description of the goal so there might be a buy1 or a buy 2 and this is the description for it

"goalDescription": "Buy 1 pack of SweeTARTS Gummies Fruity Splitz",
payoutAmountdoubleThe reward amount in the clients currency

"payoutAmount": 400,
requiredQuantityintegerThis is the required amount of the product that the user is expected to purchase to meet this goal.
requiredSpendFormattedExpect to mostly see required quantity. This is a separate kind of goal that requires the user to spend a certain amount on an offer rather than purchase a certain number
useGoalDescriptionbooleanTypically 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.
useRequiredSpendbooleandetermines 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:

image-20240209-213600.png