Teslimat özelleştirme: kargo seçeneklerini gizlemek, yeniden adlandırmak ve sıralamak
Kısa yanıt
Teslimat özelleştirme (delivery customization), ödeme sayfasında gösterilen teslimat seçeneklerini değiştiren bir Shopify Function’dır. Üç işlemi vardır: bir seçeneği gizlemek, yeniden adlandırmak ya da listede yerini değiştirmek. Kargo firması ücretlerine, yerel teslimata ve mağazadan teslim alma seçeneklerine uygulanır; yeni ücret oluşturamaz ve fiyat değiştiremez. Bir mağaza en fazla 25 tane etkinleştirebilir; birini içeren özel bir uygulama Shopify Plus gerektirir.
- Teslimat özelleştirme function’ları ödeme sayfasındaki teslimat seçeneklerini gizleyebilir, yeniden adlandırabilir ve yeniden sıralayabilir.
- Kargo firması, yerel teslimat ve mağazadan teslim alma seçeneklerine uygulanırlar.
- Bir mağaza en fazla 25 teslimat özelleştirme function’ı etkinleştirebilir.
- Ödeme sayfasında, B2B’de, taslak sipariş ödemesinde ve hızlandırılmış ödemede çalışırlar; sepette ya da vitrinde çalışmazlar.
- Posta kutusu (PO box) adresleri için seçenek gizlemek yalnızca kargo hizmetlerinden (carrier service) ya da üçüncü taraf kargo uygulamalarından gelen ücretlerde çalışır.
- API sürümü 2026-10’dan beri function’lar teslimat seçeneklerine bağlı metafield’ları (meta alanları) okuyabilir.
Kargo ücretleri kargo ayarlarınızdan, kargo hizmetlerinden ve uygulamalardan gelir. Müşterinin bu ücretlerden hangilerini gerçekten görmesi gerektiği ise çoğu zaman sepete bağlıdır: 40 kg’lık bir siparişte ekspres seçenek olmasın, posta kutusuna ulaşamayan kargo firması listede yer almasın, yakındaki müşterilere önce mağazadan teslim alma gösterilsin. Shopify’ın Delivery Customization Function’ı bu son adımın aracıdır.
Neler yapabilir?
Bir teslimat özelleştirme function’ı ödeme sayfasında cart.delivery-options.transform.run hedefinde çalışır. Sepeti ve sunulan teslimat seçeneklerini alır ve bir işlem listesi döndürür:
- Bir teslimat seçeneğini müşteriye sunulan listeden gizler.
- Bir teslimat seçeneğini yeniden adlandırır; örneğin başlığına bir teslimat sözü ya da not ekler.
- Listeyi istediğiniz sıraya koymak için bir seçeneğin yerini değiştirir.
Ödeme sayfasında zaten bulunan seçenekler üzerinde çalışır: kargo firması ücretleri, yerel teslimat ve mağazadan teslim alma seçenekleri. API bu üç işlemden ibarettir. Yeni bir ücret oluşturamaz ya da bir ücretin fiyatını değiştiremez; ücretler yine kargo ayarlarınızdan, kargo hizmetlerinden ya da uygulamalardan gelir.
Hangi kurallar için yapıldı?
Shopify şu kullanım alanlarını sayar:
- Belirli ürünler ya da müşteriler için teslimat seçeneklerini gizlemek.
- Teslimat seçeneklerini tercihe göre yeniden sıralamak.
- Posta kutusu adresleri için teslimat seçeneklerini gizlemek.
- Teslimat seçeneği başlıklarına mesaj eklemek.
Shopify’ın kendi yapılandırma eğitimi teslimat seçeneklerini yeniden adlandırır: teslimat adresi mağaza sahibinin seçtiği bir eyalet ya da ildeyse her seçeneğin başlığına bir mesaj ekler; il kodu da mesaj da bir JSON metafield’ından gelir. Tipik yapı budur: sepet ya da adres üzerinde bir koşul, tek bir işlem ve mağaza sahibinin yönettiği bir ayar.
Yazıya dökülmüş üç kural
Teslimat kurallarının çoğu tek bir kalıba uyar: bir koşul, ardından üç işlemden biri. Kuralları herhangi bir geliştirmeden önce bu şekilde yazmak, API’nin onları ifade edip edemeyeceğini netleştirir.
Ağır siparişlerde ekspres seçenek kalkar
Koşul: her satırın varyant ağırlığı ve adedinden toplanan sepet ağırlığı, mağaza sahibinin belirlediği bir eşiğin üzerinde. İşlem: başlığı ya da handle’ı ekspres olduğunu gösteren her seçeneği gizle. Eşik bir metafield’da durur; böylece ekip onu geliştiriciye ihtiyaç duymadan değiştirebilir. Aynı yapı hacimli ürünleri, tehlikeli maddeleri ya da “ayrı gönderilir” etiketli ürünleri de kapsar.
Yakındaki müşterilere önce mağazadan teslim alma
Koşul: teslimat adresi bir posta kodu listesinde ya da mağazaya yakın bir bölgede. İşlem: mağazadan teslim alma seçeneklerini listenin başına taşı. Hiçbir şey gizlenmez; kargo isteyen müşteri onu yine görür, yalnızca varsayılan değişir.
Bir kargo ücreti için daha anlaşılır bir ad
Koşul: yok ya da bir pazar veya müşteri etiketi. İşlem: seçeneği yeniden adlandırıp bir teslimat sözü ya da “imza gerekli” gibi bir not ekle. Shopify’ın Checkout Blocks dokümantasyonu, yeniden adlandırılan kargo firması ücretlerinin başına firma adının eklendiğini belirtir; yeni başlığın bununla birlikte nasıl okunduğunu kontrol edin.
Kalıba uymayan kuralları sorgulayın: ek ücret eklemek, yeni bir ücret oluşturmak ya da fiyat değiştirmek bu API’nin yaptıklarının dışındadır.
Nerede çalışır, nerede çalışmaz?
| Yüzey | Destek |
|---|---|
| Ödeme sayfası | Destekleniyor |
| B2B | Destekleniyor |
| Taslak sipariş ödemesi | Destekleniyor |
| Vitrinde hızlandırılmış ödeme | Destekleniyor |
| POS | Kısmen: yalnızca mağazaya gönderimde |
| Sepet, vitrin, yönetim panelinde taslak siparişler, sipariş düzenleme, abonelikler | Desteklenmiyor |
Pratik sonucu şu: sepet sayfasında gösterilen kargo tahmini özelleştirmeyi yansıtmaz. Kuralı, hızlı ödeme düğmeleri dahil, ödeme sayfasının kendisinde test edin.
Kuralları kodda değil, ayarlarda tutun
Bir function yalnızca girdi sorgusunun istediğini okuyabilir; saati okuyamaz ya da rastgele değer üretemez. Shopify’ın yapılandırma rehberi kuralın ayarlarını teslimat özelleştirmesinin kendisinde bir metafield olarak saklar; function da bunu girdi sorgusuyla okur. Uygulama da mağaza sahibine bu ayarları düzenleyebileceği bir form sunabilir. Forma Shopify yönetim panelinde Settings > Shipping and delivery altındaki Delivery customizations bölümünden ulaşılır; yani bir eşiği ya da ülke listesini değiştirmek yeniden yayına almayı gerektirmez.
Yakın tarihli bir değişiklik kuralın kontrol edebileceklerini genişletiyor. Shopify’ın 15 Eylül 2026 tarihli değişiklik günlüğü, API sürümü 2026-10’dan itibaren function’ların sepetteki teslimat seçeneklerine bağlı metafield’ları okuyabildiğini duyurdu. Öncesinde bazı uygulamalar bilgiyi bir seçeneğin başlığına ya da handle’ına gömerek taşıyordu; artık seçenek, function’ın doğrudan okuduğu yapılandırılmış veri taşıyabilir.
Sınırlar ve plan kuralları
- Adet. Bir mağaza, tüm uygulamalar genelinde en fazla 25 teslimat özelleştirme function’ı etkinleştirebilir.
- Plan. Her plandaki mağazalar Functions içeren App Store uygulamalarını kullanabilir. Functions içeren özel bir uygulama yalnızca Shopify Plus mağazalarında çalışır.
- Kodsuz yol. Shopify’ın Checkout Blocks uygulaması kod yazmadan teslimat özelleştirmeleri oluşturabilir, ama yalnızca Shopify Plus mağazaları için. Checkout Blocks’ta koşullu kuralları destekleyen tek özelleştirme türü gizlemektir; yeniden adlandırma ve sıralama koşulsuz uygulanır.
- Kargo firması adları. Kargo firmasının sağladığı bir ücret yeniden adlandırıldığında Shopify başına firma adını ekler ve API bunu kaldıramaz: “UPS Standard”, “UPS Standard Shipping” olabilir ama “Standard Shipping” olamaz. Yeni başlıkları bunu düşünerek yazın.
- Yerel teslimat ve mağazadan teslim alma. Checkout Blocks’ta yerel teslimat ve mağazadan teslim alma yöntemleri bütün olarak gizlenemez; ama tek tek yerel teslimat seçenekleri ya da teslim alma konumları gizlenebilir.
- Çalışma ortamı. Her Function’ın 256 kB derlenmiş ikili dosya dahil sabit kaynak sınırları vardır ve girdi sorgusunun azami maliyeti 30’dur.
Sürprizleri önleyen bir çalışma sırası
- Her kuralı sade bir dille listeleyin: hangi sepetler, hangi adresler, hangi seçenekler ve seçenek gizleniyor mu, yeniden mi adlandırılıyor, yoksa yeri mi değişiyor?
- Her ücretin nereden geldiğini kontrol edin. Posta kutusu gizleme kargo hizmeti ücretlerine bağlıdır; yeniden adlandırılan kargo firması ücretleri de firma adını korur.
- Planı kontrol edin. Plus’ta basit durumları Checkout Blocks geliştirme gerektirmeden karşılayabilir. Diğer planlarda özel uygulamaya geçmeden önceki seçenekler, bir App Store uygulaması ya da plan değişikliğidir.
- Mağaza sahibinin hangi değerleri değiştirebilmesi gerektiğine karar verin ve bunları bir yönetim formuyla metafield’lara koyun.
- Canlı mağazada etkinleştirmeden önce gerçek sepetler ve adreslerle, standart ve hızlı ödemede, bir geliştirme mağazasında test edin.
- Yeni bir özelleştirme ekleyen başka bir uygulamayı kurmadan önce tüm uygulamalardaki etkin özelleştirmeleri sayıp 25 sınırıyla karşılaştırın.
Ücretleri gizlemek ya da yeniden adlandırmak için kargo Scripts’i kullanan mağazalar en yaygın durumdur: o mantığın yeni yeri burası. Her Shopify Script’in mantığının artık nereye gittiğine bakın. Amaç siparişi tamamen durdurmaksa, örneğin bir ürün bir adrese hiç gönderilemiyorsa, Cart and Checkout Validation seçenekleri tek tek gizlemek yerine ödeme adımını engelleyebilir.
Lintel’in yeri
Teslimat özelleştirmeleri Lintel’in Shopify Functions işlerinin bir parçasıdır. İlk inceleme planı, her ücretin nereden geldiğini ve kuralı Checkout Blocks’un ya da bir App Store uygulamasının zaten karşılayıp karşılamadığını ele alır. Doğru cevap geliştirmekse function’ı, ekibin kendi başına değiştirmesi gereken ayarlarla birlikte bir özel Shopify uygulaması içinde yayına alırız.
Sık sorulan sorular
- Teslimat özelleştirmesi kargo fiyatını değiştirebilir mi?
- Hayır. API’nin üç işlemi vardır: bir teslimat seçeneğini gizlemek, yeniden adlandırmak ve yerini değiştirmek. Ücretler ve fiyatlar yine kargo ayarlarından, kargo hizmetlerinden ya da uygulamalardan gelir.
- Teslimat özelleştirmesi sepette uygulanır mı?
- Hayır. Ödeme sayfasında, B2B’de, taslak sipariş ödemesinde ve hızlandırılmış ödemede çalışır. Sepet, vitrin, sipariş düzenleme ve abonelikler desteklenen yüzeyler değildir.
- Kargo yöntemlerini gizlemek için Shopify Plus gerekir mi?
- Bunu bir App Store uygulaması yapıyorsa gerekmez: her plandaki mağazalar Functions içeren herkese açık uygulamaları kullanabilir. Functions içeren özel bir uygulama Shopify Plus gerektirir; Checkout Blocks uygulamasında teslimat özelleştirmesi oluşturmak da öyle.
- Bir mağazada kaç teslimat özelleştirmesi olabilir?
- Bir mağaza, tüm uygulamalar birlikte sayıldığında en fazla 25 teslimat özelleştirme function’ı etkinleştirebilir.
Kaynaklar
- Delivery Customization Function API
- Add configuration to your delivery options function
- Build the UI for the delivery customization function
- Delivery options in Shopify Functions input now expose their metafields
- Customizing delivery options in Checkout Blocks
- About Shopify Functions (availability)
- Function APIs: resource limits
