Skip to main content

Class: FulfillmentService

Handles Fulfillments

Hierarchy

  • TransactionBaseServiceCopy to Clipboard

    FulfillmentServiceCopy to Clipboard

Constructors

constructor

new FulfillmentService(__namedParametersCopy to Clipboard)

Parameters

NameType
__namedParametersCopy to ClipboardInjectedDependenciesCopy to Clipboard

Overrides

TransactionBaseService.constructor

Defined in

packages/medusa/src/services/fulfillment.ts:50

Properties

__configModule__

ProtectedCopy to Clipboard OptionalCopy to Clipboard ReadonlyCopy to Clipboard __configModule__: RecordCopy to Clipboard<stringCopy to Clipboard, unknownCopy to Clipboard>

Inherited from

TransactionBaseService.__configModule__

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:10


__container__

ProtectedCopy to Clipboard ReadonlyCopy to Clipboard __container__: anyCopy to Clipboard

Inherited from

TransactionBaseService.__container__

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:9


__moduleDeclaration__

ProtectedCopy to Clipboard OptionalCopy to Clipboard ReadonlyCopy to Clipboard __moduleDeclaration__: RecordCopy to Clipboard<stringCopy to Clipboard, unknownCopy to Clipboard>

Inherited from

TransactionBaseService.__moduleDeclaration__

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:11


fulfillmentProviderService_

ProtectedCopy to Clipboard ReadonlyCopy to Clipboard fulfillmentProviderService_: FulfillmentProviderServiceCopy to Clipboard

Defined in

packages/medusa/src/services/fulfillment.ts:43


fulfillmentRepository_

ProtectedCopy to Clipboard ReadonlyCopy to Clipboard fulfillmentRepository_: typeof FulfillmentRepositoryCopy to Clipboard

Defined in

packages/medusa/src/services/fulfillment.ts:44


lineItemRepository_

ProtectedCopy to Clipboard ReadonlyCopy to Clipboard lineItemRepository_: typeof LineItemRepositoryCopy to Clipboard

Defined in

packages/medusa/src/services/fulfillment.ts:46


lineItemService_

ProtectedCopy to Clipboard ReadonlyCopy to Clipboard lineItemService_: LineItemServiceCopy to Clipboard

Defined in

packages/medusa/src/services/fulfillment.ts:41


manager_

ProtectedCopy to Clipboard manager_: EntityManagerCopy to Clipboard

Overrides

TransactionBaseService.manager_

Defined in

packages/medusa/src/services/fulfillment.ts:37


productVariantInventoryService_

ProtectedCopy to Clipboard ReadonlyCopy to Clipboard productVariantInventoryService_: ProductVariantInventoryServiceCopy to Clipboard

Defined in

packages/medusa/src/services/fulfillment.ts:48


shippingProfileService_

ProtectedCopy to Clipboard ReadonlyCopy to Clipboard shippingProfileService_: ShippingProfileServiceCopy to Clipboard

Defined in

packages/medusa/src/services/fulfillment.ts:42


totalsService_

ProtectedCopy to Clipboard ReadonlyCopy to Clipboard totalsService_: TotalsServiceCopy to Clipboard

Defined in

packages/medusa/src/services/fulfillment.ts:40


trackingLinkRepository_

ProtectedCopy to Clipboard ReadonlyCopy to Clipboard trackingLinkRepository_: typeof TrackingLinkRepositoryCopy to Clipboard

Defined in

packages/medusa/src/services/fulfillment.ts:45


transactionManager_

ProtectedCopy to Clipboard transactionManager_: undefinedCopy to Clipboard | EntityManagerCopy to Clipboard

Overrides

TransactionBaseService.transactionManager_

Defined in

packages/medusa/src/services/fulfillment.ts:38

Methods

atomicPhase_

ProtectedCopy to Clipboard atomicPhase_<TResultCopy to Clipboard, TErrorCopy to Clipboard>(workCopy to Clipboard, isolationOrErrorHandler?Copy to Clipboard, maybeErrorHandlerOrDontFail?Copy to Clipboard): PromiseCopy to Clipboard<TResultCopy to Clipboard>

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

Name
TResultCopy to Clipboard
TErrorCopy to Clipboard

Parameters

NameTypeDescription
workCopy to Clipboard(transactionManagerCopy to Clipboard: EntityManagerCopy to Clipboard) => PromiseCopy to Clipboard<TResultCopy to Clipboard>the transactional work to be done
isolationOrErrorHandler?Copy to ClipboardIsolationLevelCopy to Clipboard | (errorCopy to Clipboard: TErrorCopy to Clipboard) => PromiseCopy to Clipboard<voidCopy to Clipboard | TResultCopy to Clipboard>the isolation level to be used for the work.
maybeErrorHandlerOrDontFail?Copy to Clipboard(errorCopy to Clipboard: TErrorCopy to Clipboard) => PromiseCopy to Clipboard<voidCopy to Clipboard | TResultCopy to Clipboard>Potential error handler

Returns

PromiseCopy to Clipboard<TResultCopy to Clipboard>

the result of the transactional work

Inherited from

TransactionBaseService.atomicPhase_

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:50


cancelFulfillment

cancelFulfillment(fulfillmentOrIdCopy to Clipboard): PromiseCopy to Clipboard<FulfillmentCopy to Clipboard>

Cancels a fulfillment with the fulfillment provider. Will decrement the fulfillment_quantity on the line items associated with the fulfillment. Throws if the fulfillment has already been shipped.

Parameters

NameTypeDescription
fulfillmentOrIdCopy to ClipboardstringCopy to Clipboard | FulfillmentCopy to Clipboardthe fulfillment object or id.

Returns

PromiseCopy to Clipboard<FulfillmentCopy to Clipboard>

the result of the save operation

Defined in

packages/medusa/src/services/fulfillment.ts:269


createFulfillment

createFulfillment(orderCopy to Clipboard, itemsToFulfillCopy to Clipboard, custom?Copy to Clipboard, context?Copy to Clipboard): PromiseCopy to Clipboard<FulfillmentCopy to Clipboard[]>

Creates an order fulfillment If items needs to be fulfilled by different provider, we make sure to partition those items, and create fulfillment for those partitions.

Parameters

NameTypeDescription
orderCopy to ClipboardCreateFulfillmentOrderCopy to Clipboardorder to create fulfillment for
itemsToFulfillCopy to ClipboardFulFillmentItemTypeCopy to Clipboard[]the items in the order to fulfill
customCopy to ClipboardPartialCopy to Clipboard<FulfillmentCopy to Clipboard>potential custom values to add
contextCopy to ClipboardObjectCopy to Clipboard-
context.locationId?Copy to ClipboardstringCopy to Clipboard-

Returns

PromiseCopy to Clipboard<FulfillmentCopy to Clipboard[]>

the created fulfillments

Defined in

packages/medusa/src/services/fulfillment.ts:211


createShipment

createShipment(fulfillmentIdCopy to Clipboard, trackingLinks?Copy to Clipboard, config?Copy to Clipboard): PromiseCopy to Clipboard<FulfillmentCopy to Clipboard>

Creates a shipment by marking a fulfillment as shipped. Adds tracking links and potentially more metadata.

Parameters

NameTypeDescription
fulfillmentIdCopy to ClipboardstringCopy to Clipboardthe fulfillment to ship
trackingLinks?Copy to Clipboard{ tracking_numberCopy to Clipboard: stringCopy to Clipboard }[]tracking links for the shipment
configCopy to ClipboardCreateShipmentConfigCopy to Clipboardpotential configuration settings, such as no_notification and metadata

Returns

PromiseCopy to Clipboard<FulfillmentCopy to Clipboard>

the shipped fulfillment

Defined in

packages/medusa/src/services/fulfillment.ts:321


getFulfillmentItems_

getFulfillmentItems_(orderCopy to Clipboard, itemsCopy to Clipboard): PromiseCopy to Clipboard<(nullCopy to Clipboard | LineItemCopy to Clipboard)[]>

Retrieves the order line items, given an array of items.

Parameters

NameTypeDescription
orderCopy to ClipboardCreateFulfillmentOrderCopy to Clipboardthe order to get line items from
itemsCopy to ClipboardFulFillmentItemTypeCopy to Clipboard[]the items to get

Returns

PromiseCopy to Clipboard<(nullCopy to Clipboard | LineItemCopy to Clipboard)[]>

the line items generated by the transformer.

Defined in

packages/medusa/src/services/fulfillment.ts:115


partitionItems_

partitionItems_(shippingMethodsCopy to Clipboard, itemsCopy to Clipboard): FulfillmentItemPartitionCopy to Clipboard[]

Parameters

NameType
shippingMethodsCopy to ClipboardShippingMethodCopy to Clipboard[]
itemsCopy to ClipboardLineItemCopy to Clipboard[]

Returns

FulfillmentItemPartitionCopy to Clipboard[]

Defined in

packages/medusa/src/services/fulfillment.ts:76


retrieve

retrieve(fulfillmentIdCopy to Clipboard, config?Copy to Clipboard): PromiseCopy to Clipboard<FulfillmentCopy to Clipboard>

Retrieves a fulfillment by its id.

Parameters

NameTypeDescription
fulfillmentIdCopy to ClipboardstringCopy to Clipboardthe id of the fulfillment to retrieve
configCopy to ClipboardFindConfigCopy to Clipboard<FulfillmentCopy to Clipboard>optional values to include with fulfillmentRepository query

Returns

PromiseCopy to Clipboard<FulfillmentCopy to Clipboard>

the fulfillment

Defined in

packages/medusa/src/services/fulfillment.ts:172


shouldRetryTransaction_

ProtectedCopy to Clipboard shouldRetryTransaction_(errCopy to Clipboard): booleanCopy to Clipboard

Parameters

NameType
errCopy to ClipboardRecordCopy to Clipboard<stringCopy to Clipboard, unknownCopy to Clipboard> | { codeCopy to Clipboard: stringCopy to Clipboard }

Returns

booleanCopy to Clipboard

Inherited from

TransactionBaseService.shouldRetryTransaction_

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:31


validateFulfillmentLineItem_

validateFulfillmentLineItem_(itemCopy to Clipboard, quantityCopy to Clipboard): nullCopy to Clipboard | LineItemCopy to Clipboard

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

NameTypeDescription
itemCopy to ClipboardundefinedCopy to Clipboard | LineItemCopy to Clipboardthe line item to check has sufficient fulfillable quantity.
quantityCopy to ClipboardnumberCopy to Clipboardthe quantity that is requested to be fulfilled.

Returns

nullCopy to Clipboard | LineItemCopy to Clipboard

a line item that has the requested fulfillment quantity set.

Defined in

packages/medusa/src/services/fulfillment.ts:140


withTransaction

withTransaction(transactionManager?Copy to Clipboard): FulfillmentServiceCopy to Clipboard

Parameters

NameType
transactionManager?Copy to ClipboardEntityManagerCopy to Clipboard

Returns

FulfillmentServiceCopy to Clipboard

Inherited from

TransactionBaseService.withTransaction

Defined in

packages/medusa/src/interfaces/transaction-base-service.ts:14