Shopify Flow'daki değişkenler

Değişkenler, iş akışı çalıştırıldığında değerlerle değiştirilen yer tutuculardır. Bu değişkenler, iş akışlarınıza dahil olan müşterilerin, siparişlerin ve ürünlerin özniteliklerini tanımlar. Örneğin sipariş numarası, sipariş fiyatı, müşteri adı vb. için değişkenler vardır.

Flow, Shopify temalarının kullandığından farklı bir Liquid sürümü kullanır ve GraphQL Admin API üzerinden kullanılabilen tüm değişkenlere erişir.

Değişkenlerin çoğunun adları kendini tarif eder. Örneğin {{ product.title }}, ürünün adını görüntüleyen değişkendir. Mesaj gönderildiğinde bu değişken, sipariş edilen ürünün adıyla değiştirilir: Large Coffee Mug.

İşlemlere değişken ekleme

Değişken ekle bağlantısını içeren herhangi bir metin alanına değişken ekleyebilirsiniz. İlgili alanın altındaki Değişken ekle bağlantısına tıklayın ve ardından listeden bir değişken seçin.

Değişken ekle listesindeki değişkenler, yalnızca seçtiğiniz tetikleyici için geçerli olan değişkenleri görebilmeniz amacıyla filtrelenir. Listeden bir değişken seçtikten sonra, değişken doğru şekilde biçimlendirilir ve sizin için metin kutusuna eklenir.

Flow, neredeyse tüm GraphQL Admin API'si alanlarını destekler.

Liquid değişkenleri

Liquid kodu yazma konusunda deneyim sahibi bir geliştiriciyseniz değişkenlerinizi yazmak veya Değişken ekle bağlantısını kullanarak eklediğiniz değişkenlerinizi düzenlemek için Liquid'i kullanabilirsiniz. Daha fazla bilgi edinmek için GraphQL Admin API Referansı'na bakın.

Koşul ve yineleme etiketleri

İş akışı mesajlarınıza Liquid değişken etiketlerini manuel olarak ekleyebilirsiniz. Mesajlarınıza daha fazla bilgi eklemek için bu etiketleri kullanabilirsiniz.

Örneğin, bir siparişin satır öğeleri gibi nesnelerin listesini yinelemek için bir for loop nesnesi kullanabilirsiniz. Bu etiketlerle, bir siparişte her bir satır öğesi için ürün başlık, SKU, Fiyat ve adet gibi ayrıntıları içeren mesajlar oluşturabilir ve alıcılarınızı bu bilgileri online olarak aramak zorunda kalmaktan kurtarabilirsiniz.

Flow, aşağıdaki Liquid koşul (veya kontrol akışı) etiketlerini destekler:

Flow, aşağıdaki Liquid yineleme etiketlerini de destekler:

Filtreler

Flow aşağıdaki Liquid filtrelerini destekler:

Flow'un desteklediği Liquid filtreleri
Filtre adı Filtre türü
abs Matematik
append Dize
at_least Matematik
at_most Matematik
capitalize Dize
ceil Matematik
concat Dizi
tarih Ek
default Ek
divided_by Matematik
downcase Dize
escape Dize
gerekir Dizi
floor Matematik
join Dizi
last Dizi
lstrip Dize
harita Dizi
minus Matematik
modulo Matematik
newline_to_br Dize
+ Matematik
prepend Dize
remove Dize
remove_first Dize
replace Dize
replace_first Dize
reverse Dizi
round Matematik
rstrip Dize
boyut Dizi
slice Dize
sıralama Dizi
split Dize
strip Dize
strip_html Dize
strip_newlines Dize
kez Matematik
truncate Dize
truncatewords Dize
uniq Dizi
upcase Dize
url_encode Dize
where Dizi

Değişken örnekleri

Örneğin, müşteri bir siparişte 500 USD üzerinde harcama yaptığında bir çalışanınıza e-posta göndermek için iş akışı oluşturmak istiyorsunuz. Sipariş oluşturuldu tetikleyicisini kullanarak bir iş akışı oluşturur, sipariş toplamı 500 USD'nin üzerinde olması hâlinde doğru olan bir koşul belirler ve Dahili e-posta gönder işlemini kullanırsınız. Dahili e-posta gönder işleminin Mesaj bölümünde aşağıdaki değişkenleri kullanabilirsiniz.

Müşteri bilgilerinin sağlanması için kullanılan değişken örneği.
Input Çıktı
Lütfen {{ order.customer.firstName }} {{ order.customer.lastName }} ({{ order.customer.email }}) adlı kullanıcıya {{ order.totalPriceSet.shopMoney.amount }} USD tutarında sipariş verdiği için kişisel bir teşekkür notu gönderin. Lütfen Jeanne Dupont (jeanne@example.com) adlı kullanıcıya 763,42 USD tutarında sipariş verdiği için bir teşekkür notu gönderin.

Ürün envanteri azaldığında ve daha fazla stok için sipariş verilmesi gerektiğinde bir personeli bilgilendirmeniz gerektiğine karar verdiniz. Envanter adedi değişti tetikleyicisiyle başlayan bir iş akışı oluşturursunuz ve önceki envanter adedi 10'dan küçük veya 10'a eşitse doğru olan bir koşul ayarlarsınız. Dahili e-posta gönder işleminin Mesaj bölümünde aşağıdaki değişkenleri kullanabilirsiniz.

Ürün bilgilerinin sağlanması için kullanılan değişken örnekleri.
Input Çıktı
Lütfen {{ product.title }} adlı ürünü yeniden sipariş edin. owner@store.com adresine e-posta göndererek satın alma emrini aldıklarını doğrulayın. Lütfen Yüksek Bel Tayt - Siyah adlı ürünü yeniden sipariş edin. owner@example.com adresine e-posta göndererek satın alma emrini aldıklarını doğrulayın.

Risk düzeyi yüksek olan siparişleri iptal etmek istiyor ancak personelinizin siparişi manuel olarak iptal etmesini tercih ediyorsunuz. Sipariş oluşturuldu tetikleyicisiyle başlayan bir iş akışı oluşturur ve siparişin risk düzeyi yüksekse doğru olan bir koşul belirlersiniz. Dahili e-posta gönder işleminin Mesaj bölümünde aşağıdaki değişkenleri kullanabilirsiniz.

Hileli bir sipariş hakkında bilgi verilmesi için kullanılan değişken örneği.
Input Çıktı
Shopify mağazamız, yüksek sahtekarlık riski bulunan bir sipariş aldı. Bu siparişi, üretime gönderilmeden önce hemen iptal etmek istiyoruz:

{{ order.name }}
{{ order.billingAddress.lastName }}, {{ order.billingAddress.firstName }}
{{ order.email }}

Lütfen yeni sipariş durumunu onaylayın. Teşekkür ederiz.
Shopify mağazamız, yüksek sahtekarlık riski bulunan bir sipariş aldı. Bu siparişi, üretime gönderilmeden önce hemen iptal etmek istiyoruz:

#1001
Dupont, Jeanne
jeanne@example.com

Lütfen yeni sipariş durumunu onaylayın. Teşekkür ederiz.

For loop örnekleri

Bir sipariş alındığında, sipariş edilen ürünleri içeren bir mesaj göndermek faydalı olabilir. Bir kod bloğunu aralıksız olarak çalıştıran for loop öğesini kullanarak bunu gerçekleştirebilirsiniz. Değişkenleri destekleyen metin alanları for loops'u ve forloop nesnesini de destekler.

Örneğin, bir siparişteki tüm SKU'ların ve adetlerin listesini döndüren bir iş akışı oluşturmak istiyorsunuz. Dahili e-posta gönder işleminin Mesaj bölümünde aşağıdaki değişkenleri kullanabilirsiniz.

Sipariş bilgilerini sağlanması için kullanılan for loop örneği.
Input Çıktı
Sipariş özeti:
{% for a in order.lineItems %}
SKU: {{a.sku}} ( {{a.quantity}} ),
{% endfor %}
Sipariş özeti:
8987097979 (50)
8877778887 (3)
888998898B (1)

E-postaya ürün adı, SKU'lar, ürün başına fiyat ve müşterinin kargo bilgileri de dahil olmak üzere daha fazla bilgi eklemeye karar verdiniz. Dahili e-posta gönder işleminin Mesaj bölümünde aşağıdaki değişkenleri kullanabilirsiniz.

Daha kapsamlı sipariş bilgilerinin sağlanması için kullanılan for loop örneği.
Input Çıktı
Sipariş özeti:
{% for a in order.lineItems %}
Ürün: {{a.title}}
SKU: {{a.sku}}
Fiyat (birim başına): {{a.originalUnitPriceSet.shopMoney.amount}} USD
Adet: {{a.quantity}}
{% endfor %}
Sipariş özeti:
Ürün: Yüksel Bel Tayt - Siyah
SKU: 8987097979
Fiyat (birim başına): 8,49 USD
Adet: 5
Ürün: Spor Çorabı - Mavi
SKU: 888998898B
Fiyat (birim başına): 5,61 USD
Adet: 2

Belirli bir satıcı tarafından tedarik edilen, satılan ürünleri takip etmeniz gerekiyor. Dahili e-posta gönder işleminin Mesaj bölümünde, aşağıdaki değişkenleri kullanır ve for loop yapınıza if ifadesi eklersiniz.

Belirli satıcılar için sipariş bilgilerinin sağlanması amacıyla kullanılan for loop ve if ifadesi örneği.
Input Çıktı
Satılan Acme ürünü:
{% for x in order.lineItems %}
{% if x.vendor == 'acme-vendor' %}
Ürün adı: {{x.title}}
SKU: {{x.sku}}
{% endif %}
{% endfor %}
Satılan Acme ürünü:
Ürün adı: Yüksek Bel Tayt - Siyah
SKU: 8987097979

Shopify Flow'daki karmaşık veri nesneleri

Shopify Flow, aşağıdaki nedenlerden dolayı dizilerin ve nesnelerin çıktısını desteklemez:

  • Gerekli olmayan verilerin çıktısının verilmesi GraphQL API'de kullanımdan kaldırılmıştır ve iş akışınızın başarısız olmasına neden olabilecek büyüklükte sorgu boyutları oluşturabilir.
  • Yeni özellikler eklendiğinde iş akışınızı bozabilecek yeni API alanları da eklenir.

Çok fazla veri otomatik olarak gönderilirse iş akışı başarısız olur. Dizileri ve nesneleri doğrudan çağırmak yerine diziler üzerinde döngü oluşturun ve yalnızca istediğiniz alanları dahil edin.

Örneğin, {{ order.lineItems }} dizisini doğrudan çağırmak yerine belirli alanları çağırmak için aşağıdaki biçimi kullanın. Diziyi veya nesneyi doğrudan çağırarak dahil edilebilecek tüm alanlar örneklerde yer alır. İhtiyacınız olan alanları kopyalayıp yapıştırın.

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

Ücretsiz olarak dene