You can create Salesforce B2C Commerce promotions in a B2C Commerce tool (such as Business Manager) and you can access these promotions via the B2C Commerce API.
The AddBonusProductToBasket pipelet enables you to implement a choice of bonus product discount.
You can access B2C Commerce promotions via the scripting API, which provide a well-defined process that identifies, prioritizes and applies promotions, allowing you to:
Access to B2C Commerce promotions is via the classes available in the dw.Campaign package.
You can also use the dw.Order package for certain promotion types.
To learn about specific promotion areas, see the Related links section below.