Shopify Komut Dosyaları API'si referansları

Komut dosyaları, size bir hayli kontrol ve esneklik sağlayan bir Ruby API'si ile yazılmıştır.

Komut dosyalarının farklı türleri vardır. Script Editor'da bir komut dosyası oluşturduğunuzda, başlangıçta seçtiğiniz komut dosyası şablonuna bağlı olarak o komut dosyasına bir tür atanır:

Satır öğesi komut dosyaları

Satır öğesi komut dosyaları, sepetteki satır öğelerini etkiler ve fiyatları değiştirerek indirim sağlayabilir. Bu komut dosyaları, sepette değişiklik yapıldığında çalışır.

Abonelik indirimi sağlayan satır öğesi komut dosyaları yalnızca aboneliğin ilk ödemesine uygulanır. Sonraki ödemelerde komut tarafından indirim sağlanmaz.

Bazı yöntemleryalnızca satır öğesi komut dosyalarındakullanılabilir.

Kargo komut dosyaları

Kargo komut dosyaları,kargoylaetkileşime girerek kargo yöntemlerini değiştirebilir ve kargo ücretlerinde indirim sağlayabilir. Bu komut dosyaları, ödeme işleminde kargo seçenekleri sayfasına gelindiğinde çalışır.

Abonelik kargo ücretine indirim uygulayan kargo komut dosyaları yalnızca aboneliğin ilk ödemesi için indirim uygular. Sonraki ödemelerde komut tarafından indirim uygulanmaz.

Bazı yöntemleryalnızca kargo komut dosyalarındakullanılabilir.

Ödeme Komut Dosyaları

Ödeme komut dosyaları,ödemelerleetkileşime girerek ödeme ağ geçitlerini yeniden adlandırabilir, gizleyebilir ve yeniden sıralayabilir. Ödeme komut dosyalarının Apple Pay gibi ödeme ekranından önce gösterilen ödeme ağ geçitleriyle etkileşime girmediğini unutmayın. Bu komut dosyaları, ödeme işleminde ödeme sayfasına gelindiğinde çalışır.

Bazı yöntemleryalnızca ödeme komut dosyalarındakullanılabilir.

Genel yöntemler

Aşağıdaki yöntemler her türlü komut dosyasında kullanılabilir:

Input

Komut dosyası input yöntemleri
Yöntem Döndürme türü Açıklama
.cart Sepet Sabit olmayan bir cart nesnesi döndürür.
.locale dize Müşterinin yerel ayarını döndürür. Örneğin,en,frveyapt-BR.

Sepet

Cart nesnesi yalnızca online mağazada mevcuttur. Bazı yarım bırakılmış ödemeler cart nesnesine erişebilir. Ancak bir ödeme kapatıldıktan sonra müşteri, yarım bırakılmış ödemeyi ziyaret ederse önceden doldurulmuş ödeme sayfasına yönlendirilir ve cart nesnesi artık ortadan kalkar. Bunun sebebi, yarım bırakılmış ödeme e-postasının mağaza vitrinini atlamasıdır.

Cart nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.customer Müşteri Sepetin sahibini (varsa) döndürür.
.shipping_address ShippingAddress Sepetin sahibinin kargo adresini (varsa) döndürür.
.discount_code Değişmektedir Şunu döndürür:

Sepette indirim uygulanmışsadiscount_codemevcuttur. Ancak bu, sepet tutarının değiştiği anlamına gelmez. Örneğin, bir indirim yalnızca 50 TL üzerindeki sepetlere uygulanabiliyorsa ve sepet tutarı bir komut dosyası tarafından 50 TL'nin altına indirilmişsediscount_codehâlâ mevcuttur ancak sepet tutarı değişmez.

discount_codeörneğine bakın.

.line_items List Sepetteki satır öğelerini içeren bir liste döndürür.
.presentment_currency List Müşterinin yerel (sunulan) para birimini (ISO 4217biçiminde) döndürür. Örneğin USD.
.subtotal_price Para Satır öğesi indirimleri uygulanınca, sepetin indirim kodları uygulanmadan önceki alt toplam fiyatını döndürür.
.total_weight gram Sepetteki tüm satır öğelerinin toplam ağırlığını döndürür.

CartDiscount::FixedAmount

CartDiscount::FixedAmount nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.code Dize İndirimi uygulamak için kullanılan indirim kodunu döndürür.
.amount Para İndirimin para tutarını döndürür.
.reject({ message: String }) nil Sepete uygulanan indirim kodunu reddeder.Mesajgirmek gereklidir.
.rejected? Boole İndirim kodunun reddedilip reddedilmediğini döndürür.

CartDiscount::Percentage

CartDiscount::Percentage nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.code Dize İndirimi uygulamak için kullanılan indirim kodunu döndürür.
.percentage Ýk İndirimin yüzdelik tutarını döndürür.
.reject({ message: String }) nil Sepete uygulanan indirim kodunu reddeder.Mesajgirmek gereklidir.
.rejected? Boole İndirim kodunun reddedilip reddedilmediğini döndürür.

CartDiscount::Shipping

CartDiscount::Shipping nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.code Dize İndirimi uygulamak için kullanılan indirim kodunu döndürür.
.reject({ message: String }) nil Sepete uygulanan indirim kodunu reddeder.Mesajgirmek gereklidir.
.rejected? Boole İndirim kodunun reddedilip reddedilmediğini döndürür.

Müşteri

Customer nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.id Tam sayı Müşterinin kimlik numarasını döndürür.
.email Dize Müşterinin e-posta adresini döndürür.
.tags List Bir müşteri için ayarlanan tüm etiketleri temsil eden dizelerin listesini döndürür.
.orders_count Tam sayı Müşterinin verdiği toplam sipariş sayısını döndürür.
.total_spent Para Müşterinin tüm siparişlerde harcadığı toplam tutarı döndürür.
.accepts_marketing? Boole Müşterinin pazarlama iletişimini kabul edip etmediğini döndürür.

LineItem

grams Satır öğesinin toplam ağırlığını döndürür.
LineItem nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.grams
.line_price Para Satır öğesinin fiyatıdır.
.discounted? Boole Bir satır öğesi fiyatının bir komut dosyasıyla mı yoksa manuel olarak uygulanan bir indirimle mi düşürüldüğünü döndürür. İndirim kodlarının kullanılması dönüş değerini etkilemez.
.properties hash Bu satır öğesi için belirtilen özellikleri döndürür.
.variant Variant Satır öğesinin temsil ettiği belirli ürün varyasyonunu döndürür.
.quantity Tam sayı Bu satır öğesinin adetini döndürür.
.selling_plan_id Tam sayı 坐在ır oğesi icin坐在ışplanının kimliğini döndürür. Bu yöntem, mağazada abonelik satılıyorsa ve komut dosyasının bir ürün varyasyonununabonelik olarak satıldığınıtespit etmesini istiyorsanız yararlıdır.

List

List nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.new List Bir listeyi temsil edecek yeni bir nesne oluşturur.
.[] Element veya nil

Belirtilen dizindeki öğeyi döndürür.

.& List

İki listede ortak olan öğeleri içeren yeni bir liste döndürür.

.delete_if List İsteğe bağlı bir kod bloğu kullanarak öğeleri silin.Ruby'nindelete_ifyönteminedair belgeleri görün.
.empty? Boole

Liste öğe içermiyorsatruedeğerini döndürür.

.first Element veya nil

Liste boşsa ilk öğeyi veyanildeğerini döndürür.

.index(*args, &block) int veya nil

Listenin ilk öğesinin dizinini döndürür. Bir bağımsız değişken yerine blok verilirse, bloğun true olduğu ilk öğenin dizinini döndürür.

.rindex(*args, &block) int veya nil

Listenin son öğesinin dizinini döndürür. Bir bağımsız değişken yerine blok verilirse, bloğun true olduğu ilk öğenin dizinini döndürür.

.last Element veya nil

Liste boşsa son öğeyi veyanildeğerini döndürür.

.length int

Listedeki öğe sayısını döndürür.

.size int

length nesnesinin diğer adı.

.each(*args, &block) List

Listedeki她oğe icin bir kez勃洛克cağırır ve öğeyi bir parametre olarak bloğa geçirir.

ShippingAddress

ShippingAddress nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.name string Kargo adresiyle ilişkili kişinin adını döndürür.
.address1 string Kargo adresinde yer alan sokak adresi bölümünü döndürür.
.address2 string Kargo adresinde yer alan sokak adresi bölümünün isteğe bağlı ek alanını döndürür.
.phone string Kargo adresindeki telefon numarasını döndürür.
.city string Kargo adresindeki şehri döndürür.
.zip string Kargo adresindeki posta kodunu döndürür.
.province string Kargo adresindeki il/eyaleti döndürür.
.province_code string Kargo adresindeki il/eyalet değerinin kısaltmasını döndürür.
.country_code string Kargo adresindeki ülke değerinin kısaltmasını döndürür.

Para

Para nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.derived_from_presentment(customer_cents:X) Para Müşterinin yerel (sunulan) para birimindeki tutarı (kuruş cinsinden), mağazanızın para birimine dönüştürür. Bu yöntem, kuruş cinsinden bir sayı kabul edencustomer_centsparametresini kabul eder. Örneğin,Money.derived_from_presentment(customer_cents: 500).
.new Para Bir fiyatı temsil edecek yeni bir nesne oluşturur.
.zero Para

Fiyatı sıfır olan yeni bir nesne oluşturur.

+ Para İkiParanesnesi ekler.
- Para BirParanesnesini diğerinden çıkarır.
* Para Moneynesnesini bir sayı ile çarpar.

Para örnekleri

Money.new(cents:1000)

1000 kuruş veya 10 TL'yi temsil eden birMoneynesnesi oluşturur.

Money.new(cents:100)*50

1 TL'yi temsil eden birMoneynesnesi oluşturur ve ardından bu tutarı 50 ile çarpar. 50 TL'yi temsil eden birMoneynesnesi döndürür.

Variant

Variant nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.id Tam sayı Varyasyonun kimlik numarasını döndürür.
.price Para Varyasyonun birim fiyatını döndürür.
.product Ürün Varyasyonla ilişkili ürünü döndürür.
.skus List Varyasyonun, stok takibi için sıkça kullanılan stok bulundurma birimlerini (SKU) döndürür.
.title Dize Varyasyonun başlığını döndürür.

Ürün

Product nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.id Tam sayı Ürünün kimlik numarasını döndürür.
.gift_card? Boole Ürünün bir hediye kartı olup olmadığını döndürür.
.tags List Bu ürün için ayarlanan etiketleri temsil eden dizelerin bir listesini döndürür.
.product_type Dize Ürün etiketlemeye imkan tanıyan, filtreleme ve aramalar için sıkça kullanılan kategorilendirme yöntemi.
.vendor Dize Bu ürünün satıcısını döndürür.

Kernel

Kernelher sınıfta bulunan bir Ruby modülüdür. Bu sayede Kernel yöntemleri her nesnede kullanılabilir. Bu yöntemler, global fonksiyonların diğer dillerde işlediği şekilde işler.

Kernel nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.exit none Geçerli komut dosyasının yürütülmesini hatasız olarak sona erdirir.Output.cartyöntemine herhangi bir şey atanmadan önce bu yöntem çalıştırılırsa komut dosyasının hiçbir etkisi olmaz. Bu sayede örneğin, müşteri, komut dosyasını çalıştırmaya uygun değilse komut dosyalarından çıkılabilir.

Kernel örneği

customer=Input.cart.customerifcustomer&&customer.email.end_with?("@mycompany.com")# Employees are not eligible for this promotion.exitend

Satır öğesi yöntemleri

Aşağıdaki yöntemler yalnızcasatır öğesi komut dosyalarındakullanılabilir:

Sepet

Satır öğesi komut dosyalarında Cart nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.subtotal_price_was Para Sepetin, indirimler uygulanmadan önceki alt toplam fiyatını döndürür.
.subtotal_price_changed? Boole Alt toplam fiyatının değişip değişmediğini döndürür.

LineItem

Satır öğesi komut dosyalarında LineItem nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.change_line_price(Paranew_price, { message:String}) Para Satır öğesinin fiyatını, belirtilen tutarla değiştirir.Mesajgirmek gereklidir.new_price, geçerli fiyattan daha düşük olmalıdır.
.original_line_price Para Satır öğesinin, komut dosyaları ve indirimler uygulanmadan önceki ilk fiyatını döndürür.
.line_price_was Para Satır öğesinin, geçerli komut dosyası tarafından değişiklikler uygulanmadan önceki fiyatını döndürür.
.line_price_changed? Boole Satır öğesi fiyatının değişip değişmediğini döndürür.
.change_properties(hashnew_properties, { message:String}) hash Bir satır öğesi için yeni özellikler ayarlar. İlk baştaki özellikler karmasıproperties_wasbünyesinde tutulur ve yönteme aktarılan özellikler karması ise satır öğesinin yeni özellikleri haline gelir.
.properties_was hash Satır öğesinin, değişiklikler uygulanmadan önceki ilk özellikler karmasını döndürür.
.properties_changed? Boole Satır öğesi özelliklerinin değişip değişmediğini döndürür.
.split({ take:Integer}) LineItem Bir satır öğesini, iki satır öğesine böler.take, yeni satır öğesi oluşturmak için ilk satır öğesinden kaldırılacak adeti belirtir.

.split örneği

Bu örnek komut dosyası,original_line_itemadlı satır öğesini iki satır öğesine böler. Yeni satır öğesinin (take: 1tarafından belirtilen) adedi 1'dir. Ardından komut dosyası, yeni satır öğesine "Üçüncü şapka 5 TL" mesajıyla birlikte indirimli fiyat uygular.

iforiginal_line_item.quantity>=3new_line_item=original_line_item.split(take:1)new_line_item.change_line_price(Money.new(cents:500),message:"Third hat for 5 dollars")cart.line_items<<new_line_itemend

Variant

Satır öğesi komut dosyalarında Variant nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.compare_at_price Para Bir varyasyonun karşılaştırma fiyatını döndürür. Varyasyonun karşılaştırma fiyatı yoksanildeğerini döndürür.

Kargo yöntemleri

Kargo komut dosyalarındaaşağıdaki yöntemler kullanılabilir:

Input

Kargo komut dosyalarında Input nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.shipping_rates ShippingRateList Tüm kargo ücretlerinin listesini döndürür.

ShippingRateList

Kargo komut dosyalarında ShippingRateList nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.delete_if ShippingRateList İsteğe bağlı bir kod bloğu kullanarak kargo ücretlerini silin.Ruby'nindelete_ifyönteminedair belgeleri görün.
.sort! ShippingRateList İsteğe bağlı bir kod bloğu veya karşılaştırma operatörünü kullanarak kargo ücretlerini sıralayın.Ruby'ninsort!yönteminedair belgeleri görün.
.sort_by! ShippingRateList İsteğe bağlı bir kod bloğu kullanarak kargo ücretlerini sıralayın.Ruby'ninsort_by!yönteminedair belgeleri görün.

ShippingRate

Kargo komut dosyalarında ShippingRate nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.code Dize Kargo ücretinin kodunu döndürür.
.markup Para Uygun olduğu durumlarda kargo ücretinin kâr payını döndürür.
.name Dize Kargo ücretinin adını döndürür.change_nameyöntemi kullanılarak değiştirilebilir.
.price Para Kargo ücretinin fiyatını döndürür.
.source Dize Alakalıysa kargo ücretiyle ilişkili kaynağı (kargo şirketi) döndürür. Değiştirilemez.
.change_name(Stringnew_name) Dize Kargo ücretinin adını (maksimum 255 karakter) değiştirir. Kaynağı değiştirmek, silmek veya gizlemek mümkün değildir.
.apply_discount(Paradiscount, { message: String }) Para Belirtilen sabit tutarda indirim uygular. Fiyat, 0'dan aza indirilemez. Mesaj girmek gereklidir.
.phone_required? Boole Kargo ücretini görmek için telefon numarası gerekliysetrue, telefon numarası gerekli değilsefalsedöndürür.

Ödeme yöntemleri

Ödeme komut dosyalarındaaşağıdaki yöntemler kullanılabilir:

Input

Ödeme komut dosyalarında Input nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.payment_gateways PaymentGatewaysList Mağazadaki tüm ödeme ağ geçitlerinin listesini döndürür.

PaymentGatewayList

Ödeme komut dosyalarında PaymentGatewayList nesnesini kullanan komut dosyası yöntemleri
Yöntem Döndürme türü Açıklama
.delete_if PaymentGatewayList İsteğe bağlı bir kod bloğu kullanarak ödeme ağ geçitlerini silin.Ruby'nindelete_ifyönteminedair belgeleri görün.
.sort! PaymentGatewayList İsteğe bağlı bir kod bloğu veya karşılaştırma operatörünü kullanarak ödeme ağ geçitlerini sıralayın.Ruby'ninsort!yönteminedair belgeleri görün.
.sort_by! PaymentGatewayList İsteğe bağlı bir kod bloğu kullanarak ödeme ağ geçitlerini sıralayın.Ruby'ninsort_by!yönteminedair belgeleri görün.

PaymentGateway

Yöntem Döndürme türü Açıklama
.name Dize Ödeme ağ geçidinin adını döndürür.
.enabled_card_brands List

Ödeme ağ geçidi, kredi kartlarını destekliyorsa mağazanın kabul ettiği kredi kartı türlerinin listesini döndürür. Ağ geçidi, kredi kartlarını desteklemiyorsa boş liste döndürür.

.change_name(Stringnew_name) Dize Ödeme ağ geçidinin adını değiştirir. Logolu ödeme ağ geçitleri yeniden adlandırılamaz.

Örnekler

Aşağıdaki satır öğesi komut dosyası örneğinde müşteri, hediye kartı olmayan bir ürün sipariş ettiğinde ürünün fiyatında 9 TL indirim yapılır. Ayrıca müşterinin mağazanıza yaptığı tüm ziyaretlerde harcadığı toplam tutar gösterilir:

customer = Input.cart.customer Input.cart.line_items.each do |line_item| product = line_item.variant.product next if product.gift_card? line_item.change_line_price(line_item.line_price - Money.new(cents: 900), message: customer.total_spent) end Output.cart = Input.cart

Daha fazla bilgi edinin

Daha fazla bilgi edinin:

Shopify ile satış yapmaya hazır mısınız?

Ücretsiz olarak dene