Announcements
Why Use SCAPI
Base URL and Request Formation
Quick Start
Promotion Types and Requirements
Agentic MCP Shopper Tools Quick Start (Pilot)
URL Mapping
SCAPI Specifications
B2C Commerce Release Notes
Ask the Community
Promotions provide discounts to shoppers when they meet certain purchase requirements.
For the Shopper Products and Shopper Search APIs, promotion information includes both pricing and callout message information. However, the specific pricing and callout information that is fetched is determined by:
Promotions are categorized into types:
A product, which is only applicable to product promotions, is classified as one of the following:
Qualifying Product
Product used to trigger a discount, for example:
In a “Buy 3 of product X, and get 10% off of up to 4 of product Y” promotion, the qualifying product is product X.
Important: Qualifying products can have variants, which are different purchasing options, such as size or color. The specific product buying option that is specified for the promotion is known as the master or primary product. Variant products might or might not be included in the promotion.
1"type": {
2"master": true
3}1"type": {
2"variant": true
3}Discounted Product
Bonus Product
Promotions can, but are not required to, have specific product purchase requirements, such as purchasing a set quantity or a specific item:
Based on the promotion type, product type, and product purchase requirements, The content of the response includes the following information:
Pricing information is only returned for qualifying products with non-conditional purchase requirements in product level promotions, for example: Buy product X and get $10 off or Buy product X and get 10% off. For other promotion types, product types, and product purchase requirements, pricing is impacted by shopper-driven actions, and cannot be calculated until the shopper makes additional purchasing decisions.
In addition:
Callout messages provide details about the qualifying, discounted, or bonus product, as applicable, and what the shopper must do to qualify for the promotion.
The callout message is returned in the productPromotions[].calloutMsg attribute of the response body.
For example, the following code includes a non-conditional purchase callout message for a $10 discount when purchasing a women’s shirt:
1"productPromotions": [
2{
3"calloutMsg": "$10 Fixed on Women's Shirt",
4"promotionalPrice": 89.99,
5"promotionId": "$10FixedProductsOnWomensShirt"
6}
7]The following example provides a conditional purchase callout message for a $50 discount when purchasing a man’s suit that costs more than $400:
1"productPromotions": [
2{
3"calloutMsg": "$50 off Mens Suits Over 400",
4"promotionId": "$50offSuitsOver400"
5}]