Ürünleri combined listing altında birleştirme
Ayrı renk ürünlerini tek bir ilan olarak gösterin: bir parent ürün oluşturun, ardından combinedListingUpdate ile child ürünleri ve seçenek değerlerini bağlayın.
- API
- Admin GraphQL API
- İşlemler
- productCreate, combinedListingUpdate
- Erişim yetkisi
- write_products
- Plan
- Shopify Plus
- API sürümü
- 2026-10
- Son kontrol
Kısaca
Bir combined listing kurmak için productCreate ile combinedListingRole PARENT olan bir parent ürün oluşturun. Ardından combinedListingUpdate’i parent’ın ID’si, göstereceği seçenek ve değerler (optionsAndValues) ve her child ürünün temsil ettiği parent seçenek değeriyle (productsAdded) çağırın. Combined listings yalnızca Shopify Plus planındaki mağazalarda kullanılabilir.
Nasıl kullanılır
- Önce her renk için bir child ürün oluşturun; her birinin kendi görselleri, handle’ı ve varyantları olsun.
- CreateListingParent’ı combinedListingRole PARENT ile gönderin. Parent’ın stoğu yoktur ve tek başına satın alınamaz.
- AddColorsToListing’i parent ID’si, parent seçeneği (değerleriyle Color) ve her biri bir değere eşlenmiş child ürünlerle gönderin.
- Sonradan bir child’ı yeniden eşlemek için productsEdited, çıkarmak için productsRemovedIds, parent seçeneklerini değiştirmek için optionsAndValues kullanın.
Kod
product-create-parent.graphqlmutation CreateListingParent($product: ProductCreateInput!) {
productCreate(product: $product) {
product {
id
combinedListingRole
}
userErrors {
field
message
}
}
}
product-create-parent.variables.json{
"product": {
"title": "Linen shirt",
"handle": "linen-shirt-all-colors",
"status": "ACTIVE",
"combinedListingRole": "PARENT"
}
}
product-create-parent.response.json{
"data": {
"productCreate": {
"product": {
"id": "gid://shopify/Product/1234567890",
"combinedListingRole": "PARENT"
},
"userErrors": []
}
}
}
combined-listing-update.graphqlmutation AddColorsToListing(
$parentProductId: ID!
$productsAdded: [ChildProductRelationInput!]
$optionsAndValues: [OptionAndValueInput!]
) {
combinedListingUpdate(
parentProductId: $parentProductId
productsAdded: $productsAdded
optionsAndValues: $optionsAndValues
) {
product {
id
combinedListingRole
combinedListing {
combinedListingChildren(first: 10) {
nodes {
product {
id
title
}
parentVariant {
id
selectedOptions {
name
value
}
}
}
}
}
}
userErrors {
code
field
message
}
}
}
combined-listing-update.variables.json{
"parentProductId": "gid://shopify/Product/1234567890",
"optionsAndValues": [
{"name": "Color", "values": ["Sand", "Navy"]}
],
"productsAdded": [
{
"childProductId": "gid://shopify/Product/1111111111",
"selectedParentOptionValues": [{"name": "Color", "value": "Sand"}]
},
{
"childProductId": "gid://shopify/Product/1111111112",
"selectedParentOptionValues": [{"name": "Color", "value": "Navy"}]
}
]
}
combined-listing-update.response.json{
"data": {
"combinedListingUpdate": {
"product": {
"id": "gid://shopify/Product/1234567890",
"combinedListingRole": "PARENT",
"combinedListing": {
"combinedListingChildren": {
"nodes": [
{
"product": {"id": "gid://shopify/Product/1111111111", "title": "Linen shirt - Sand"},
"parentVariant": {"id": "gid://shopify/ProductVariant/2222222221", "selectedOptions": [{"name": "Color", "value": "Sand"}]}
},
{
"product": {"id": "gid://shopify/Product/1111111112", "title": "Linen shirt - Navy"},
"parentVariant": {"id": "gid://shopify/ProductVariant/2222222222", "selectedOptions": [{"name": "Color", "value": "Navy"}]}
}
]
}
}
},
"userErrors": []
}
}
}
Lintel tarafından yazıldı. MIT lisansı: kendi mağazanızda da müşteri işlerinizde de ücretsiz kullanabilirsiniz.
Sınırlar ve özel durumlar
- Bir parent’ın en fazla 60 child ürünü ve bunlara yayılmış en fazla 2000 varyantı olabilir.
- Satışlar child ürünlerde izlenir; checkout ve siparişlerde parent değil child görünür.
- Bir combined listing bundle olamaz ve başka bir combined listing’in parçası olamaz.
- Mağazada tek ürün olarak görünmesi için temanın combined listings’i desteklemesi gerekir.
Sık sorulan sorular
- Shopify combined listings nedir?
- Genellikle her renk için bir tane olmak üzere birkaç ürünün, mağazada ortak bir seçenek seçicisiyle tek ürün olarak gösterilmesidir. Her child kendi URL’sini, görsellerini ve stoğunu korur.
- Combined listings için Shopify Plus gerekir mi?
- Evet. Combined listings’i yalnızca Shopify Plus planındaki mağazalar kullanabilir.
- Parent ürünü productSet ile oluşturabilir miyim?
- Shopify’ın referansı parent’ı productCreate ve combinedListingRole PARENT ile oluşturur; burada da bu yol gösteriliyor.
Shopify belgeleri
- Gösterilen tarihte, 2026-10 sürümünün Admin veya Storefront API şemasıyla doğrulandı. İstek adresinizdeki sürümü kontrol edin.
- Örneklerdeki ID’ler ve mağaza adresleri yer tutucudur. Kendi değerlerinizle değiştirin.
- Admin API çağrıları uygulamanızdan bir erişim anahtarı (access token) ister. Admin API anahtarını asla vitrine ya da temaya koymayın.
- MIT lisansı. Kodu kendi mağazanızda da müşteri işlerinizde de kullanabilirsiniz.
Mağazanız için kurulmasını, test edilmesini ve bakımını isterseniz: API entegrasyonları.
