Skip to main content
Skip to main content

ProductVariantInventoryService

Properties

__configModule__Record<string, unknown>
__container__anyRequired
__moduleDeclaration__Record<string, unknown>
eventBusService_IEventBusServiceRequired
getAvailabilityContextanyRequired
manager_EntityManagerRequired
productVariantService_ProductVariantServiceRequired
salesChannelInventoryService_SalesChannelInventoryServiceRequired
salesChannelLocationService_SalesChannelLocationServiceRequired
transactionManager_undefined | EntityManagerRequired

Accessors

activeManager_

Inherited from

TransactionBaseService.activeManager_


inventoryService_


stockLocationService_

Methods

adjustInventory

Adjusts inventory of a variant on a location

Parameters
variantIdstringRequired
variant id
locationIdstringRequired
location id
quantitynumberRequired
quantity to adjust
Returns
PromisePromise<void>Required

adjustReservationsQuantityByLineItem

Adjusts the quantity of reservations for a line item by a given amount.

Parameters
lineItemIdstringRequired
The ID of the line item
variantIdstringRequired
The ID of the variant
locationIdstringRequired
The ID of the location to prefer adjusting quantities at
quantitynumberRequired
The amount to adjust the quantity by
Returns
PromisePromise<void>Required

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.

Parameters
work(transactionManager: EntityManager) => Promise<TResult>Required
the transactional work to be done
isolationOrErrorHandlerIsolationLevel | (error: TError) => Promise<void | TResult>
the isolation level to be used for the work.
maybeErrorHandlerOrDontFail(error: TError) => Promise<void | TResult>
Potential error handler
Returns
PromisePromise<TResult>Required
the result of the transactional work

attachInventoryItem

**attachInventoryItem**(attachments): Promise&#60;[ProductVariantInventoryItem](/references/js-client/internal/classes/internal.internal.ProductVariantInventoryItem)[]&#62;

Attach a variant to an inventory item

Parameters
attachments{ inventoryItemId: string ; requiredQuantity?: number ; variantId: string }[]Required
Returns
PromisePromise<ProductVariantInventoryItem[]>Required
the variant inventory item

**attachInventoryItem**(variantId, inventoryItemId, requiredQuantity?): Promise&#60;[ProductVariantInventoryItem](/references/js-client/internal/classes/internal.internal.ProductVariantInventoryItem)[]&#62;

Parameters
variantIdstringRequired
inventoryItemIdstringRequired
requiredQuantitynumber
Returns
PromisePromise<ProductVariantInventoryItem[]>Required

confirmInventory

confirms if requested inventory is available

Parameters
variantIdstringRequired
id of the variant to confirm inventory for
quantitynumberRequired
quantity of inventory to confirm is available
contextobject
optionally include a sales channel if applicable
context.salesChannelIdnull | string
Returns
PromisePromise<Boolean>Required
boolean indicating if inventory is available

deleteReservationsByLineItem

delete a reservation of variant quantity

Parameters
lineItemIdstring | string[]Required
line item id
variantIdstringRequired
variant id
quantitynumberRequired
quantity to release
Returns
PromisePromise<void>Required

detachInventoryItem

Remove a variant from an inventory item

Parameters
inventoryItemIdstringRequired
inventory item id
variantIdstring
variant id or undefined if all the variants will be affected
Returns
PromisePromise<void>Required

getVariantQuantityFromVariantInventoryItems

Get the quantity of a variant from a list of variantInventoryItems The inventory quantity of the variant should be equal to the inventory item with the smallest stock, adjusted for quantity required to fulfill the given variant.

Parameters
variantInventoryItemsProductVariantInventoryItem[]Required
List of inventoryItems for a given variant, These must all be for the same variant
channelIdstringRequired
Sales channel id to fetch availability for
Returns
PromisePromise<number>Required
The available quantity of the variant from the inventoryItems

listByItem

list registered inventory items

Parameters
itemIdsstring[]Required
list inventory item ids
Returns
PromisePromise<ProductVariantInventoryItem[]>Required
list of inventory items

listByVariant

List inventory items for a specific variant

Parameters
variantIdstring | string[]Required
variant id
Returns
PromisePromise<ProductVariantInventoryItem[]>Required
variant inventory items for the variant id

listInventoryItemsByVariant

lists inventory items for a given variant

Parameters
variantIdstringRequired
variant id
Returns
PromisePromise<InventoryItemDTO[]>Required
lidt of inventory items for the variant

listVariantsByItem

lists variant by inventory item id

Parameters
itemIdstringRequired
item id
Returns
PromisePromise<ProductVariant[]>Required
a list of product variants that are associated with the item id

reserveQuantity

Reserves a quantity of a variant

Parameters
variantIdstringRequired
variant id
quantitynumberRequired
quantity to reserve
optional parameters
Returns
PromisePromise<void | ReservationItemDTO[]>Required

retrieve

Retrieves a product variant inventory item by its inventory item ID and variant ID.

Parameters
inventoryItemIdstringRequired
The ID of the inventory item to retrieve.
variantIdstringRequired
The ID of the variant to retrieve.
Returns
PromisePromise<ProductVariantInventoryItem>Required
A promise that resolves with the product variant inventory item.

setProductAvailability

Parameters
products(Product | PricedProduct)[]Required
salesChannelIdundefined | string | string[]Required
Returns
PromisePromise<(Product | PricedProduct)[]>Required

setVariantAvailability

Parameters
variantsProductVariant[] | PricedVariant[]Required
salesChannelIdundefined | string | string[]Required
availabilityContextAvailabilityContext
Returns
PromisePromise<ProductVariant[] | PricedVariant[]>Required

shouldRetryTransaction_

Parameters
errRecord<string, unknown> | { code: string }Required
Returns
booleanboolean

validateInventoryAtLocation

Validate stock at a location for fulfillment items

Parameters
itemsOmit<LineItem, "beforeInsert">[]Required
Fulfillment Line items to validate quantities for
locationIdstringRequired
Location to validate stock at
Returns
PromisePromise<void>Required
nothing if successful, throws error if not

withTransaction

Parameters
transactionManagerEntityManager
Returns
ProductVariantInventoryServiceProductVariantInventoryServiceRequired
Was this section helpful?