Promotion Enhancements
Published by DJ Steinmetz on January 20, 2023
Last updated on July 18, 2025
Introducing new enhancements to increase flexibility of OrderCloud Promotions.
New Properties
-
AutoApply, defaultfalse- This new property enables customers to designate promotions as
AutoApply, and set varying numericPriorityvalues which dictate the order in which promotions are automatically applied.
- This new property enables customers to designate promotions as
-
Active, defaulttrue- Promotions where
Active = falsewill not be evaluated for either the.../applypromotionsor.../eligiblepromotionsendpoints, and will never be returned fromv1/me/promotions. Designating a promotionActive = falseprevents a buyer user from accessing the promotion, without deleting the record from your marketplace. - A newly deactivated promotion will also be removed from any Unsubmitted orders immediately following deactivation. The promotion data will remain accessible from the administrative endpoints, making for a good historical record, or for possible reactivation in the future.
- Promotions where
-
Priority, nullable- The new
Priorityproperty on Promotions can be used to control the order in which promotions are applied when callingapplypromotionsorrefreshpromotionsendpoints, There are no rules around the sequencing ofPriorityvalues.
- The new
New Endpoints
-
v1/orders/{direction}/{orderID}/eligiblepromotionsandv1/cart/eligiblepromotions- The new endpoints enable listing eligible promotions for an order. This capability can support features such as displaying eligible promo codes to the buyer user during checkout, and many other UI driven promotion-based enhancements
-
v1/orders/{direction}/{orderID}/refreshpromotionsandv1/cart/refreshpromotions-
Any eligible promotions designated as AutoApply will be applied to the order
- They are sorted by
Priorityand applied them to the order one by one - Promotions where
Priority = nullwill be evaluated last - The maximum number of promotions that will be applied to an order in a single API call is 100
- They are sorted by
-
Any promotions already applied to the order that are no longer eligible will be removed
- Additionally, If calling
refreshpromotionsand there is a newly eligible promotion whereAutoApply = trueandCanCombine = false,any existing promotions with a lower priority will be removed, even if they are still eligible.
- Additionally, If calling
-
Any promotions already applied to the order will have their discounts recalculated
-
The response body contains an array of
PromosAddedandPromosRemoved
-
In almost every case you should use the new /refreshpromotions endpoint above instead of the /applypromotions endpoint described below
-
v1/orders/{direction}/{orderID}/applypromotions_ and _v1/cart/applypromotions-
Any eligible promotions designated as AutoApply will be applied to the order
- They are sorted by
Priorityand applied them to the order one by one - Promotions where
Priority = nullwill be evaluated last - The maximum number of promotions that will be applied to an order in a single API call is 100
- The response body is the full Order object
- They are sorted by
-
Still have questions?
Ask in our Community Channel