Bundles
Pre-defined product combinations with special pricing (e.g., meal deals, gift sets).
GET
/api/v1/catalogue/bundles/{id}Get Bundle
Returns the bundle with its component products. Each component specifies which variants the customer must select.
Example Request
curl
curl https://storefront.cimplify.io/api/v1/catalogue/bundles/bundle_breakfast \
-H "X-API-Key: pk_test_your_api_key"Example Response
JSON
{
"success": true,
"data": {
"id": "bundle_breakfast",
"name": "Breakfast Combo",
"description": "Coffee, croissant, and juice",
"default_price": "12.99",
"image_url": "https://cdn.example.com/breakfast.jpg",
"product_type": "bundle",
"components": [
{
"id": "comp_1",
"product_id": "prod_coffee",
"product_name": "House Coffee",
"quantity": 1,
"required_variant_selection": true,
"available_variants": [
{ "id": "var_small", "name": "Small" },
{ "id": "var_large", "name": "Large" }
]
},
{
"id": "comp_2",
"product_id": "prod_croissant",
"product_name": "Butter Croissant",
"quantity": 1,
"required_variant_selection": false,
"available_variants": []
},
{
"id": "comp_3",
"product_id": "prod_juice",
"product_name": "Fresh Orange Juice",
"quantity": 1,
"required_variant_selection": false,
"available_variants": []
}
]
}
}Adding a Bundle to Cart
Pass bundle_selections when adding a bundle item to the cart or requesting a quote:
JSON
// POST /api/v1/cart/items
{
"item_id": "bundle_breakfast",
"quantity": 1,
"bundle_selections": [
{ "component_id": "comp_1", "variant_id": "var_large" }
]
}Bundle Component Object
| Field | Type | Description |
|---|---|---|
id | string | Component identifier |
product_id | string | Included product ID |
product_name | string | Included product name |
quantity | integer | Quantity of this component |
required_variant_selection | boolean | Whether customer must choose a variant |
available_variants | array | Variant options for this component |