Bundle product data types
The BundleProduct
data type implements the following interfaces:
ProductInterface
PhysicalProductInterface
CustomizableProductInterface
Attributes that are specific to bundle products can be used when performing a products
query.
BundleProduct object
The BundleProduct
object contains the following attributes:
Attribute | Type | Description |
---|---|---|
dynamic_price |
Boolean | Indicates whether the bundle product has a dynamic price |
dynamic_sku |
Boolean | Indicates whether the bundle product has a dynamic SKU |
dynamic_weight |
Boolean | Indicates whether the bundle product has a dynamically calculated weight |
items |
[BundleItem] | An array containing information about individual bundle items |
price_view |
PriceViewEnum | One of PRICE_RANGE or AS_LOW_AS |
ship_bundle_items |
ShipBundleItemsEnum | Indicates whether to ship bundle items TOGETHER or SEPARATELY |
BundleItem object
The BundleItem
object contains the following attributes:
Attribute | Type | Description |
---|---|---|
option_id |
Int | An ID assigned to each type of item in a bundle product |
options |
[BundleItemOption] | An array of additional options for this bundle item |
position |
Int | The relative position of this item compared to the other bundle items |
required |
Boolean | Indicates whether the item must be included in the bundle |
sku |
String | The SKU of the bundle product |
title |
String | The display name of the item |
type |
String | The input type that the customer uses to select the item. Examples include radio button and checkbox. |
BundleItemOption object
The BundleItemOption
object contains the following attributes:
Attribute | Type | Description |
---|---|---|
can_change_quantity |
Boolean | Indicates whether the customer can change the number of items for this option |
id |
Int | The ID assigned to the bundled item option |
is_default |
Boolean | Indicates whether this option is the default option |
label |
String | The text that identifies the bundled item option |
position |
Int | When a bundle item contains multiple options, the relative position of this option compared to the other options |
price_type |
PriceTypeEnum | One of FIXED, PERCENT, or DYNAMIC |
price |
Float | The price of the selected option |
product |
ProductInterface | Contains details about this product option |
qty |
Float | Deprecated. Use quantity instead |
quantity |
Float | Indicates the quantity of this specific bundle item |
Sample Query
The following query returns information about bundle product 24-WG080
, which is defined in the sample data.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
{
products(filter: {sku:
{eq: "24-WG080"}
})
{
items{
sku
__typename
id
name
... on BundleProduct {
dynamic_sku
dynamic_price
dynamic_weight
price_view
ship_bundle_items
items {
option_id
title
required
type
position
sku
options {
id
quantity
position
is_default
price
price_type
can_change_quantity
label
product {
id
name
sku
__typename
}
}
}
}
}
}
}
Response
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
{
"data": {
"products": {
"items": [
{
"sku": "24-WG080",
"__typename": "bundle",
"id": 46,
"name": "Sprite Yoga Companion Kit",
"dynamic_sku": true,
"dynamic_price": true,
"dynamic_weight": true,
"price_view": "PRICE_RANGE",
"ship_bundle_items": "TOGETHER",
"items": [
{
"option_id": 1,
"title": "Sprite Stasis Ball",
"required": true,
"type": "radio",
"position": 1,
"sku": "24-WG080",
"options": [
{
"id": 1,
"quantity": 1,
"position": 1,
"is_default": true,
"price": 0,
"price_type": "FIXED",
"can_change_quantity": true,
"label": "Sprite Stasis Ball 55 cm",
"product": {
"id": 26,
"name": "Sprite Stasis Ball 55 cm",
"sku": "24-WG081-blue",
"__typename": "simple"
}
},
{
"id": 2,
"quantity": 1,
"position": 2,
"is_default": false,
"price": 0,
"price_type": "FIXED",
"can_change_quantity": true,
"label": "Sprite Stasis Ball 65 cm",
"product": {
"id": 29,
"name": "Sprite Stasis Ball 65 cm",
"sku": "24-WG082-blue",
"__typename": "simple"
}
},
{
"id": 3,
"quantity": 1,
"position": 3,
"is_default": false,
"price": 0,
"price_type": "FIXED",
"can_change_quantity": true,
"label": "Sprite Stasis Ball 75 cm",
"product": {
"id": 32,
"name": "Sprite Stasis Ball 75 cm",
"sku": "24-WG083-blue",
"__typename": "simple"
}
}
]
},
{
"option_id": 2,
"title": "Sprite Foam Yoga Brick",
"required": true,
"type": "radio",
"position": 2,
"sku": "24-WG080",
"options": [
{
"id": 4,
"quantity": 1,
"position": 1,
"is_default": true,
"price": 0,
"price_type": "FIXED",
"can_change_quantity": true,
"label": "Sprite Foam Yoga Brick",
"product": {
"id": 21,
"name": "Sprite Foam Yoga Brick",
"sku": "24-WG084",
"__typename": "simple"
}
}
]
},
{
"option_id": 3,
"title": "Sprite Yoga Strap",
"required": true,
"type": "radio",
"position": 3,
"sku": "24-WG080",
"options": [
{
"id": 5,
"quantity": 1,
"position": 1,
"is_default": true,
"price": 0,
"price_type": "FIXED",
"can_change_quantity": true,
"label": "Sprite Yoga Strap 6 foot",
"product": {
"id": 33,
"name": "Sprite Yoga Strap 6 foot",
"sku": "24-WG085",
"__typename": "simple"
}
},
{
"id": 6,
"quantity": 1,
"position": 2,
"is_default": false,
"price": 0,
"price_type": "FIXED",
"can_change_quantity": true,
"label": "Sprite Yoga Strap 8 foot",
"product": {
"id": 34,
"name": "Sprite Yoga Strap 8 foot",
"sku": "24-WG086",
"__typename": "simple"
}
},
{
"id": 7,
"quantity": 1,
"position": 3,
"is_default": false,
"price": 0,
"price_type": "FIXED",
"can_change_quantity": true,
"label": "Sprite Yoga Strap 10 foot",
"product": {
"id": 35,
"name": "Sprite Yoga Strap 10 foot",
"sku": "24-WG087",
"__typename": "simple"
}
}
]
},
{
"option_id": 4,
"title": "Sprite Foam Roller",
"required": true,
"type": "radio",
"position": 4,
"sku": "24-WG080",
"options": [
{
"id": 8,
"quantity": 1,
"position": 1,
"is_default": true,
"price": 0,
"price_type": "FIXED",
"can_change_quantity": true,
"label": "Sprite Foam Roller",
"product": {
"id": 22,
"name": "Sprite Foam Roller",
"sku": "24-WG088",
"__typename": "simple"
}
}
]
}
]
}
]
}
}
}