Pipeline Overview
In this article you will get an overview of many of the pipeline in Ucommerce and when they're used. If you want to modify the behavior of any of the pipeline, you should take a look at our article about custom pipeline task and how to register them.
If you want general information about what a pipeline is you should take a look at the pipelines explained article.
Basket pipelines
Add Address pipeline
The add address pipeline is used to add and update both shipping and billing addresses to a basket. If you want to change the way addresses are added/updated or react to an address being added/updated then this pipeline is where you should hook in a custom pipeline task.
In Sitecore this pipeline also adds information about the customer to the analytics tracker.
The add adress pipeline is registered with the id "AddAddress".
Add to Basket pipeline
The add to basket pipeline is used to add a product to a basket, If you want to change the way products are added to a basket, add additional information or react to a product being added to a basket then this is where you should hook in a custom pipeline task.
The add to basket pipeline is registered with the id "AddToBasket".
Basket pipeline
The basket pipeline is used to apply discounts, calculate taxes and calculate the different totals on a basket. If you want to add additional information, change the way discounts, taxes or totals are handled then this is where you should hook in a custom pipeline task.
The basket pipeline is used during browse and checkout to keep the customers basket up to date and should be executed every time the basket is being modified.
The basket pipeline is registered with the id "Basket".
Checkout pipeline
The checkout pipeline is used after the callback from the payment gateway, which is successful. The checkout pipeline will convert the basket to an order, assign an order number, run the create customer pipeline, run the create member pipeline and send a confirmation email to the customer. If you want to change the way the previously mentioned actions are handled or you want to react to a basket becoming an order then this is where you should hook in a custom pipeline task.
The checkout pipeline is registered with the id "Checkout".
Create Basket pipeline
The create basket pipeline is used to create a basket and gives customer the basketid cookie. If you want to change the way baskets are created, the basketid cookie is created or want to react to basket being created, then this is where you should hook in a custom pipeline task.
The create basket pipeline is registered with the id "CreateBasket".
Create Shipment pipeline
The create shipment pipeline is used to create a shipment and add all the baskets order lines to the new shipment. If you want to change the way the shipment is created, how it handles the order lines or react to a shipment being created, then this is where you should hook in a custom pipeline task.
The create shipment pipeline is registered with the id "CreateShipment".
Get Basket pipeline
The get basket pipeline is used to get an existing basket and extending the basketid cookie's life time or create a new basket depending on the input parameters. If you want to change the way the pipeline fetches a basket, the way the basketid cookie's life time is extended, the way it's determined whether to create a new basket or not, or react to a shipment being created, then this is where you should hook in a custom pipeline task.
The get basket pipeline is registerd with id "GetBasket".
Remove Shipment pipeline
The remove shipment pipeline is used to remove a shipment from a basket. If you want the change the way the shipment is removed or react when a shipment is removed from the basket, or react to a shipment being removed, then this is where you should hook in a custom pipeline task.
The remove shipment pipeline is registerd with id "RemoveShipment".
Update Line Item pipeline
The update line item pipeline is used to update an order line on a basket, it will remove the order line if the input parameter "Quantity" is 0. If you want to change the way the order line is updated or reach when an order line is updated, then this is where you should hook in a custom pipeline task.
The update line item pipeline is registerd with id "UpdateLineItem".
Catalog pipelines
Get Product pipeline
The get product pipeline is used to fetch a single product based on a sku or a sku and a variant sku. If you want to change the way products are fetched or react when a single product is fetched from the database, then this is where you should hook in a custom pipeline task.
The get product pipeline is registerd with id "GetProduct".
Product review pipeline
The product review pipeline is used to create a product review, auto approve the review based on store settings and calcute the products average rating. If you want to change the way the review is created, how it's determined whether to auto approve the review or not, how the average product rating is calculated, or react when product review is created, then this is where you should hook in a custom pipeline task.
The product review pipeline is registerd with id "ProductReview".
Product Review Comment pipeline
The product review comment pipeline is used to create a product review commment and auto approve the comment based on store settings. If you want to change the way the comment is created, how it's determined whether to auto approve the comment or not, or react when product review comment is created, then this is where you should hook in a custom pipeline task.
The product review comment pipeline is registerd with id "ProductReviewComment".
Customer pipelines
Create Customer pipeline
The create customer pipeline is run by checkout pipeline if a customer doesn't already exist with the email provided in the baskets billing address and the customer pipeline will create a new customer. If you want to change how the customer is created or react to customer being created, then this is where you should hook in a custom pipeline task.
The create customer pipeline is registerd with id "CreateCustomer".
Create Member pipeline
The create member pipeline is run by checkout pipeline depending on the store settings and if member doesn't exist for the customer. If you want to change how the member is created or react to member being created, then this is where you should hook in a custom pipeline task.
The create member pipeline is registerd with id "CreateMember".
Order pipelines
Order Save Pipeline
The order save pipeline is used when an order is saved in the back office and it calculates taxes and calculates the different totals on a basket, it doesn't modify discounts. If you want to add additional information, change the way taxes or totals are handled, then this is where you should hook in a custom pipeline task.
The order save pipeline is registered with the id "SaveOrder".
Order To Cancelled Pipeline
The order to cancelled pipeline is used when the order status of an order is changed to cancelled in the back office. You can configure Ucommerce to cancel/refund payments when the pipeline is run. If you want to add additional information or want to react to an order being cancelled, then this is where you should hook in a custom pipeline task.
The order to cancel pipeline is registered with the id "ToCancelled".
Order To Completed Pipeline
The order to completed pipeline is used when the order status of an order is changed to completed in the back office. You can configure Ucommerce to cancel/refund payments when the pipeline is run. If you want to add additional information or want to react to an order being completed, then this is where you should hook in a custom pipeline task.
The order to completed pipeline is registered with the id "ToCompletedOrder".