- Get Started
- Product
- Resources
- Tools & SDKs
- Framework
- Reference
- Get Started
- Product
- Resources
- Tools & SDKs
- Framework
- Reference
Promotion Actions
In this document, you’ll learn about promotion actions and how they’re computed using the computeActions method.
computeActions Method#
The Promotion Module's main service has a computeActions method that returns an array of actions to perform on a cart when one or more promotions are applied.
Actions inform you what adjustment must be made to a cart item or shipping method. Each action is an object having the action
property indicating the type of action.
Action Types#
addItemAdjustment
Action#
The addItemAdjustment
action indicates that an adjustment must be made to an item. For example, removing $5 off its amount.
This action has the following format:
This action means that a new record should be created of the LineItemAdjustment
data model in the Cart Module, or OrderLineItemAdjustment
data model in the Order Module.
removeItemAdjustment
Action#
The removeItemAdjustment
action indicates that an adjustment must be removed from a line item. For example, remove the $5 discount.
The computeActions
method accepts any previous item adjustments in the items
property of the second parameter.
This action has the following format:
This action means that a new record should be removed of the LineItemAdjustment
(or OrderLineItemAdjustment
) with the specified ID in the adjustment_id
property.
addShippingMethodAdjustment
Action#
The addShippingMethodAdjustment
action indicates that an adjustment must be made on a shipping method. For example, make the shipping method free.
This action has the following format:
This action means that a new record should be created of the ShippingMethodAdjustment
data model in the Cart Module, or OrderShippingMethodAdjustment
data model in the Order Module.
removeShippingMethodAdjustment
Action#
The removeShippingMethodAdjustment
action indicates that an adjustment must be removed from a shipping method. For example, remove the free shipping discount.
The computeActions
method accepts any previous shipping method adjustments in the shipping_methods
property of the second parameter.
This action has the following format:
When the Medusa application receives this action type, it removes the ShippingMethodAdjustment
(or OrderShippingMethodAdjustment
) with the specified ID in the adjustment_id
property.
campaignBudgetExceeded
Action#
When the campaignBudgetExceeded
action is returned, the promotions within a campaign can no longer be used as the campaign budget has been exceeded.
This action has the following format: