Pipelet AddBonusProductToBasket
Adds a bonus product to the Basket associated with the specified BonusDiscountLineItem. The pipelet creates and returns a ProductLineItem, by assigning the specified Product and Quantity to the specified Basket. If this process fails, then the pipelet exits with an ERROR. Otherwise the pipelet adds the new ProductLineItem to the specified shipment or the default shipment if not specified.
The passed product must be one of the products associated with the BonusDiscountLineItem or the process will fail. The process does NOT validate if the number of bonus products exceeds the maximum allowed by the bonus discount. This is the job of application logic.
Pipelet always creates a new product line item, regardless of the value of the site preference 'Add Product Behavior'.
Group:
Basket
Flags:
Error Connector
Transaction Required
Input Parameters
Basket  :  Basket (Required)
The basket to add the product to.
BonusDiscountLineItem  :  BonusDiscountLineItem (Required)
Line item representing an applied BonusChoiceDiscount in the basket. The product must be in the bonus product list of this discount.
Product  :  Product (Required)
The product that is to be added to the basket.
Quantity  :  Number (Required)
The quantity of the product.
ProductOptionModel  :  ProductOptionModel (Optional)
The option model of the product that is to be added to the basket.
Shipment  :  LineItemGroup (Optional)
Specifies the shipment the bonus product should be added to. If not specified, the pipelet automatically adds the product to the default shipment of the basket.
Output Parameters
ProductLineItem  :  ProductLineItem  :  (Optional)
The newly created product line item.