Back to Medusa

createPriceRules - Pricing Module Reference

www/apps/resources/references/pricing/IPricingModuleService/methods/pricing.IPricingModuleService.createPriceRules/page.mdx

2.14.28.1 KB
Original Source

import { TypeList } from "docs-ui"

createPriceRules - Pricing Module Reference

This documentation provides a reference to the createPriceRules method. This belongs to the Pricing Module.

<Note>

You should only use this methods when implementing complex customizations. For common cases, check out available workflows instead.

</Note>

This method is used to create new price rules based on the provided data.

Example

ts
const priceRules =
  await pricingModuleService.createPriceRules([
    {
      value: "VIP",
      attribute: "customer_group",
      price_set_id: "pset_123",
    },
  ])

Parameters

<TypeList types={[{"name":"data","type":"CreatePriceRuleDTO[]","description":"The price rules to create.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"attribute","type":"string","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"string","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"string","description":"The ID of the associated price set.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"number","description":"The priority of the price rule in comparison to other applicable price rules.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"string","description":"The ID of the associated price.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"sharedContext","type":"Context","description":"A context used to share resources, such as transaction manager, between the application and the module.","optional":true,"defaultValue":"","expandable":false,"children":[{"name":"transactionManager","type":"TManager","description":"An instance of a transaction manager of type TManager, which is a typed parameter passed to the context to specify the type of the transactionManager.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"manager","type":"TManager","description":"An instance of a manager, typically an entity manager, of type TManager, which is a typed parameter passed to the context to specify the type of the manager.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isolationLevel","type":"string","description":"A string indicating the isolation level of the context. Possible values are READ UNCOMMITTED, READ COMMITTED, REPEATABLE READ, or SERIALIZABLE.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"enableNestedTransactions","type":"boolean","description":"A boolean value indicating whether nested transactions are enabled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"eventGroupId","type":"string","description":"A string indicating the ID of the group to aggregate the events to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"transactionId","type":"string","description":"A string indicating the ID of the current transaction.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"runId","type":"string","description":"A string indicating the ID of the current run.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"messageAggregator","type":"IMessageAggregator","description":"An instance of a message aggregator, which is used to aggregate messages to be emitted at a later point.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"requestId","type":"string","description":"A string indicating the ID of the current request.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"idempotencyKey","type":"string","description":"A string indicating the idempotencyKey of the current workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"parentStepIdempotencyKey","type":"string","description":"A string indicating the idempotencyKey of the parent workflow execution.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"preventReleaseEvents","type":"boolean","description":"preventReleaseEvents","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"isCancelling","type":"boolean","description":"A boolean value indicating whether the current workflow execution is being cancelled.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"cancelingFromParentStep","type":"boolean","description":"Weither or not a sub workflow cancellation is being triggered from a parent step.\nIf true, the parent step will not be triggered by the sub workflow.","optional":true,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="createPriceRules"/>

Returns

<TypeList types={[{"name":"Promise","type":"Promise<PriceRuleDTO[]>","optional":false,"defaultValue":"","description":"The list of created price rules.","expandable":false,"children":[{"name":"PriceRuleDTO[]","type":"PriceRuleDTO[]","optional":false,"defaultValue":"","description":"","expandable":false,"children":[{"name":"id","type":"string","description":"The ID of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set_id","type":"string","description":"The ID of the associated price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_set","type":"PriceSetDTO","description":"The associated price set.","optional":false,"defaultValue":"","expandable":true,"children":[{"name":"id","type":"string","description":"The ID of the price set.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"prices","type":"MoneyAmountDTO[]","description":"The prices that belong to this price set.","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"calculated_price","type":"CalculatedPriceSet","description":"The calculated price based on the context.","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"attribute","type":"string","description":"The attribute of the price rule","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"string","description":"The value of the price rule.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"priority","type":"number","description":"The priority of the price rule in comparison to other applicable price rules.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_id","type":"string","description":"The ID of the associated price.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"price_list_id","type":"string","description":"The ID of the associated price list.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"Date","description":"When the price\_rule was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"Date","description":"When the price\_rule was updated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"null \| Date","description":"When the price\_rule was deleted.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="createPriceRules"/>