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'si | Amaç | 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ştirme | Gönderim ücretlerini, adlarını ve stok durumunu değiştirin | Nakliye ücreti komut dosyaları |
| Sepet Doğrulaması | Sepet içeriğini doğrulayın ve geçersiz kombinasyonları engelleyin | Sepet özelliği doğrulama |
| Sipariş Yönlendirme | Siparişin yerine getirilmesi konumu seçimini özelleştirin | Varsayı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:
| Dosya | Amaç |
|---|---|
| KOD0 (veya KOD1) | Fonksiyon mantığı |
| KOD0 | Giriş verilerini tanımlayan GraphQL sorgusu |
| KOD0 | Yapılandırma ve meta veriler |
| KOD0 | Shopify API şeması (otomatik olarak oluşturulmuştur) |
Geliştirme İş Akışı
- Giriş sorgusunu tanımlayın: İşlevinizin ihtiyaç duyduğu verileri getiren GraphQL sorgusunu
input.graphqliçine yazın - Mantığı uygulayın: Girişi çıkışa dönüştüren işlevi
src/run.jsiçine yazın - Yerel olarak test edin: Birim testlerini
npx shopify app function testile çalıştırın - Dağıt:
npx shopify app deployile Shopify'a aktarın - 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:
| Operasyon | Açıklama |
|---|---|
| KOD0 | Belirli ürünlere/çeşitlere indirim uygulayın |
| KOD0 | Sipariş toplamına indirim uygula |
| KOD0 | Gö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:
| Operasyon | Efekt |
|---|---|
| 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:
- Örnek giriş verileriyle test fikstürleri oluşturun
- Fonksiyonu fikstürlere karşı çalıştırın
- Çıktının beklenen sonuçlarla eşleştiğini iddia edin
Shopify CLI, test metnini oluşturur:
| Test Senaryosu | Neyi Doğrulamalı |
|---|---|
| Boş sepet | İşlev hiçbir işlem döndürmüyor |
| Nitelikli sepet | Doğru indirim/değişiklik uygulandı |
| Kenar kasaları | Sınır değerleri, maksimum miktarlar |
| Hata işleme | Geçersiz giriş düzgün şekilde işlendi |
| Performans | Yürütme 5 ms'nin altında tamamlanıyor |
Önizleme Modu
Yayınlamadan önce bir geliştirme mağazasında işlevleri test edin:
- İşlevi geliştirme mağazanıza dağıtın
- Uygulama yöneticisi aracılığıyla yapılandırın
- Ürünleri sepete ekleyin ve davranışı doğrulayın
- 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üresi | maksimum 5ms |
| Bellek | 12MB |
| Giriş boyutu | 64 KB |
| Çıkış boyutu | 64 KB |
| Talimatlar | 1 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:
- İşlevin amacını ve geçerli ayarları görüntüler
- Satıcıların parametreleri (eşikler, ürün seçimleri, yüzdeler) belirlemesine olanak tanır
- Yapılandırmayı, işlevin çalışma zamanında okuduğu meta alanlar olarak saklar
- 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 Checkout Genişletilebilirliği
- Shopify Uygulama Geliştirme Kılavuzu
- Shopify API Entegrasyon Kılavuzu
- Shopify Akış Otomasyonu
- Shopify Plus Kurumsal Kılavuzu
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.
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.
İlgili Makaleler
E-Ticaret İçin Yapay Zeka Kişiselleştirme: Dönüştüren Kişiselleştirilmiş Deneyimler
%15-30 daha yüksek dönüşümler için ürün önerileri, dinamik içerik, kişiselleştirilmiş arama ve müşteri yolculuğu optimizasyonu ile e-Ticaret için AI kişiselleştirmesini kullanın.
Hidrojen ile Başsız Shopify: Yüksek Performanslı Özel Vitrinler Oluşturun
Remix, Storefront API, Oxygen barındırma ve performans optimizasyonunu kapsayan Hydrogen çerçevesiyle başsız Shopify vitrinleri oluşturmaya yönelik eksiksiz kılavuz.
Mobil Öncelikli Shopify Mağazaları Oluşturma: Tam Optimizasyon Kılavuzu
Dönüşüm sağlayan, mobil öncelikli Shopify mağazaları oluşturun. Tema seçimini, mobil kullanıcı deneyimini, ödeme optimizasyonunu, uygulama performansını ve Shopify'a özgü mobil stratejileri kapsar.