Inventory pipelines

Version: 10.2

GetStockInformation pipeline

Name:

GetStockInformation

Description:

This pipeline is responsible for retrieving stock information for one or more products specified.

Usage:

Called from Sitecore.

Args:

Request - Contains the list of InventoryProduct, details level, shop name, location and customer ID. Is set prior to calling the pipeline.

Response - Contains the user object. Is read after the pipeline is called.

Processors:

GetStockInformation –

Responsibility:Retrieves stock information for the list of specified product IDs.

Usage: Calls the ECS to get the stock information.

Ownership: The processor is provided by the ECS.

Customization: Must be created as part of the connector integrating with the ECS.

StockStatusForIndexing pipeline

Name:

StockStatusForIndexing

Description:

Called during indexing to populate the index with stock information.

Usage:

Called from Sitecore.

Args:

Request – A list ofProduct IDs is provided from the Sitecore indexing.

Response – A list ofIndexStockInformation objects is returned for processing and inclusion into the index.

Processors:

StockStatusForIndexing –

Responsibility: Calls the ECS and retrieves stock information used to populate the product index.

Usage: Called when crawling the product repository and indexing the products.

Ownership: Custom processor provided with the connector to the ECS

Customization:

Note

The index contains only stock status information per product and not per variant.

The following table shows an example of the product index content for a T-shirt product that comes in different variants and with the In-Stock and Out-of-Stock columns:

Product ID (not variant)

Size

Color

In-Stock

Out-Of-Stock

Location

Pre-orderable

Aw123-04

S, M, L, XL

R, B, G, O

Central Store, Store1, Store2

Store3

Central Store 1, Store 2, Store 3

Yes

GetPreOrderableInformation pipeline

Name:

GetPreOrderableInformation

Description:

Contacts the ECS to get the preorderable information.

Usage:

Called from Sitecore.

Args:

Request – ShopName, list of InventoryProduct, Visitor ID, Location.

Response – A list of OrderableInformation.

Processors:

GetPreOrderableInformation

Responsibility:Contacts the ECS to get the preorderable information.

Usage: Called from Sitecore to retrieve information to be used for rendering to the visitor as well as restricting placing orders.

Ownership: Provided with the ECS connector.

Customization: Must be customized.

GetBackOrderableInformation pipeline

Name:

GetBackOrderableInformation

Description:

Contacts the ECS to get the back-orderable information.

Usage:

Called from Sitecore.

Args:

Request – ShopName, list of InventoryProduct, Visitor ID, Location.

Response – A list of OrderableInformation.

Processors:

GetBackOrderableInformation

Responsibility:Contacts the ECS to get the back-orderable information.

Usage: Called from Sitecore to retrieve information to be used for rendering to the visitor as well as restricting placing orders.

Ownership: Provided with the ECS connector.

Customization: Must be customized.

ProductsAreBackInStock pipeline

Name:

ProductsAreBackInStock

Description:

Triggers the page event Products Back In Stock, so that the visitors who have signed up can be notified.

Usage:

Called from Sitecore.

Args:

Request – Shop name and a list of InventoryProduct for which the product is back in stock.

Response – None

Processors:

TriggerPageEvent–

Responsibility:Triggers page event Products Back In Stock along with the shop name and a list of product IDs.

Usage: Called from the ECS to signal when products have come back in stock.

Ownership: Provided with Connect.

Customization: No immediate need.

GetBackInStockInformation pipeline

Name:

GetBackInStockInformation

Description:

The method and pipeline is used to get the updated stock information from the ECS.

The method is normally called because the ProductsAreBackInStock method has been called remotely and in that case the pipeline is implicitly called.

The difference between the GetStockInformation pipeline and the GetBackInStockInformation pipeline is that the first queries for stock information in a specified location and for a given customer, whereas the latter gets the stock information for all locations ignoring customer context.

Usage:

Called from Sitecore.

Args:

Request – Shop name and optionally a list of InventoryProduct.

Response – A list of StockInformationUpdate objects

OrderedProductStockStatus pipeline

Name:

OrderedProductStockStatus

Description:

The pipeline is called as a part of the SubmitOrder pipeline.

Usage:

Called implicitly from the AddLinesToCart pipeline from the Cart service layer to trigger a page event whenever a product which is out of stock is added to the cart.

Args:

Request – ShopName and Cart

Response - None, except for external system messages.

Processors:

TriggerPageEvent–

Responsibility:For each order line, it triggers the page event ProductsOutOfStockOrdered along with the ShopName, Order ID, Product ID, and Stock Status, if and only if the stock status is NOT InStock

Usage: Mandatory.

Ownership: Provided with Connect.

Customization: Not needed.

GetStockLocations pipeline

Name:

GetStockLocations

Description:

Usage:

Called from Sitecore.

Args:

Request – ShopName, and CustomerId.

Response – List of StockLocations.

Processors:

GetStockLocations

Responsibility:A placeholder pipeline that should be replaced with a processor that performs the same request against an ECS.

Usage: Mandatory.

Ownership: Provided with Connect.

Customization: Not needed.

GetProductStockLocations pipeline

Name:

GetProductStockLocations

Description:

Usage:

Called from Sitecore.

Args:

Request – ShopName, CustomerId, and ProductId.

Response – List of StockInformation.

Processors:

GetProductStockLocations

Responsibility:A placeholder pipeline that should be replaced with a processor that performs the same request against an ECS.

Usage: Mandatory.

Ownership: Provided with Connect.

Customization: Not needed.

Do you have some feedback for us?

If you have suggestions for improving this article,