--- displayed_sidebar: servicesSidebar --- import ParameterTypes from "@site/src/components/ParameterTypes" # OrderService ## Constructors #### constructor `**new OrderService**(«destructured»)` ##### Parameters ## Properties `", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "__container__", "type": "`any`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "__moduleDeclaration__", "type": "`Record`", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "addressRepository_", "type": "Repository<[Address](Address.mdx)>", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "cartService_", "type": "[CartService](CartService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "customerService_", "type": "[CustomerService](CustomerService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "discountService_", "type": "[DiscountService](DiscountService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "draftOrderService_", "type": "[DraftOrderService](DraftOrderService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "eventBus_", "type": "[EventBusService](EventBusService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "featureFlagRouter_", "type": "[FlagRouter](FlagRouter.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "fulfillmentProviderService_", "type": "[FulfillmentProviderService](FulfillmentProviderService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "fulfillmentService_", "type": "[FulfillmentService](FulfillmentService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "giftCardService_", "type": "[GiftCardService](GiftCardService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "inventoryService_", "type": "[IInventoryService](../interfaces/IInventoryService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "lineItemService_", "type": "[LineItemService](LineItemService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "manager_", "type": "EntityManager", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "newTotalsService_", "type": "[NewTotalsService](NewTotalsService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "orderRepository_", "type": "Repository<[Order](Order.mdx)> & ``{ findOneWithRelations: Method findOneWithRelations ; findWithRelations: Method findWithRelations }``", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "paymentProviderService_", "type": "[PaymentProviderService](PaymentProviderService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "productVariantInventoryService_", "type": "[ProductVariantInventoryService](ProductVariantInventoryService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "regionService_", "type": "[RegionService](RegionService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "shippingOptionService_", "type": "[ShippingOptionService](ShippingOptionService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "shippingProfileService_", "type": "[ShippingProfileService](ShippingProfileService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "taxProviderService_", "type": "[TaxProviderService](TaxProviderService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "totalsService_", "type": "[TotalsService](TotalsService.mdx)", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "transactionManager_", "type": "`undefined` \\| EntityManager", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "Events", "type": "`object`", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "Events.CANCELED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"order.canceled\"", "expandable": false, "children": [] }, { "name": "Events.COMPLETED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"order.completed\"", "expandable": false, "children": [] }, { "name": "Events.FULFILLMENT_CANCELED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"order.fulfillment_canceled\"", "expandable": false, "children": [] }, { "name": "Events.FULFILLMENT_CREATED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"order.fulfillment_created\"", "expandable": false, "children": [] }, { "name": "Events.GIFT_CARD_CREATED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"order.gift_card_created\"", "expandable": false, "children": [] }, { "name": "Events.ITEMS_RETURNED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"order.items_returned\"", "expandable": false, "children": [] }, { "name": "Events.PAYMENT_CAPTURED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"order.payment_captured\"", "expandable": false, "children": [] }, { "name": "Events.PAYMENT_CAPTURE_FAILED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"order.payment_capture_failed\"", "expandable": false, "children": [] }, { "name": "Events.PLACED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"order.placed\"", "expandable": false, "children": [] }, { "name": "Events.REFUND_CREATED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"order.refund_created\"", "expandable": false, "children": [] }, { "name": "Events.REFUND_FAILED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"order.refund_failed\"", "expandable": false, "children": [] }, { "name": "Events.RETURN_ACTION_REQUIRED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"order.return_action_required\"", "expandable": false, "children": [] }, { "name": "Events.RETURN_REQUESTED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"order.return_requested\"", "expandable": false, "children": [] }, { "name": "Events.SHIPMENT_CREATED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"order.shipment_created\"", "expandable": false, "children": [] }, { "name": "Events.SWAP_CREATED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"order.swap_created\"", "expandable": false, "children": [] }, { "name": "Events.UPDATED", "type": "`string`", "description": "", "optional": false, "defaultValue": "\"order.updated\"", "expandable": false, "children": [] } ]} /> ## Accessors #### activeManager\_ `Protected` **activeManager\_**: [object Object] ## Methods #### addShippingMethod `**addShippingMethod**(orderId, optionId, data?, config?): Promise<[Order](Order.mdx)>` ##### Parameters `", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "config", "type": "[CreateShippingMethodDto](../types/CreateShippingMethodDto.mdx)", "description": "", "optional": false, "defaultValue": "{}", "expandable": false, "children": [] } ]} /> ##### Returns Promise<[Order](Order.mdx)> ___ #### archive `**archive**(orderId): Promise<[Order](Order.mdx)>` Archives an order. It only alloved, if the order has been fulfilled and payment has been captured. ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### atomicPhase\_ `Protected **atomicPhase_**(work, isolationOrErrorHandler?, maybeErrorHandlerOrDontFail?): Promise<TResult>` Wraps some work within a transactional block. If the service already has a transaction manager attached this will be reused, otherwise a new transaction manager is created. ##### Type Parameters ##### Parameters Promise<TResult>", "description": "the transactional work to be done", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "isolationOrErrorHandler", "type": "`IsolationLevel` \\| (`error`: `TError`) => Promise<void \\| TResult>", "description": "the isolation level to be used for the work.", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "maybeErrorHandlerOrDontFail", "type": "(`error`: `TError`) => Promise<void \\| TResult>", "description": "Potential error handler", "optional": true, "defaultValue": "", "expandable": false, "children": [] } ]} /> ##### Returns Promise<TResult> ___ #### cancel `**cancel**(orderId): Promise<[Order](Order.mdx)>` Cancels an order. Throws if fulfillment process has been initiated. Throws if payment process has been initiated. ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### cancelFulfillment `**cancelFulfillment**(fulfillmentId): Promise<[Order](Order.mdx)>` Cancels a fulfillment (if related to an order) ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### capturePayment `**capturePayment**(orderId): Promise<[Order](Order.mdx)>` Captures payment for an order. ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### completeOrder `**completeOrder**(orderId): Promise<[Order](Order.mdx)>` ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### createFromCart `**createFromCart**(cartOrId): Promise<[Order](Order.mdx)>` Creates an order from a cart ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### createFulfillment `**createFulfillment**(orderId, itemsToFulfill, config?): Promise<[Order](Order.mdx)>` Creates fulfillments for an order. In a situation where the order has more than one shipping method, we need to partition the order items, such that they can be sent to their respective fulfillment provider. ##### Parameters `", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] }, { "name": "config.no_notification", "type": "`boolean`", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] } ]} /> ##### Returns Promise<[Order](Order.mdx)> ___ #### createGiftCardsFromLineItem\_ `Protected **createGiftCardsFromLineItem_**(order, lineItem, manager): Promise<[GiftCard](GiftCard.mdx)>[]` ##### Parameters ##### Returns Promise<[GiftCard](GiftCard.mdx)>[] ___ #### createRefund `**createRefund**(orderId, refundAmount, reason, note?, config?): Promise<[Order](Order.mdx)>` Refunds a given amount back to the customer. ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### createShipment `**createShipment**(orderId, fulfillmentId, trackingLinks?, config?): Promise<[Order](Order.mdx)>` Adds a shipment to the order to indicate that an order has left the warehouse. Will ask the fulfillment provider for any documents that may have been created in regards to the shipment. ##### Parameters `", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] }, { "name": "config.no_notification", "type": "`boolean`", "description": "", "optional": true, "defaultValue": "", "expandable": false, "children": [] } ]} /> ##### Returns Promise<[Order](Order.mdx)> ___ #### decorateTotals `**decorateTotals**(order, totalsFields?): Promise<[Order](Order.mdx)>` Calculate and attach the different total fields on the object ##### Parameters ##### Returns Promise<[Order](Order.mdx)> `**decorateTotals**(order, context?): Promise<[Order](Order.mdx)>` Calculate and attach the different total fields on the object ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### decorateTotalsLegacy `Protected **decorateTotalsLegacy**(order, totalsFields?): Promise<[Order](Order.mdx)>` ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### getFulfillmentItems `Protected **getFulfillmentItems**(order, items, transformer): Promise<[LineItem](LineItem.mdx)[]>` Retrieves the order line items, given an array of items. ##### Parameters `unknown`", "description": "a function to apply to each of the items retrieved from the order, should return a line item. If the transformer returns an undefined value the line item will be filtered from the returned array.", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> ##### Returns Promise<[LineItem](LineItem.mdx)[]> ___ #### getTotalsRelations `Private **getTotalsRelations**(config): string[]` ##### Parameters ##### Returns `string`[] ___ #### list `**list**(selector, config?): Promise<[Order](Order.mdx)[]>` ##### Parameters ##### Returns Promise<[Order](Order.mdx)[]> ___ #### listAndCount `**listAndCount**(selector, config?): Promise<[[Order](Order.mdx)[], number]>` ##### Parameters ##### Returns Promise<[[Order](Order.mdx)[], number]> ___ #### registerReturnReceived `**registerReturnReceived**(orderId, receivedReturn, customRefundAmount?): Promise<[Order](Order.mdx)>` Handles receiving a return. This will create a refund to the customer. If the returned items don't match the requested items the return status will be updated to requires\_action. This behaviour is useful in situations where a custom refund amount is requested, but the returned items are not matching the requested items. Setting the allowMismatch argument to true, will process the return, ignoring any mismatches. ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### retrieve `**retrieve**(orderId, config?): Promise<[Order](Order.mdx)>` Gets an order by id. ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### retrieveByCartId `**retrieveByCartId**(cartId, config?): Promise<[Order](Order.mdx)>` Gets an order by cart id. ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### retrieveByCartIdWithTotals `**retrieveByCartIdWithTotals**(cartId, options?): Promise<[Order](Order.mdx)>` ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### retrieveByExternalId `**retrieveByExternalId**(externalId, config?): Promise<[Order](Order.mdx)>` Gets an order by id. ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### retrieveLegacy `Protected **retrieveLegacy**(orderIdOrSelector, config?): Promise<[Order](Order.mdx)>` ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### retrieveWithTotals `**retrieveWithTotals**(orderId, options?, context?): Promise<[Order](Order.mdx)>` ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### shouldRetryTransaction\_ `Protected **shouldRetryTransaction_**(err): boolean` ##### Parameters ` \\| ``{ code: string }``", "description": "", "optional": false, "defaultValue": "", "expandable": false, "children": [] } ]} /> ##### Returns `boolean` ___ #### transformQueryForTotals `Protected **transformQueryForTotals**(config): { relations: undefined \| string[] ; select: undefined \| keyof [Order](Order.mdx)[] ; totalsToSelect: undefined \| keyof [Order](Order.mdx)[] }` ##### Parameters ##### Returns `object` ___ #### update `**update**(orderId, update): Promise<[Order](Order.mdx)>` Updates an order. Metadata updates should use dedicated method, e.g. `setMetadata` etc. The function will throw errors if metadata updates are attempted. ##### Parameters ##### Returns Promise<[Order](Order.mdx)> ___ #### updateBillingAddress `Protected **updateBillingAddress**(order, address): Promise<void>` Updates the order's billing address. ##### Parameters ##### Returns Promise<void> ___ #### updateShippingAddress `Protected **updateShippingAddress**(order, address): Promise<void>` Updates the order's shipping address. ##### Parameters ##### Returns Promise<void> ___ #### validateFulfillmentLineItem `Protected **validateFulfillmentLineItem**(item, quantity): null \| [LineItem](LineItem.mdx)` Checks that a given quantity of a line item can be fulfilled. Fails if the fulfillable quantity is lower than the requested fulfillment quantity. Fulfillable quantity is calculated by subtracting the already fulfilled quantity from the quantity that was originally purchased. ##### Parameters ##### Returns `null` \| [LineItem](LineItem.mdx) ___ #### withTransaction `**withTransaction**(transactionManager?): [OrderService](OrderService.mdx)` ##### Parameters ##### Returns [OrderService](OrderService.mdx)