Shopify’da Cart Transform ile ürün paketleri: Plus ne zaman gerekir?

Kısa yanıt

Shopify’ın ücretsiz Bundles uygulaması sabit paketleri ve çoklu paketleri her planda karşılar. Karıştır-eşleştir gibi müşterinin kendi oluşturduğu paketler, sepet satırlarını açan veya birleştiren Cart Transform Function’ı gerektirir. Her plan bunu App Store’daki bir uygulama üzerinden kullanabilir. Shopify Plus ise bu function’ı içeren özel bir uygulama için ve bir satırın fiyatını, başlığını ya da görselini değiştiren lineUpdate işlemi için gerekir.

  • Shopify Bundles uygulaması ücretsizdir, tüm planlarda kullanılabilir ve sabit paketler ile çoklu paketler oluşturur.
  • Cart Transform’un üç işlemi vardır: lineExpand, linesMerge ve lineUpdate.
  • lineUpdate kullanan uygulamaları yalnızca geliştirme mağazaları ya da tam Shopify Plus planındaki mağazalar kullanabilir; Plus deneme mağazalarında kullanılamaz.
  • Shopify Functions içeren özel uygulamaları yalnızca Shopify Plus mağazaları kullanabilir; Functions içeren App Store uygulamaları her planda çalışır.
  • Bir mağaza her uygulama için en fazla bir cart transform function’ı kurabilir.
  • Paketler abonelik, ön sipariş ya da önce dene sonra al gibi satış planlarıyla (selling plan) satılamaz.

Paketler tek bir özellik gibi görünür, ama Shopify’da üç farklı plan kuralına sahip üç farklı yapıdır. Sabit bir hediye seti, “istediğin üçünü seç” kutusu ve satırı ödeme sayfasında özel bir başlık ve fiyatla gösterilen bir paket aynı iş değildir. Kod yazılmadan önce yolu seçmek, işi sonradan yeniden yapmaktan kurtarır; kararı da çoğu zaman plan belirler.

Pakete giden üç yol

YolUygun olduğu işPlan
Shopify Bundles uygulamasıSabit paketler ve çoklu paketlerTüm planlar
Cart Transform kullanan bir App Store paket uygulamasıÖzel kod yazmadan karıştır-eşleştir ve diğer özelleştirilmiş paketlerHer plan (Functions içeren App Store uygulamaları)
Kendi Cart Transform function’ınızı içeren özel uygulamaListelenen hiçbir uygulamanın desteklemediği paket mantığıShopify Plus

Yazının geri kalanında her satırı ve hangi uygulamadan gelirse gelsin Plus gerektiren tek Cart Transform işlemini açıklıyoruz.

Sabit paketler ve çoklu paketler: Shopify Bundles uygulaması

Shopify Bundles, Shopify’ın kendi ücretsiz uygulamasıdır. Shopify yönetim panelinden sabit ürün paketleri ve çoklu paketler oluşturur ve tüm Shopify planlarında kullanılabilir. Paket her zaman aynı ürünlerden aynı adetlerde oluşuyorsa buradan başlayın.

Karar vermeden önce uygulamanın belgelenmiş sınırlarını ve her paket için geçerli birkaç kuralı kataloğunuzla karşılaştırın:

  • Boyut. Sabit paketler en fazla 30 bileşen alır; bileşen başına en fazla 2.000 adet, paket başına en fazla 3 seçenek ve 100 varyant olabilir.
  • Stok. Paketler stoğu konum bazında değil, yalnızca toplam stok üzerinden izler. Bulunabilirliği ilk tükenen bileşen belirler: her bileşenin stoğu, paketin ihtiyaç duyduğu adede bölünür ve en düşük sonuç alınır.
  • Fiyat. Bir bileşenin fiyatı değiştiğinde paket fiyatı onu izlemez. Elle güncellersiniz.
  • İndirimler. Bir paketteki indirim paketin toplam fiyatı üzerinden hesaplanır, sonra bileşenlere fiyatlarıyla orantılı olarak dağıtılır.
  • Hiçbir pakette desteklenmeyenler. Shopify’ın uygunluk sayfası paket içinde paketi, içe aktarma, dışa aktarma ve toplu düzenlemeyi ve aynı paket için bile olsa değişimi listeler.

İki uygunluk kuralı, hangi uygulama oluşturursa oluştursun Shopify’daki her paket için geçerlidir. Mağaza Online Store ya da özel bir vitrin üzerinden satış yapmalı ve yükseltilmiş ödeme sayfasını kullanmalıdır: hâlâ checkout.liquid kullanan mağazalar paket satamaz. Ayrıca paketler satın alma seçenekleriyle uyumlu değildir; buna abonelikler, ön siparişler ve önce dene sonra al dahildir.

Cart Transform ne yapar?

Paketi müşteri oluşturduğunda Bundles uygulamasının sabit modeli artık uymaz. Shopify’ın dokümantasyonu karıştır-eşleştir gibi özelleştirilmiş paketler için Cart Transform Function API’yi önerir. Bu API Shopify’ın sunucularında cart.transform.run hedefinde çalışır ve “sepetteki ürünlerin fiyatlandırmasını ve sunumunu” üç işlemle değiştirir:

  • lineExpand bir sepet satırını bileşen ürünlerine ayırır. Müşteri tek bir paket ürünü ekler; siparişte bileşenler yer alır.
  • linesMerge birkaç sepet satırını tek bir paket satırında birleştirir. Shopify’ın örnek paket uygulaması, bir paketin tüm bileşenlerini sepette bulduğunda bunu yapar.
  • lineUpdate tek bir sepet satırının fiyatını, başlığını ya da görselini değiştirir.

Shopify’ın örnek uygulamasında paket tanımı metafield (meta alan) olarak saklanır: bileşen varyantlarının listesi, bileşen adetlerinin listesi ve bileşenleri ait oldukları ana paketlere eşleyen bir JSON alanı. Bu yaklaşım mağaza sahibi için önemlidir; çünkü paket, function yeniden yayına alınmadan veri olarak düzenlenebilir.

Tam olarak neyin Shopify Plus gerektirdiği

Bunu sık sık birbirine karıştırılan üç ayrı kural belirler:

  1. Uygulamayı kim yaptı? Her plandaki mağazalar Functions içeren herkese açık App Store uygulamalarını kullanabilir. Functions içeren özel bir uygulamayı ise yalnızca Shopify Plus mağazaları kullanabilir. Yani Basic ya da Grow planındaki bir mağaza, Cart Transform kullanan bir App Store paket uygulamasını çalıştırabilir; ama yalnızca kendi mağazası için yapılmış özel bir uygulamayı çalıştıramaz.
  2. Hangi işlem? lineUpdate işlemi kullanan uygulamaları, kim yapmış olursa olsun, yalnızca geliştirme mağazaları ya da Shopify Plus planındaki mağazalar kullanabilir. Shopify’ın Yardım Merkezi bu işlemin Shopify Plus deneme mağazalarında kullanılamadığını, yalnızca tam planda çalıştığını ekler.
  3. Shopify’ın Plus mağazalarına doğrudan sundukları. Yardım Merkezi bunu açıkça söyler: karıştır-eşleştir paketler için Shopify Plus’taki bir mağaza Bundles API’leriyle özel bir paket teklifi kurabilir. Saydığı diğer seçenek Shopify App Store’daki üçüncü taraf bir paket uygulamasıdır.

Bir Cart Transform projesini şekillendiren sınırlar

  • Uygulama başına bir. Bir mağaza her uygulama için en fazla bir cart transform function’ı kurabilir. Bir uygulamanın tüm paket mantığı bu tek function’a girer.
  • Satış planları. Bir satış planı varsa Shopify lineExpand, linesMerge ve lineUpdate işlemlerini reddeder. Bir abonelik satırı bu yolla pakete dahil edilemez.
  • Yüzeyler. API sepette, vitrinde, B2B’de, taslak siparişlerde, Shopify yönetim panelinde ve hızlandırılmış ödemede (accelerated checkout) desteklenir. Ödeme sayfası ve POS kısmen desteklenir: POS’ta tam destek için paket varyantının requiresComponents değerinin true olması gerekir. Sipariş düzenleme, Create Order API, abonelikler, ön siparişler ve önce dene sonra al desteklenmez.
  • Yalnızca bileşenlerle. Bir paket varyantı tek başına satın alınamıyorsa, Shopify’ın paket rehberinde anlatıldığı gibi onu requiresComponents değeri true olacak şekilde işaretleyin.
  • Function çalışma ortamı. Her Function gibi yalnızca girdi sorgusunun istediğini görür, saati okuyamaz ya da rastgele değer üretemez ve sabit sınırları vardır; bunlara 256 kB derlenmiş ikili dosya ve 200 satıra kadar sepetler için 128 kB girdi dahildir.

Nasıl seçmeli?

  1. Paketi kurallar hâlinde yazın: hangi ürünler, sabit mi yoksa müşteri mi seçiyor, nasıl fiyatlanıyor ve herhangi bir satır abonelik mi?
  2. Paket sabitse ve 30 bileşen ile 100 varyanta sığıyorsa Shopify Bundles uygulamasını kullanın. Özel kod gerekmez.
  3. Paketi müşteri oluşturuyorsa önce App Store paket uygulamalarına bakın. Bunlar her planda çalışır; çünkü Functions için plan kuralı yalnızca özel uygulamalara uygulanır.
  4. Kurallar mağazanıza özgüyse ve mağaza Shopify Plus’taysa kendi Cart Transform function’ı olan özel bir uygulama yapın. Tasarım satırda özel bir fiyat, başlık ya da görsel göstermek için lineUpdate gerektiriyorsa mağazanın deneme değil tam Plus’ta olduğunu teyit edin.
  5. Paketin herhangi bir parçasının aboneliklerle çalışması gerekiyorsa durun ve yeniden tasarlayın: paketler ve satış planları birlikte kullanılamaz.

Shopify Scripts’ten geçiş yapan mağazalar bu soruyla sık karşılaşır; çünkü bazı satır öğesi Scripts’leri ürünleri grupluyor ya da yeniden fiyatlıyordu. Cart Transform bu mantığın gidebileceği yerlerden yalnızca biridir; her Script’in mantığının artık nereye gittiğine bakın. Kural sepeti değiştirmek yerine reddetmekse, örneğin asgari paket adedi gibi, Cart and Checkout Validation daha uygun bir seçimdir.

Lintel’in yeri

Lintel, Shopify Functions işleri kapsamında Cart Transform function’larını ve onları taşıyan özel uygulamaları geliştirir; işi gören bir Bundles ya da App Store uygulaması varsa onu önerir. İlk incelemede, proje kapsamı çıkarılmadan önce plan ve satış planı soruları yanıtlanır. Doğru yol özel bir uygulamaysa function, paket kuralları ekibin düzenleyebileceği metafield’larda tutularak bir özel Shopify uygulaması içinde paketlenir.

Sık sorulan sorular

Paket satmak için Shopify Plus gerekir mi?
Hayır. Sabit paketler ve çoklu paketler için ücretsiz Shopify Bundles uygulaması tüm planlarda kullanılabilir; Cart Transform kullanan App Store paket uygulamaları da her planda çalışır. Plus, Cart Transform function’ı içeren özel bir uygulama ve lineUpdate işlemini kullanan uygulamalar için gerekir.
lineUpdate ne yapar ve neden önemlidir?
lineUpdate bir sepet satırının fiyatını, başlığını ya da görselini değiştirir. Onu kullanan uygulamaları yalnızca geliştirme mağazaları ve tam Shopify Plus planındaki mağazalar kullanabilir; Shopify’ın Yardım Merkezi’ne göre Plus deneme mağazalarında kullanılamaz.
Bir paket abonelikli bir ürün içerebilir mi?
Hayır. Shopify, paketlerin abonelik, ön sipariş ve önce dene sonra al gibi satış planlarıyla satılamayacağını belirtir ve bir satış planı varsa Cart Transform işlemlerini reddeder.
Bir mağaza kaç Cart Transform function’ı çalıştırabilir?
Bir mağaza her uygulama için en fazla bir cart transform function’ı kurabilir; bu yüzden her uygulamanın paket mantığı tek bir function içinde durmalıdır.

Kaynaklar

  1. Cart Transform Function APIShopify developer documentation, 26 Eylül 2026 tarihinde kontrol edildi
  2. About product bundlesShopify developer documentation, 26 Eylül 2026 tarihinde kontrol edildi
  3. Create a bundle appShopify developer documentation, 26 Eylül 2026 tarihinde kontrol edildi
  4. Shopify BundlesShopify Help Center, 26 Eylül 2026 tarihinde kontrol edildi
  5. Eligibility and considerations for using product bundlesShopify Help Center, 26 Eylül 2026 tarihinde kontrol edildi
  6. About Shopify Functions (availability)Shopify developer documentation, 26 Eylül 2026 tarihinde kontrol edildi
  7. Function APIs: resource limitsShopify developer documentation, 26 Eylül 2026 tarihinde kontrol edildi