- Get Started
- Product
- Resources
- Tools & SDKs
- Framework
- Reference
- Get Started
- Product
- Resources
- Tools & SDKs
- Framework
- Reference
createCartWorkflow - Medusa Core Workflows Reference
This documentation provides a reference to the createCartWorkflow
. It belongs to the @medusajs/medusa/core-flows
package.
This workflow creates and returns a cart. You can set the cart's items, region, customer, and other details. This workflow is executed by the Create Cart Store API Route.
This workflow has a hook that allows you to perform custom actions on the created cart. You can see an example in this guide.
You can also use this workflow within your customizations or your own custom workflows, allowing you to wrap custom logic around cart creation.
Source CodeExamples#
Steps#
Workflow Hook
Step conditioned by when
Input#
CreateCartWorkflowInput
CreateCartWorkflowInputThe data to create the cart, along with custom data that's passed to the workflow's hooks.
CreateCartWorkflowInput
CreateCartWorkflowInputregion_id
stringOptionalThe ID of the region that the cart belongs to.
region_id
stringOptionalcustomer_id
stringOptionalThe ID of the customer associated with the cart.
customer_id
stringOptionalsales_channel_id
stringOptionalThe ID of the sales channel through which the cart is created.
sales_channel_id
stringOptionalemail
stringOptionalThe email address of the cart's customer.
email
stringOptionalcurrency_code
stringOptionalThe currency code of the cart. This defaults to the region's currency code.
currency_code
stringOptionalshipping_address_id
stringOptionalThe ID of the associated shipping address.
shipping_address_id
stringOptionalbilling_address_id
stringOptionalThe ID of the associated billing address.
billing_address_id
stringOptionalThe ID of an existing shipping address, or the details of a shipping address to create.
The ID of an existing billing address, or the details of a billing address to create.
metadata
Record<string, unknown>OptionalCustom key-value pairs related to the cart.
metadata
Record<string, unknown>OptionalThe items to be added to the cart.
promo_codes
string[]OptionalThe promotional codes applied on the cart.
promo_codes
string[]Optionaladditional_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#
CartDTO
CartDTOThe cart details.
CartDTO
CartDTOid
stringThe ID of the cart.
id
stringcurrency_code
stringThe currency of the cart
currency_code
stringoriginal_item_total
BigNumberValueThe original item total of the cart.
original_item_total
BigNumberValueoriginal_item_subtotal
BigNumberValueThe original item subtotal of the cart.
original_item_subtotal
BigNumberValueoriginal_item_tax_total
BigNumberValueThe original item tax total of the cart.
original_item_tax_total
BigNumberValueitem_total
BigNumberValueThe item total of the cart.
item_total
BigNumberValueitem_subtotal
BigNumberValueThe item subtotal of the cart.
item_subtotal
BigNumberValueitem_tax_total
BigNumberValueThe item tax total of the cart.
item_tax_total
BigNumberValueoriginal_total
BigNumberValueThe original total of the cart.
original_total
BigNumberValueoriginal_subtotal
BigNumberValueThe original subtotal of the cart.
original_subtotal
BigNumberValueoriginal_tax_total
BigNumberValueThe original tax total of the cart.
original_tax_total
BigNumberValuetotal
BigNumberValueThe total of the cart.
total
BigNumberValuesubtotal
BigNumberValueThe subtotal of the cart. (Excluding taxes)
subtotal
BigNumberValuetax_total
BigNumberValueThe tax total of the cart.
tax_total
BigNumberValuediscount_total
BigNumberValueThe discount total of the cart.
discount_total
BigNumberValuediscount_tax_total
BigNumberValueThe discount tax total of the cart.
discount_tax_total
BigNumberValuegift_card_total
BigNumberValueThe gift card total of the cart.
gift_card_total
BigNumberValuegift_card_tax_total
BigNumberValueThe gift card tax total of the cart.
gift_card_tax_total
BigNumberValueshipping_total
BigNumberValueThe shipping total of the cart.
shipping_total
BigNumberValueshipping_subtotal
BigNumberValueThe shipping subtotal of the cart.
shipping_subtotal
BigNumberValueshipping_tax_total
BigNumberValueThe shipping tax total of the cart.
shipping_tax_total
BigNumberValueoriginal_shipping_total
BigNumberValueThe original shipping total of the cart.
original_shipping_total
BigNumberValueoriginal_shipping_subtotal
BigNumberValueThe original shipping subtotal of the cart.
original_shipping_subtotal
BigNumberValueoriginal_shipping_tax_total
BigNumberValueThe original shipping tax total of the cart.
original_shipping_tax_total
BigNumberValueraw_original_item_total
BigNumberRawValueThe raw original item total of the cart.
raw_original_item_total
BigNumberRawValueraw_original_item_subtotal
BigNumberRawValueThe raw original item subtotal of the cart.
raw_original_item_subtotal
BigNumberRawValueraw_original_item_tax_total
BigNumberRawValueThe raw original item tax total of the cart.
raw_original_item_tax_total
BigNumberRawValueraw_item_total
BigNumberRawValueThe raw item total of the cart.
raw_item_total
BigNumberRawValueraw_item_subtotal
BigNumberRawValueThe raw item subtotal of the cart.
raw_item_subtotal
BigNumberRawValueraw_item_tax_total
BigNumberRawValueThe raw item tax total of the cart.
raw_item_tax_total
BigNumberRawValueraw_original_total
BigNumberRawValueThe raw original total of the cart.
raw_original_total
BigNumberRawValueraw_original_subtotal
BigNumberRawValueThe raw original subtotal of the cart.
raw_original_subtotal
BigNumberRawValueraw_original_tax_total
BigNumberRawValueThe raw original tax total of the cart.
raw_original_tax_total
BigNumberRawValueraw_total
BigNumberRawValueThe raw total of the cart.
raw_total
BigNumberRawValueraw_subtotal
BigNumberRawValueThe raw subtotal of the cart. (Excluding taxes)
raw_subtotal
BigNumberRawValueraw_tax_total
BigNumberRawValueThe raw tax total of the cart.
raw_tax_total
BigNumberRawValueraw_discount_total
BigNumberRawValueThe raw discount total of the cart.
raw_discount_total
BigNumberRawValueraw_discount_tax_total
BigNumberRawValueThe raw discount tax total of the cart.
raw_discount_tax_total
BigNumberRawValueraw_gift_card_total
BigNumberRawValueThe raw gift card total of the cart.
raw_gift_card_total
BigNumberRawValueraw_gift_card_tax_total
BigNumberRawValueThe raw gift card tax total of the cart.
raw_gift_card_tax_total
BigNumberRawValueraw_shipping_total
BigNumberRawValueThe raw shipping total of the cart.
raw_shipping_total
BigNumberRawValueraw_shipping_subtotal
BigNumberRawValueThe raw shipping subtotal of the cart.
raw_shipping_subtotal
BigNumberRawValueraw_shipping_tax_total
BigNumberRawValueThe raw shipping tax total of the cart.
raw_shipping_tax_total
BigNumberRawValueraw_original_shipping_total
BigNumberRawValueThe raw original shipping total of the cart.
raw_original_shipping_total
BigNumberRawValueraw_original_shipping_subtotal
BigNumberRawValueThe raw original shipping subtotal of the cart.
raw_original_shipping_subtotal
BigNumberRawValueraw_original_shipping_tax_total
BigNumberRawValueThe raw original shipping tax total of the cart.
raw_original_shipping_tax_total
BigNumberRawValueregion_id
stringOptionalThe ID of the region the cart belongs to.
region_id
stringOptionalcustomer_id
stringOptionalThe ID of the associated customer
customer_id
stringOptionalsales_channel_id
stringOptionalThe ID of the sales channel the cart belongs to.
sales_channel_id
stringOptionalemail
stringOptionalThe email of the customer that owns the cart.
email
stringOptionalThe associated shipping address.
The associated billing address.
The associated line items.
The associated shipping methods
metadata
null | Record<string, unknown>OptionalHolds custom data in key-value pairs.
metadata
null | Record<string, unknown>Optionalcompleted_at
string | DateOptionalWhen the cart was completed.
completed_at
string | DateOptionalcreated_at
string | DateOptionalWhen the cart was created.
created_at
string | DateOptionalupdated_at
string | DateOptionalWhen the cart was updated.
updated_at
string | DateOptionalHooks#
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.
validate#
This hook is executed before all operations. You can consume this hook to perform any custom validation. If validation fails, you can throw an error to stop the workflow execution.
Example
Input
Handlers consuming this hook accept the following input.
input
objectThe input data for the hook.
input
objectinput
object
input
objectcart
object
cart
objectcartCreated#
This hook is executed after a cart is created. You can consume this hook to perform custom actions on the created cart.
Example
Input
Handlers consuming this hook accept the following input.
input
objectThe input data for the hook.
input
objectcart
CartDTOThe cart details.
cart
CartDTOadditional_data
Record<string, unknown> | undefinedAdditional data that can be passed through the additional\_data
property in HTTP requests.
Learn more in this documentation.
additional_data
Record<string, unknown> | undefinedadditional\_data
property in HTTP requests.
Learn more in this documentation.