Back to Medusa

createGiftCards - Loyalty Module Reference

www/apps/resources/references/loyalty/ILoyaltyModuleService/methods/loyalty.ILoyaltyModuleService.createGiftCards/page.mdx

2.14.223.6 KB
Original Source

import { TypeList } from "docs-ui"

createGiftCards - Loyalty Module Reference

This documentation provides a reference to the createGiftCards method. This belongs to the Loyalty Module.

<Note>

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

</Note>

createGiftCards(data, sharedContext?): Promise<ModuleGiftCard>

This method creates a gift card.

Example

ts
const giftCard = await loyaltyModuleService.createGiftCards({
  code: "UNIQUECODE123",
  value: 100,
  currency_code: "usd",
  line_item_id: "li_123",
  customer_id: "cust_123",
  expires_at: null,
  reference_id: "order_123",
  reference: "order",
  metadata: {},
})

Parameters

<TypeList types={[{"name":"data","type":"ModuleCreateGiftCard","description":"The gift card to create.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"code","type":"string","description":"The unique redemption code for the gift card. If not provided, one is auto-generated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"number","description":"The monetary value of the gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"string","description":"The three-letter ISO currency code for the gift card's value.","optional":false,"defaultValue":"","example":"usd","expandable":false,"children":[]},{"name":"expires_at","type":"string \| null","description":"The expiration date of the gift card, or null if it does not expire.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"reference_id","type":"string \| null","description":"The ID of the resource this gift card is associated with.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"reference","type":"string \| null","description":"The resource type this gift card is associated with (e.g. "order").","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"line_item_id","type":"string","description":"The ID of the line item this gift card was purchased as.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"customer_id","type":"string \| null","description":"The ID of the customer to associate with the gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"Record<string, unknown>","description":"Custom key-value pairs to attach to the gift card.","optional":false,"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="createGiftCards"/>

Returns

<TypeList types={[{"name":"Promise","type":"Promise<ModuleGiftCard>","optional":false,"defaultValue":"","description":"The created gift card.","expandable":false,"children":[{"name":"id","type":"string","description":"The gift card's ID.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"code","type":"string","description":"The unique redemption code for the gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"GiftCardStatus","description":"The current status of the gift card.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"PENDING","type":"\"pending\"","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"REDEEMED","type":"\"redeemed\"","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"value","type":"number","description":"The monetary value of the gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"string","description":"The three-letter ISO currency code of the gift card's value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"customer_id","type":"string","description":"The ID of the customer who owns this gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"customer","type":"CustomerDTO","description":"The customer who owns this gift card.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"string","description":"The ID of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"email","type":"string","description":"The email of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"has_account","type":"boolean","description":"A flag indicating if customer has an account or not.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"default_billing_address_id","type":"null \| string","description":"The associated default billing address's ID.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"default_shipping_address_id","type":"null \| string","description":"The associated default shipping address's ID.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"company_name","type":"null \| string","description":"The company name of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"first_name","type":"null \| string","description":"The first name of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"last_name","type":"null \| string","description":"The last name of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"addresses","type":"CustomerAddressDTO[]","description":"The addresses of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"phone","type":"null \| string","description":"The phone of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"groups","type":"object[]","description":"The groups of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"Record<string, unknown>","description":"Holds custom data in key-value pairs.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_by","type":"null \| string","description":"Who created the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"null \| string \| Date","description":"The deletion date of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"string \| Date","description":"The creation date of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"string \| Date","description":"The update date of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"reference_id","type":"string \| null","description":"The ID of the resource this gift card was created from (e.g. an order ID).","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"note","type":"string \| null","description":"An optional note about the gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"reference","type":"string \| null","description":"The resource type this gift card references (e.g. "order").","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"expires_at","type":"string \| null","description":"The date the gift card expires, or null if it does not expire.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"string","description":"The date the gift card was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"string","description":"The date the gift card was last updated.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="createGiftCards"/>

createGiftCards(data, sharedContext?): Promise<ModuleGiftCard[]>

This method creates gift cards.

Example

ts
const giftCards = await loyaltyModuleService.createGiftCards([
  {
    code: "UNIQUECODE123",
    value: 100,
    currency_code: "usd",
    line_item_id: "li_123",
    customer_id: "cust_123",
    expires_at: null,
    reference_id: "order_123",
    reference: "order",
    metadata: {},
  },
])

Parameters

<TypeList types={[{"name":"data","type":"ModuleCreateGiftCard[]","description":"The gift cards to create.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"code","type":"string","description":"The unique redemption code for the gift card. If not provided, one is auto-generated.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"value","type":"number","description":"The monetary value of the gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"string","description":"The three-letter ISO currency code for the gift card's value.","optional":false,"defaultValue":"","example":"usd","expandable":false,"children":[]},{"name":"expires_at","type":"string \| null","description":"The expiration date of the gift card, or null if it does not expire.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"reference_id","type":"string \| null","description":"The ID of the resource this gift card is associated with.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"reference","type":"string \| null","description":"The resource type this gift card is associated with (e.g. "order").","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"line_item_id","type":"string","description":"The ID of the line item this gift card was purchased as.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"customer_id","type":"string \| null","description":"The ID of the customer to associate with the gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"Record<string, unknown>","description":"Custom key-value pairs to attach to the gift card.","optional":false,"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="createGiftCards"/>

Returns

<TypeList types={[{"name":"Promise","type":"Promise<ModuleGiftCard[]>","optional":false,"defaultValue":"","description":"The created gift cards.","expandable":false,"children":[{"name":"ModuleGiftCard[]","type":"ModuleGiftCard[]","optional":false,"defaultValue":"","description":"","expandable":false,"children":[{"name":"id","type":"string","description":"The gift card's ID.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"code","type":"string","description":"The unique redemption code for the gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"status","type":"GiftCardStatus","description":"The current status of the gift card.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"PENDING","type":"\"pending\"","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]},{"name":"REDEEMED","type":"\"redeemed\"","description":"","optional":true,"defaultValue":"","expandable":false,"children":[]}]},{"name":"value","type":"number","description":"The monetary value of the gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"currency_code","type":"string","description":"The three-letter ISO currency code of the gift card's value.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"customer_id","type":"string","description":"The ID of the customer who owns this gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"customer","type":"CustomerDTO","description":"The customer who owns this gift card.","optional":false,"defaultValue":"","expandable":false,"children":[{"name":"id","type":"string","description":"The ID of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"email","type":"string","description":"The email of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"has_account","type":"boolean","description":"A flag indicating if customer has an account or not.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"default_billing_address_id","type":"null \| string","description":"The associated default billing address's ID.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"default_shipping_address_id","type":"null \| string","description":"The associated default shipping address's ID.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"company_name","type":"null \| string","description":"The company name of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"first_name","type":"null \| string","description":"The first name of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"last_name","type":"null \| string","description":"The last name of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"addresses","type":"CustomerAddressDTO[]","description":"The addresses of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"phone","type":"null \| string","description":"The phone of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"groups","type":"object[]","description":"The groups of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"metadata","type":"Record<string, unknown>","description":"Holds custom data in key-value pairs.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_by","type":"null \| string","description":"Who created the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"deleted_at","type":"null \| string \| Date","description":"The deletion date of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"string \| Date","description":"The creation date of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"string \| Date","description":"The update date of the customer.","optional":false,"defaultValue":"","expandable":false,"children":[]}]},{"name":"reference_id","type":"string \| null","description":"The ID of the resource this gift card was created from (e.g. an order ID).","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"note","type":"string \| null","description":"An optional note about the gift card.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"reference","type":"string \| null","description":"The resource type this gift card references (e.g. "order").","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"expires_at","type":"string \| null","description":"The date the gift card expires, or null if it does not expire.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"created_at","type":"string","description":"The date the gift card was created.","optional":false,"defaultValue":"","expandable":false,"children":[]},{"name":"updated_at","type":"string","description":"The date the gift card was last updated.","optional":false,"defaultValue":"","expandable":false,"children":[]}]}]}]} expandUrl="https://docs.medusajs.com/learn/fundamentals/data-models/manage-relationships#retrieve-records-of-relation" sectionTitle="createGiftCards"/>