Promotions Management
ACP supports managing promotion data through the REST API. Promotions can only be submitted via the API; SFTP file upload is not supported.5.1 Promotion Object
Promotion Status
Active Time Range
active_period uses the DateTimeRange type, containing start_time and end_time fields:
Product Targeting
applies_to uses the ProductTarget type to specify which products the promotion applies to:
variant_ids is not specified, the promotion applies to all variants of that product.
5.2 Three Discount Types
Fixed Amount Discount (AmountOffBenefit)
Percentage Discount (PercentOffBenefit)
Free Shipping (FreeShippingBenefit)
5.3 Complete Promotion Example
5.4 API Submission
Promotions are upserted via the PATCH endpoint:id: existing records are updated, non-existing records are created.
5.5 Discounts in Checkout Sessions
When an AI agent creates a Checkout Session, promotion discounts are communicated through the following fields.Discount Codes
codes array contains discount codes provided by the user.
Applied Discounts (AppliedDiscount)
Coupon Object
percent_off (percentage discount) or amount_off (fixed amount discount) modes.
Rejected Discounts (RejectedDiscount)
If a discount code is invalid or not applicable, it appears in therejected array:
Complete Discount Structure Example
5.6 Best Practices
Next chapter: Chapter 6: Data Quality Best Practices — ID stability, URL conventions, prohibited content