Class: FulfillmentService
Handles Fulfillments
Hierarchy
TransactionBaseService
Copy to Clipboard↳
FulfillmentService
Copy to Clipboard
Constructors
constructor
• new FulfillmentService(__namedParameters
Copy to Clipboard)
Parameters
Name | Type |
---|---|
__namedParameters Copy to Clipboard | InjectedDependencies Copy to Clipboard |
Overrides
TransactionBaseService.constructor
Defined in
packages/medusa/src/services/fulfillment.ts:50
Properties
__configModule__
• Protected
Copy to Clipboard Optional
Copy to Clipboard Readonly
Copy to Clipboard __configModule__: Record
Copy to Clipboard<string
Copy to Clipboard, unknown
Copy to Clipboard>
Inherited from
TransactionBaseService.__configModule__
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:10
__container__
• Protected
Copy to Clipboard Readonly
Copy to Clipboard __container__: any
Copy to Clipboard
Inherited from
TransactionBaseService.__container__
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:9
__moduleDeclaration__
• Protected
Copy to Clipboard Optional
Copy to Clipboard Readonly
Copy to Clipboard __moduleDeclaration__: Record
Copy to Clipboard<string
Copy to Clipboard, unknown
Copy to Clipboard>
Inherited from
TransactionBaseService.__moduleDeclaration__
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:11
fulfillmentProviderService_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard fulfillmentProviderService_: FulfillmentProviderService
Copy to Clipboard
Defined in
packages/medusa/src/services/fulfillment.ts:43
fulfillmentRepository_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard fulfillmentRepository_: typeof FulfillmentRepository
Copy to Clipboard
Defined in
packages/medusa/src/services/fulfillment.ts:44
lineItemRepository_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard lineItemRepository_: typeof LineItemRepository
Copy to Clipboard
Defined in
packages/medusa/src/services/fulfillment.ts:46
lineItemService_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard lineItemService_: LineItemService
Copy to Clipboard
Defined in
packages/medusa/src/services/fulfillment.ts:41
manager_
• Protected
Copy to Clipboard manager_: EntityManager
Copy to Clipboard
Overrides
TransactionBaseService.manager_
Defined in
packages/medusa/src/services/fulfillment.ts:37
productVariantInventoryService_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard productVariantInventoryService_: ProductVariantInventoryService
Copy to Clipboard
Defined in
packages/medusa/src/services/fulfillment.ts:48
shippingProfileService_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard shippingProfileService_: ShippingProfileService
Copy to Clipboard
Defined in
packages/medusa/src/services/fulfillment.ts:42
totalsService_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard totalsService_: TotalsService
Copy to Clipboard
Defined in
packages/medusa/src/services/fulfillment.ts:40
trackingLinkRepository_
• Protected
Copy to Clipboard Readonly
Copy to Clipboard trackingLinkRepository_: typeof TrackingLinkRepository
Copy to Clipboard
Defined in
packages/medusa/src/services/fulfillment.ts:45
transactionManager_
• Protected
Copy to Clipboard transactionManager_: undefined
Copy to Clipboard | EntityManager
Copy to Clipboard
Overrides
TransactionBaseService.transactionManager_
Defined in
packages/medusa/src/services/fulfillment.ts:38
Methods
atomicPhase_
▸ Protected
Copy to Clipboard atomicPhase_<TResult
Copy to Clipboard, TError
Copy to Clipboard>(work
Copy to Clipboard, isolationOrErrorHandler?
Copy to Clipboard, maybeErrorHandlerOrDontFail?
Copy to Clipboard): Promise
Copy to Clipboard<TResult
Copy 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 |
---|
TResult Copy to Clipboard |
TError Copy to Clipboard |
Parameters
Name | Type | Description |
---|---|---|
work Copy to Clipboard | (transactionManager Copy to Clipboard: EntityManager Copy to Clipboard) => Promise Copy to Clipboard<TResult Copy to Clipboard> | the transactional work to be done |
isolationOrErrorHandler? Copy to Clipboard | IsolationLevel Copy to Clipboard | (error Copy to Clipboard: TError Copy to Clipboard) => Promise Copy to Clipboard<void Copy to Clipboard | TResult Copy to Clipboard> | the isolation level to be used for the work. |
maybeErrorHandlerOrDontFail? Copy to Clipboard | (error Copy to Clipboard: TError Copy to Clipboard) => Promise Copy to Clipboard<void Copy to Clipboard | TResult Copy to Clipboard> | Potential error handler |
Returns
Promise
Copy to Clipboard<TResult
Copy 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(fulfillmentOrId
Copy to Clipboard): Promise
Copy to Clipboard<Fulfillment
Copy 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
Name | Type | Description |
---|---|---|
fulfillmentOrId Copy to Clipboard | string Copy to Clipboard | Fulfillment Copy to Clipboard | the fulfillment object or id. |
Returns
Promise
Copy to Clipboard<Fulfillment
Copy to Clipboard>
the result of the save operation
Defined in
packages/medusa/src/services/fulfillment.ts:269
createFulfillment
▸ createFulfillment(order
Copy to Clipboard, itemsToFulfill
Copy to Clipboard, custom?
Copy to Clipboard, context?
Copy to Clipboard): Promise
Copy to Clipboard<Fulfillment
Copy 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
Name | Type | Description |
---|---|---|
order Copy to Clipboard | CreateFulfillmentOrder Copy to Clipboard | order to create fulfillment for |
itemsToFulfill Copy to Clipboard | FulFillmentItemType Copy to Clipboard[] | the items in the order to fulfill |
custom Copy to Clipboard | Partial Copy to Clipboard<Fulfillment Copy to Clipboard> | potential custom values to add |
context Copy to Clipboard | Object Copy to Clipboard | - |
context.locationId? Copy to Clipboard | string Copy to Clipboard | - |
Returns
Promise
Copy to Clipboard<Fulfillment
Copy to Clipboard[]>
the created fulfillments
Defined in
packages/medusa/src/services/fulfillment.ts:211
createShipment
▸ createShipment(fulfillmentId
Copy to Clipboard, trackingLinks?
Copy to Clipboard, config?
Copy to Clipboard): Promise
Copy to Clipboard<Fulfillment
Copy to Clipboard>
Creates a shipment by marking a fulfillment as shipped. Adds tracking links and potentially more metadata.
Parameters
Name | Type | Description |
---|---|---|
fulfillmentId Copy to Clipboard | string Copy to Clipboard | the fulfillment to ship |
trackingLinks? Copy to Clipboard | { tracking_number Copy to Clipboard: string Copy to Clipboard }[] | tracking links for the shipment |
config Copy to Clipboard | CreateShipmentConfig Copy to Clipboard | potential configuration settings, such as no_notification and metadata |
Returns
Promise
Copy to Clipboard<Fulfillment
Copy to Clipboard>
the shipped fulfillment
Defined in
packages/medusa/src/services/fulfillment.ts:321
getFulfillmentItems_
▸ getFulfillmentItems_(order
Copy to Clipboard, items
Copy to Clipboard): Promise
Copy to Clipboard<(null
Copy to Clipboard | LineItem
Copy to Clipboard)[]>
Retrieves the order line items, given an array of items.
Parameters
Name | Type | Description |
---|---|---|
order Copy to Clipboard | CreateFulfillmentOrder Copy to Clipboard | the order to get line items from |
items Copy to Clipboard | FulFillmentItemType Copy to Clipboard[] | the items to get |
Returns
Promise
Copy to Clipboard<(null
Copy to Clipboard | LineItem
Copy to Clipboard)[]>
the line items generated by the transformer.
Defined in
packages/medusa/src/services/fulfillment.ts:115
partitionItems_
▸ partitionItems_(shippingMethods
Copy to Clipboard, items
Copy to Clipboard): FulfillmentItemPartition
Copy to Clipboard[]
Parameters
Name | Type |
---|---|
shippingMethods Copy to Clipboard | ShippingMethod Copy to Clipboard[] |
items Copy to Clipboard | LineItem Copy to Clipboard[] |
Returns
FulfillmentItemPartition
Copy to Clipboard[]
Defined in
packages/medusa/src/services/fulfillment.ts:76
retrieve
▸ retrieve(fulfillmentId
Copy to Clipboard, config?
Copy to Clipboard): Promise
Copy to Clipboard<Fulfillment
Copy to Clipboard>
Retrieves a fulfillment by its id.
Parameters
Name | Type | Description |
---|---|---|
fulfillmentId Copy to Clipboard | string Copy to Clipboard | the id of the fulfillment to retrieve |
config Copy to Clipboard | FindConfig Copy to Clipboard<Fulfillment Copy to Clipboard> | optional values to include with fulfillmentRepository query |
Returns
Promise
Copy to Clipboard<Fulfillment
Copy to Clipboard>
the fulfillment
Defined in
packages/medusa/src/services/fulfillment.ts:172
shouldRetryTransaction_
▸ Protected
Copy to Clipboard shouldRetryTransaction_(err
Copy to Clipboard): boolean
Copy to Clipboard
Parameters
Name | Type |
---|---|
err Copy to Clipboard | Record Copy to Clipboard<string Copy to Clipboard, unknown Copy to Clipboard> | { code Copy to Clipboard: string Copy to Clipboard } |
Returns
boolean
Copy to Clipboard
Inherited from
TransactionBaseService.shouldRetryTransaction_
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:31
validateFulfillmentLineItem_
▸ validateFulfillmentLineItem_(item
Copy to Clipboard, quantity
Copy to Clipboard): null
Copy to Clipboard | LineItem
Copy 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
Name | Type | Description |
---|---|---|
item Copy to Clipboard | undefined Copy to Clipboard | LineItem Copy to Clipboard | the line item to check has sufficient fulfillable quantity. |
quantity Copy to Clipboard | number Copy to Clipboard | the quantity that is requested to be fulfilled. |
Returns
null
Copy to Clipboard | LineItem
Copy 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): FulfillmentService
Copy to Clipboard
Parameters
Name | Type |
---|---|
transactionManager? Copy to Clipboard | EntityManager Copy to Clipboard |
Returns
FulfillmentService
Copy to Clipboard
Inherited from
TransactionBaseService.withTransaction
Defined in
packages/medusa/src/interfaces/transaction-base-service.ts:14