Skip to main content

Fetch a cluster with its products

Retrieve a cluster and all its variant products.

Query

query GetCluster($clusterId: Int!, $taxZone: String!) {
cluster(clusterId: $clusterId) {
clusterId
names { language value }
descriptions { language value }
categoryId
hidden
defaultProduct {
productId
names { language value }
}
products {
productId
sku
names { language value }
status
orderable
price(input: { quantity: 1, taxZone: $taxZone }) {
gross
net
}
}
}
}

Variables

{
"clusterId": 30,
"taxZone": "NL"
}

Response

{
"data": {
"cluster": {
"clusterId": 30,
"names": [{ "language": "NL", "value": "Dell Optiplex 7010 serie" }],
"descriptions": [{ "language": "NL", "value": "<p>Zakelijke desktop-pc reeks</p>" }],
"categoryId": 1796,
"hidden": "N",
"defaultProduct": {
"productId": 880,
"names": [{ "language": "NL", "value": "Dell Optiplex 7010 - i5 / 16GB / 512GB" }]
},
"products": [
{
"productId": 880,
"sku": "DELL-7010-I5-16",
"names": [{ "language": "NL", "value": "Dell Optiplex 7010 - i5 / 16GB / 512GB" }],
"status": "A",
"orderable": "Y",
"price": { "gross": 749, "net": 906.29 }
},
{
"productId": 881,
"sku": "DELL-7010-I7-32",
"names": [{ "language": "NL", "value": "Dell Optiplex 7010 - i7 / 32GB / 1TB" }],
"status": "A",
"orderable": "Y",
"price": { "gross": 1149, "net": 1390.29 }
}
]
}
}
}

How it works

Each product in a cluster has its own independent price — there is no price inheritance from the cluster level. The products field is not paginated. Products inside the cluster have categoryId: 0 and inherit their category from the cluster's categoryId.

See also