createPromotionsWorkflow - Medusa Core Workflows Reference
This documentation provides a reference to the createPromotionsWorkflow
. It belongs to the @medusajs/medusa/core-flows
package.
This workflow creates one or more promotions. It's used by the Create Promotion Admin API Route.
This workflow has a hook that allows you to perform custom actions on the created promotion. For example, you can pass under additional_data
custom data that
allows you to create custom data models linked to the promotions.
You can also use this workflow within your customizations or your own custom workflows, allowing you to wrap custom logic around creating promotions.
Source CodeExamples#
Steps#
Input#
CreatePromotionsWorkflowInput
CreatePromotionsWorkflowInputThe data to create one or more promotions, along with custom data that's passed to the workflow's hooks.
CreatePromotionsWorkflowInput
CreatePromotionsWorkflowInputpromotionsData
CreatePromotionDTO[]The promotions to create.
promotionsData
CreatePromotionDTO[]additional_data
Record<string, unknown>OptionalAdditional data that can be passed through the additional_data
property in HTTP requests.
Learn more in this documentation.
additional_data
Record<string, unknown>Optionaladditional_data
property in HTTP requests.
Learn more in this documentation.Output#
PromotionDTO[]
PromotionDTO[]
PromotionDTO[]
PromotionDTO[]id
stringThe ID of the promotion.
id
stringcode
stringOptionalThe code of the promotion.
code
stringOptionalThe type of the promotion:
standard
indicates that a promotion is a standard one applied with conditions.
buyget
indicates that a promotion is a "Buy X get Y" promotion.
standard
indicates that a promotion is a standard one applied with conditions.buyget
indicates that a promotion is a "Buy X get Y" promotion.
The status of the promotion:
active
promotion is available for user to consume
inactive
promotion is no longer available to the user
draft
promotion is currently being prepared
active
promotion is available for user to consumeinactive
promotion is no longer available to the userdraft
promotion is currently being prepared
is_automatic
booleanOptionalWhether the promotion is applied automatically.
is_automatic
booleanOptionalThe associated application method.
The rules of the promotion.
campaign_id
null | stringOptionalThe associated campaign.
campaign_id
null | stringOptionalThe associated campaign.
Hooks#
Hooks allow you to inject custom functionalities into the workflow. You'll receive data from the workflow, as well as additional data sent through an HTTP request.
Learn more about Hooks and Additional Data.
promotionsCreated#
Handlers consuming this hook accept the following input.
invoke
InvokeFn<object, TOutput, TCompensateInput>