- Product catalogs
Product bundles
Product bundles enable selling multiple products together with customized pricing, quantity requirements, and flexible configurations. This feature supports various e-commerce scenarios from simple product groupings to complex package configurations.
Common use cases
Employee uniforms
- Bundle multiple uniform items
- Apply package discounts
- Set minimum quantities
- Ensure complete sets
Complementary products
- Group related items
- Offer package pricing
- Encourage cross-selling
- Simplify purchasing
Equipment packages
- Bundle main products with accessories
- Include required components
- Offer optional additions
- Streamline selection
Core features
Bundle visibility
- Appears in product lists
- Filter with
BundleID={id} - Follows product visibility rules
- Requires visible component products
Assignment flexibility
- Catalog assignments
- Category placement
- Party-specific availability
- Granular control
Pricing structure
- Individual product pricing
- Tax calculation support
- Bundle-specific rates
- Flexible discounting
Order management
- Single API call creation
- Component management
- Quantity control
- Validation rules
Product properties
Product.IsBundle
Read-only flag that:
- Identifies bundle products
- Enables list visibility
- Prevents single-item orders
- Supports filtering (
IsBundle=false)
LineItem.IsBundle
Read-only indicator for:
- Bundle order items
- Zero unit pricing
- Order count exclusion
- Bundle identification
LineItem.BundleItemID
Reference field providing:
- Bundle line item links
- Purchase identification
- UI grouping support
- Order management
PriceBreak.BundlePrice
Price determination with priority:
- BundlePrice: Bundle-specific rate
- SubscriptionPrice: For subscription orders
- SalePrice: Active sale pricing
- Price: Standard pricing
Bundle resource
Core bundle definition:
Important: Maintain consistent xp schemas between bundles and products to prevent indexing issues.
Security roles
Access control through:
- BundleReader: View access
- BundleAdmin: Full management
- BundleAssignmentAdmin: Assignment control
API endpoints
Bundle management
Core operations:
GET v1/bundlesGET v1/bundles/{bundleID}POST v1/bundlesPUT v1/bundles/{bundleID}PATCH v1/bundles/{bundleID}DELETE v1/bundles/{bundleID}
Assignment management
Catalog assignments
Structure:
Operations:
GET v1/catalogs/bundleassignmentsPOST v1/catalogs/bundleassignmentsDELETE v1/catalogs/{catalogID}/bundleassignments/{bundleID}
Category assignments
Structure:
Operations:
GET v1/catalogs/{catalogID}/categories/bundleassignmentsPOST v1/catalogs/{catalogID}/categories/bundleassignmentsDELETE v1/catalogs/{catalogID}/categories/{categoryID}/bundleassignments/{bundleID}
Product assignments
Structure:
Operations:
GET v1/bundles/productassignmentsPOST v1/bundles/productassignmentsDELETE v1/bundles/{bundleID}/productassignments/{productID}
Party assignments
Structure:
Operations:
GET v1/bundles/assignmentsPOST v1/bundles/assignmentsDELETE v1/bundles/{bundleID}/assignments/{buyerID}
Order management
Bundle order structure
Creates multiple items:
- Bundle representation item
- Component product items
- Inter-item references
- Price allocations
Bundle operations
Adding bundles:
POST v1/orders/{direction}/{orderID}/bundles/{bundleID}POST v1/cart/bundles/{bundleID}
Configuration options:
- Optional line item specifications
- Default quantity handling
- Required product validation
- Parent product handling
- Required spec validation
- Custom validation via pre-webhooks
Example validation:
- Optional shorts and socks in uniform bundle
- Require socks if shorts selected
- Enforce package completeness
- Validate configurations
Removing bundles:
DELETE v1/orders/{direction}/{orderID}/bundles/{bundleID}/{bundleItemID}DELETE v1/cart/bundles/{bundleID}/{bundleItemID}
Item management:
-
Update operations:
-
Delete operations:
Important: Cannot delete required bundle items.
Implementation example
Scenario
Creating a three-product bundle with:
- Existing price schedules
- Catalog visibility
- Custom bundle pricing
Administrative setup
-
Configure pricing:
Set bundle-specific prices
-
Create bundle:
Define bundle structure
-
Set catalog placement:
-
Configure products:
Specify requirements
-
Manage access:
Control visibility
Shopper experience
-
Bundle discovery:
View available bundles
-
Bundle examination:
Review components and pricing
-
Purchase initiation:
Add to cart
Related reading
- Bundle products for enhanced commerce experiences
- Introducing order returns
- Introducing the Cart API