Eksiksiz Shopify İşlevleri Kılavuzu: İş Mantığını Geniş Ölçekte Özelleştirme

Bu eksiksiz geliştirme kılavuzuyla özel indirimler, ödeme yöntemi filtreleme, kargo ücreti manipülasyonu ve sepet doğrulama için Shopify İşlevlerinde ustalaşın.

E
ECOSIRE Research and Development Team
|16 Mart 20267 dk okuma1.6k Kelime|

Eksiksiz Shopify İşlevleri Kılavuzu: İş Mantığını Geniş Ölçekte Özelleştirme

Shopify İşlevleri, geliştiricilerin harici sunucular yerine Shopify'ın altyapısında çalışan temel ticaret mantığını özelleştirmesine olanak tanır. Bu, özel indirim hesaplamalarının, ödeme yöntemi filtrelemenin, nakliye ücreti değişikliklerinin ve sepet doğrulamanın ağ gecikmesi olmadan milisaniyeler içinde gerçekleştirileceği anlamına gelir. İşlevler, Komut Dosyası Düzenleyicisi'nin (Shopify Komut Dosyaları) yerini aldı ve platformda arka uç özelleştirmesinin geleceğini temsil ediyor. Bu kılavuz her işlev türünü, geliştirme iş akışını ve dağıtım modelini kapsar.

Temel Çıkarımlar

  • Shopify İşlevleri, Shopify'ın altyapısı içindeki bir WebAssembly sanal alanında yürütülerek 5 ms'nin altında yürütme süreleri sağlar
  • Beş işlev API'si mevcuttur: indirimler, ödeme özelleştirme, teslimat özelleştirme, sepet doğrulama ve sipariş yönlendirme
  • İşlevler Rust, JavaScript veya WebAssembly'ye derlenen herhangi bir dilde yazılmıştır.
  • Her işlev, GraphQL sorgu sonuçları aracılığıyla girdi alır ve Shopify'ın operasyona uyguladığı yapılandırılmış çıktıyı döndürür
  • İşlevler Shopify uygulamalarının bir parçası olarak dağıtılır ve satıcılar tarafından yönetici aracılığıyla yapılandırılabilir

Shopify İşlevleri Nelerdir?

Shopify İşlevleri, önceden tanımlanmış uzantı noktalarında belirli ticaret işlemlerini özelleştiren hafif programlardır. Web kancalarından (harici sunuculara veri gönderen) farklı olarak İşlevler, Shopify'ın altyapısında WebAssembly modülleri olarak çalışır ve şunları garanti eder:

  • Hız: 5 ms'nin altında yürütme (ağ gecikmesi yok)
  • Güvenilirlik: Harici sunucu bağımlılığı yok
  • Ölçek: Kapasite planlaması olmadan her türlü trafik hacmini yönetir
  • Güvenlik: Dosya sistemi veya ağ erişimi olmadan korumalı alanda yürütme

İşlev API'leri

API'siAmaçDeğiştirilir
İndirimlerÖzel indirim mantığı (BOGO, katmanlı, koşullu)Shopify Komut Dosyaları (satır öğesi indirimleri)
Ödeme ÖzelleştirmeÖdeme sırasında ödeme yöntemlerini göster/gizle/yeniden sıralaÖdeme yöntemi koşullu mantık
Teslimat ÖzelleştirmeGönderim ücretlerini, adlarını ve stok durumunu değiştirinNakliye ücreti komut dosyaları
Sepet DoğrulamasıSepet içeriğini doğrulayın ve geçersiz kombinasyonları engelleyinSepet özelliği doğrulama
Sipariş YönlendirmeSiparişin yerine getirilmesi konumu seçimini özelleştirinVarsayılan konum yönlendirme

Geliştirme Ortamı

Önkoşullar

  • Shopify CLI (en son sürüm)
  • Node.js 18+
  • Shopify İş Ortağı hesabı ve geliştirme mağazası
  • Rust araç zinciri (Rust tabanlı işlevler için) veya JavaScript çalışma zamanı

İşlev Oluşturma

Shopify CLI'yi kullanarak yeni bir işlevi destekleyin:

npx shopify app generate extension komutunu çalıştırın ve işlev türünü seçin. CLI şunu üretir:

DosyaAmaç
KOD0 (veya KOD1)Fonksiyon mantığı
KOD0Giriş verilerini tanımlayan GraphQL sorgusu
KOD0Yapılandırma ve meta veriler
KOD0Shopify API şeması (otomatik olarak oluşturulmuştur)

Geliştirme İş Akışı

  1. Giriş sorgusunu tanımlayın: İşlevinizin ihtiyaç duyduğu verileri getiren GraphQL sorgusunu input.graphql içine yazın
  2. Mantığı uygulayın: Girişi çıkışa dönüştüren işlevi src/run.js içine yazın
  3. Yerel olarak test edin: Birim testlerini npx shopify app function test ile çalıştırın
  4. Dağıt: npx shopify app deploy ile Shopify'a aktarın
  5. Yapılandırma: Satıcılar, işlev parametrelerini uygulamanın kullanıcı arayüzü aracılığıyla yapılandırır

İndirim Fonksiyonları

İndirim İşlevleri Nasıl Çalışır?

Bir indirim işlevi, sepet verilerini (satır öğeleri, müşteri bilgileri, indirim kodları) alır ve uygulanacak indirim işlemlerini döndürür. İşlev, sepetin her değerlendirilmesinde (sayfa yükleme, öğe ekleme/kaldırma ve ödeme girişinde) çalışır.

Yaygın İndirim Modelleri

X Al Y Al: Sepette X ürünü bulunduğunda, Y ürününe yüzde veya sabit indirim uygulayın.

Kademeli indirimler: Sepet toplamına göre artan indirimler uygulayın (100 USD üzerinde %10, 200 USD üzerinde %15, 500 USD üzerinde %20).

Müşteriye özel fiyatlandırma: Müşteri etiketlerini veya meta alanlarını kontrol edin ve segmente özel indirimler uygulayın (toptan satış, VIP, çalışan).

Paket indirimleri: Sepette belirli ürün kombinasyonları olduğunda paket indirimi uygulayın (üçünü birden satın alın, %25 tasarruf edin).

Toplam indirimler: Miktara bağlı olarak birim başına indirimler uygulayın (1-9 birim tam fiyatta, 10-24 birim %10 indirimde, 25+ %20 indirimde).

Giriş Sorgusu Örneği

İndirim fonksiyonunun giriş sorgusu genellikle şunu ister:

  • Ürün kimliklerini, çeşit kimliklerini, miktarlarını ve fiyatlarını içeren sepet satır öğeleri
  • Müşteri segmentasyonu kullanılıyorsa müşteri bilgileri (kimlik, etiketler, meta alanlar)
  • Koda dayalı bir indirim doğrulanıyorsa indirim kodu
  • Ürüne özel indirim kuralları için ürün meta alanları

Çıkış Yapısı

İşlev, bir dizi indirim işlemi döndürür:

OperasyonAçıklama
KOD0Belirli ürünlere/çeşitlere indirim uygulayın
KOD0Sipariş toplamına indirim uygula
KOD0Gönderim ücretlerini kaldırın

Her işlem, indirim değerini (yüzde veya sabit tutar), müşteriye gösterilen bir mesajı ve geçerli olduğu koşulları içerir.

Ödeme Özelleştirme İşlevleri

Kullanım Durumları

  • Ödeme yöntemlerini gizle: Belirli bir eşiğin üzerindeki siparişler için "Kapıda Ödeme" seçeneğini gizleyin
  • Yeniden sıralama yöntemleri: Müşterinin bulunduğu yere göre ilk olarak en popüler ödeme yöntemini gösterin
  • Yöntemleri yeniden adlandır: Yerelleştirilmiş ödeme yöntemi adlarını görüntüleyin
  • Mesaj ekle: Belirli ödeme yöntemlerinin yanında ek bilgileri gösterin

Uygulama Modeli

İşlev, sepet ayrıntılarını ve mevcut ödeme yöntemlerini alır. Ödeme yöntemi listesini değiştiren işlemleri döndürür:

OperasyonEfekt
KOD0Ödeme yönteminden bir ödeme yöntemini kaldırma
KOD0Ödeme yönteminin görünen adını değiştirme
KOD0Ödeme yöntemlerini yeniden sıralayın

Teslimat Özelleştirme İşlevleri

Kullanım Durumları

  • Gönderim seçeneklerini yeniden adlandırın: Taşıyıcı ücret adları yerine "Ekspres Teslimat (2-3 gün)" ifadesini görüntüleyin
  • Seçenekleri gizle: Bozulabilir ürünler için kara yoluyla nakliyeyi kaldırın
  • Yeniden sıralama seçenekleri: Acil siparişler için ilk önce en hızlı seçeneği gösterin
  • Mesaj ekle: Her seçeneğin yanında tahmini teslimat tarihlerini görüntüleyin

Uygulama

İşlev, yapılandırılmış taşıyıcılardan gönderim ücretlerini alır ve değişiklikleri döndürür. Giriş, sepet satır öğelerini (ürün türlerini kontrol etmek için), teslimat adresini (konum bazlı kurallar için) ve mevcut teslimat seçeneklerini içerir.

Sepet Doğrulama İşlevleri

Kullanım Durumları

  • Miktar limitleri: Maksimum 5 adet sınırlı sayıda üretilen ürünler
  • Kombinasyon kısıtlamaları: Ürün A ve Ürün B aynı sepette olamaz (uyumsuz)
  • Minimum gereksinimler: Toptan satış hesapları minimum 100 ABD Doları tutarında sipariş vermelidir
  • Coğrafi kısıtlamalar: Belirli ürünlerin kısıtlı bölgelere gönderilmesini engelleyin

Doğrulama Çıktısı

Doğrulama başarısız olduğunda işlev şu şekilde bir hata döndürür:

  • Hedef: Hangi sepet satırı veya sepetin kendisi
  • Mesaj: Müşteriye yönelik hata mesajı
  • Önem derecesi: Hata (ödemeyi engeller) veya uyarı (izin verir ancak bildirir)

Test Fonksiyonları

Birim Testi

İşlevleri dağıtmadan yerel olarak test edin:

  1. Örnek giriş verileriyle test fikstürleri oluşturun
  2. Fonksiyonu fikstürlere karşı çalıştırın
  3. Çıktının beklenen sonuçlarla eşleştiğini iddia edin

Shopify CLI, test metnini oluşturur:

Test SenaryosuNeyi Doğrulamalı
Boş sepetİşlev hiçbir işlem döndürmüyor
Nitelikli sepetDoğru indirim/değişiklik uygulandı
Kenar kasalarıSınır değerleri, maksimum miktarlar
Hata işlemeGeçersiz giriş düzgün şekilde işlendi
PerformansYürütme 5 ms'nin altında tamamlanıyor

Önizleme Modu

Yayınlamadan önce bir geliştirme mağazasında işlevleri test edin:

  1. İşlevi geliştirme mağazanıza dağıtın
  2. Uygulama yöneticisi aracılığıyla yapılandırın
  3. Ürünleri sepete ekleyin ve davranışı doğrulayın
  4. Shopify CLI çıkışındaki işlev yürütme günlüklerini kontrol edin

Performansla İlgili Hususlar

Yürütme Sınırları

SınırıDeğer
Yürütme süresimaksimum 5ms
Bellek12MB
Giriş boyutu64 KB
Çıkış boyutu64 KB
Talimatlar1 milyon Wasm talimatları

Optimizasyon İpuçları

  • Giriş sorgusunu yalnızca mantığınızın ihtiyaç duyduğu alanlarla sınırlandırın
  • Karmaşık iç içe geçmiş döngülerden kaçının --- aramalar için karma haritaları kullanın
  • Değerleri işlev yerine uygulama yapılandırmasında önceden hesaplayın
  • Performans açısından kritik işlevler için Rust kullanın (JavaScript'ten 2-3 kat daha hızlı)
  • Shopify CLI performans araçlarını kullanarak profil işlevinin yürütülmesi

Satıcı Yapılandırması

Uygulama Yapılandırması Kullanıcı Arayüzü

İşlevler, doğrudan Shopify yöneticisinde değil, uygulamanızın kullanıcı arayüzü aracılığıyla yapılandırılır. Aşağıdaki özelliklere sahip bir yapılandırma sayfası oluşturun:

  1. İşlevin amacını ve geçerli ayarları görüntüler
  2. Satıcıların parametreleri (eşikler, ürün seçimleri, yüzdeler) belirlemesine olanak tanır
  3. Yapılandırmayı, işlevin çalışma zamanında okuduğu meta alanlar olarak saklar
  4. Kaydetmeden önce girişleri doğrular

Yapılandırma Depolama

Uygulama meta alanlarını kullanarak işlev yapılandırmasını saklayın:

  • İndirimdeki meta alanlar: Eşik tutarları, yüzde değerleri, ürün kimlikleri
  • Uygulama veri depolama: Katmanlı kurallar, müşteri segmentleri gibi karmaşık yapılandırma
  • İşlev yapılandırması: Giriş sorgusu yoluyla işlevin girişinin bir parçası olarak iletildi

ECOSIRE Fonksiyon Geliştirme Hizmetleri

Özel Shopify İşlevleri, hem ticari etki alanı uzmanlığını hem de WebAssembly geliştirme becerilerini gerektirir. ECOSIRE'ın Shopify uygulama geliştirme hizmetleri işlev tasarımı, uygulama, test etme ve dağıtımı içerir. Ekibimiz iş kurallarınıza uygun indirim motorları, ödeme özelleştirmeleri ve doğrulama mantığı oluşturur. Devam eden ihtiyaçlar için, Shopify'ın platformu ilerledikçe destek hizmetlerimiz özel işlevlerinizi korur ve geliştirir.

İlgili Okumalar

Shopify İşlevleri, Shopify Komut Dosyalarının yerini alır mı?

Evet. Shopify Komut Dosyaları kullanımdan kaldırıldı ve yerine İşlevler getirildi. Temel farklar: İşlevler WebAssembly olarak çalışır (Ruby değil), uygulamalar aracılığıyla dağıtılır (Komut Dosyası Düzenleyicisi değil) ve daha fazla uzantı noktasını destekler. Mevcut Komut Dosyaları çalışmaya devam ediyor ancak Shopify, İşlevler'e geçiş yapılmasını öneriyor.

Geliştirici olmayanlar Shopify İşlevleri oluşturabilir mi?

Doğrudan değil. İşlevler programlama bilgisi gerektirir (JavaScript veya Rust). Ancak geliştiriciler, satıcıların işlev davranışını kodlamaya gerek kalmadan özelleştirmesine olanak tanıyan yapılandırma kullanıcı arayüzlerine sahip uygulamalar oluşturabilir. Shopify App Store'daki birçok uygulama, satıcı dostu bir arayüz sunarken İşlevleri dahili olarak kullanır.

Tek bir mağazada kaç İşlevin çalıştırılabileceği konusunda bir sınır var mı?

Shopify, yüklü İşlevlerin sayısına kesin bir sınırlama getirmez. Bununla birlikte, her ödeme değerlendirmesi geçerli tüm İşlevleri sırayla çalıştırır, dolayısıyla performans hususları geçerlidir. İşlev başına 5 ms sınırı, bireysel İşlevlerin ödeme işlemini yavaşlatmamasını sağlar, ancak düzinelerce İşleve sahip olmak teorik olarak toplam ödeme değerlendirme süresini etkileyebilir.

E

Yazan

ECOSIRE Research and Development Team

ECOSIRE'da kurumsal düzeyde dijital ürünler geliştiriyor. Odoo entegrasyonları, e-ticaret otomasyonu ve yapay zeka destekli iş çözümleri hakkında içgörüler paylaşıyor.

WhatsApp'ta Sohbet Et