OrderService
constructor
Parameters
__namedParametersInjectedDependenciesRequiredProperties
__container__anyRequiredfeatureFlagRouter_FlagRouterRequiredmanager_EntityManagerRequiredremoteLink_RemoteLinkRequiredtransactionManager_undefined | EntityManagerRequiredEventsobjectRequiredEvents.CANCELEDstringRequiredDefault: "order.canceled"
Events.COMPLETEDstringRequiredDefault: "order.completed"
Events.FULFILLMENT_CANCELEDstringRequiredDefault: "order.fulfillment_canceled"
Events.FULFILLMENT_CREATEDstringRequiredDefault: "order.fulfillment_created"
Events.GIFT_CARD_CREATEDstringRequiredDefault: "order.gift_card_created"
Events.ITEMS_RETURNEDstringRequiredDefault: "order.items_returned"
Events.PAYMENT_CAPTUREDstringRequiredDefault: "order.payment_captured"
Events.PAYMENT_CAPTURE_FAILEDstringRequiredDefault: "order.payment_capture_failed"
Events.PLACEDstringRequiredDefault: "order.placed"
Events.REFUND_CREATEDstringRequiredDefault: "order.refund_created"
Events.REFUND_FAILEDstringRequiredDefault: "order.refund_failed"
Events.RETURN_ACTION_REQUIREDstringRequiredDefault: "order.return_action_required"
Events.RETURN_REQUESTEDstringRequiredDefault: "order.return_requested"
Events.SHIPMENT_CREATEDstringRequiredDefault: "order.shipment_created"
Events.SWAP_CREATEDstringRequiredDefault: "order.swap_created"
Events.UPDATEDstringRequiredDefault: "order.updated"
__configModule__Record<string, unknown>__moduleDeclaration__Record<string, unknown>Accessors
activeManager_
Returns
EntityManagerEntityManagerRequiredMethods
addShippingMethod
Parameters
orderIdstringRequiredoptionIdstringRequiredconfigCreateShippingMethodDtoRequiredDefault: {}
dataRecord<string, unknown>Returns
archive
Archives an order. It only alloved, if the order has been fulfilled and payment has been captured.
Parameters
orderIdstringRequiredReturns
atomicPhase_
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
TResultobjectRequiredTErrorobjectRequiredParameters
work(transactionManager: EntityManager) => Promise<TResult>RequiredisolationOrErrorHandlerIsolationLevel | (error: TError) => Promise<void | TResult>maybeErrorHandlerOrDontFail(error: TError) => Promise<void | TResult>Returns
PromisePromise<TResult>Requiredcancel
Cancels an order. Throws if fulfillment process has been initiated. Throws if payment process has been initiated.
Parameters
orderIdstringRequiredReturns
cancelFulfillment
Cancels a fulfillment (if related to an order)
Parameters
fulfillmentIdstringRequiredReturns
capturePayment
Captures payment for an order.
Parameters
orderIdstringRequiredReturns
completeOrder
Parameters
orderIdstringRequiredReturns
createFromCart
Creates an order from a cart
Parameters
Returns
createFulfillment
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
orderIdstringRequireditemsToFulfillFulFillmentItemType[]RequiredconfigobjectRequiredDefault: {}
config.location_idstringconfig.metadataRecord<string, unknown>config.no_notificationbooleanReturns
createGiftCardsFromLineItem_
Parameters
Returns
createRefund
Refunds a given amount back to the customer.
Parameters
orderIdstringRequiredrefundAmountnumberRequiredreasonstringRequiredconfigobjectRequirednotestringconfig.no_notificationbooleanReturns
createShipment
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
orderIdstringRequiredfulfillmentIdstringRequiredconfigobjectRequiredconfig.metadataRecord<string, unknown>RequiredtrackingLinksTrackingLink[]config.no_notificationbooleanReturns
decorateTotals
**decorateTotals**(order, totalsFields?): Promise<[Order](/references/entities/classes/Order)>
Calculate and attach the different total fields on the object
Parameters
totalsFieldsstring[]Returns
**decorateTotals**(order, context?): Promise<[Order](/references/entities/classes/Order)>
Calculate and attach the different total fields on the object
Parameters
contextTotalsContextReturns
decorateTotalsLegacy
Parameters
totalsFieldsstring[]RequiredDefault: []
Returns
getFulfillmentItems
Retrieves the order line items, given an array of items.
Parameters
itemsFulFillmentItemType[]RequiredReturns
getTotalsRelations
Parameters
Returns
string[]string[]Requiredlist
Parameters
Returns
listAndCount
Parameters
Returns
registerReturnReceived
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
orderIdstringRequiredcustomRefundAmountnumberReturns
retrieve
Gets an order by id.
Parameters
orderIdstringRequiredDefault: {}
Returns
retrieveByCartId
Gets an order by cart id.
Parameters
cartIdstringRequiredDefault: {}
Returns
retrieveByCartIdWithTotals
Parameters
cartIdstringRequiredDefault: {}
Returns
retrieveByExternalId
Gets an order by id.
Parameters
externalIdstringRequiredDefault: {}
Returns
retrieveLegacy
Parameters
Default: {}
Returns
retrieveWithTotals
Parameters
orderIdstringRequiredDefault: {}
contextTotalsContextRequiredDefault: {}
Returns
shouldRetryTransaction_
Parameters
errRecord<string, unknown> | objectRequiredReturns
booleanbooleanRequiredtransformQueryForTotals
Parameters
Returns
update
Updates an order. Metadata updates should
use dedicated method, e.g. setMetadata etc. The function
will throw errors if metadata updates are attempted.
Parameters
orderIdstringRequiredupdateUpdateOrderInputRequiredReturns
updateBillingAddress
Updates the order's billing address.
Parameters
Returns
PromisePromise<void>RequiredupdateShippingAddress
Updates the order's shipping address.
Parameters
Returns
PromisePromise<void>RequiredvalidateFulfillmentLineItem
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
quantitynumberRequiredReturns
withTransaction
Parameters
transactionManagerEntityManagerReturns
thisthisRequired