Shopify Flow'daki koşullar
Shopify Flow'da durumlar, tetikleyiciler bir iş akışı başlattıktan sonra işlem gerçekleştirilip gerçekleştirilmediğini belirler. Bir koşul belirlediğinizde mağazanızdaki verilerden alınan bir değer ve mantıksal operatör seçip bunları karşılaştıracağınız değeri manuel olarak ayarlarsınız.
Flow ile kullanılan veri türleri
Herhangi bir Flow koşulunda ilk değer, mağazanızdan alınan verilerdir ve GraphQL Admin API'sinden alınır.
Flow aşağıdaki veri türlerini destekler:
- Reel Sayı: Reel sayı değerleri ondalık miktarı olan sayılardır. Örneğin 4,25.
- Tam Sayı: Tam sayı değerleri, ondalık miktarı olmayan sayılardır. Örneğin 42.
- Tarih: Tarih değerleri, tarihin sayısal temsilidir. Örneğin, 01012021.
- Dize: Dize değerleri metindir. Dize değerleri kullanılarak yapılan karşılaştırmalar büyük/küçük harfe duyarlı değildir.
- Boole: Boole değerleri doğru veya yanlıştır.
- Enum: Enum değerleri, bir değişkenin önceden tanımlanmış sabitler kümesi olmasına izin veren veri gruplarıdır.
Flow'da kullanılan mantıksal operatörler
Mantıksal operatörler, koşulunuzun nasıl uygulandığını tanımlar. Koşullar, bir siparişin toplamının belirli bir tutarın üzerinde olup olmadığı veya müşterinin pazarlama kabul edip etmediği gibi basit özellikleri kontrol eder. Mantıksal operatörler daha karmaşık özellikleri de kontrol edebilir.
Flow aşağıdaki operatörleri kullanabilir:
- Şuna eşit:
- Şuna eşit değil:
- "Şu değerden yüksek" ve "Şu değerden yüksek veya ona eşit"
- "Şu değerden düşük" ve "Şu değerden düşük veya ona eşit"
- Herhangi biri
- Herhangi biri değil
- Şunu içerir:
- Şunu içermez:
- Şununla başlar:
- Şununla başlamaz:
- Şununla biter:
- Şununla bitmez:
Şuna eşit:
Şuna eşit, aynı olup olmadıklarını görmek için değerleri karşılaştırır. Aşağıdaki örnekte, order.currentTotalDiscountsSet.shopMoney.amount
değeri mağaza verilerinizden alınmış ve ikinci değer olan 50 ile karşılaştırılmıştır.
İlk değer 50'ye eşitse koşul doğru olur. Sipariş iptal edilir.
Şuna eşit değil:
Şuna eşit değil, aynı olup olmadıklarını görmek için değerleri karşılaştırır. Aşağıdaki örnekte, order.currentTotalDiscountsSet.shopMoney.amount
değeri mağaza verilerinizden alınmış ve ikinci değer olan 50 ile karşılaştırılmıştır.
İlk değer 93'e eşitse koşul doğru olur. Sipariş iptal edilir.
"Şu değerden yüksek" ve "Şu değerden yüksek veya ona eşit"
Şu değerden yüksek ve Şu değerden yüksek veya ona eşit, ilk değerin ikinci değerden yüksek veya yüksek ya da eşit olup olmadığını görmek için değerleri karşılaştırır. Aşağıdaki örnekte, order.currentTotalDiscountsSet.shopMoney.amount
değeri mağaza verilerinizden alınmış ve ikinci değer olan 50 ile karşılaştırılmıştır.
Mağazanızdan alınan değer 137 ise 137 50'den yüksek olduğundan koşul doğrudur. Sipariş iptal edilir.
"Şu değerden düşük" ve "Şu değerden düşük veya ona eşit"
Şu değerden düşük ve Şu değerden düşük veya ona eşit, ilk değerin ikinci değerden düşük veya düşük ya da eşit olup olmadığını görmek için değerleri karşılaştırır. Aşağıdaki örnekte, order.currentTotalDiscountsSet.shopMoney.amount
değeri mağaza verilerinizden alınmış ve ikinci değer olan 50 ile karşılaştırılmıştır.
Mağazanızdan alınan değer 47 ise 47 50'den düşük veya ona eşit olduğundan koşul doğrudur. Sipariş iptal edilir.
Herhangi biri
Herhangi bir operatörü, birinci değer girişinin ikinci değer girişindeki herhangi bir değeri içerip içermediğini görmek için bir veri dizisindeki değerleri karşılaştırır. Kontrol edilecek değerler ayrı ayrı girilip ardından enter tuşuna basılmalıdır. Herhangi bir operatörünün boş bir dizide kullanılması, yanlış bir değerlendirmeyle sonuçlanır. Aşağıdaki örnekte, order.lineitem.product.title
değeri mağaza verilerinizden alınmış ve şu ikinci değer kümesiyle karşılaştırılmıştır: ananas, guava, kivi.
Mağazanızdan alınan değer guavaysa guava, ananas, guava ve kivi dizisinin içinde yer aldığından koşul doğrudur. Sipariş iptal edilir.
Herhangi biri değil
Herhangi biri değil, birinci değer girişinin ikinci değer girişindeki herhangi bir değeri içerip içermediğini görmek için veri dizisindeki değerleri karşılaştırır. Kontrol edilecek değerler ayrı ayrı girilip ardından enter tuşuna basılmalıdır. Aşağıdaki örnekte, order.lineitem.product.title
değeri mağaza verilerinizden alınmış ve şu ikinci değer kümesiyle karşılaştırılmıştır: ananas, guava, kivi.
Mağazanızdan alınan değer ahududuysa ahududu, ananas, guava ve kivi dizisinin içinde yer almadığından koşul doğrudur. Sipariş iptal edilir.
Şunu içerir:
Şunu içerir, ilk değer girişinin ikinci değer girişindeki verileri içerip içermediğini görmek için değerleri karşılaştırır. Aşağıdaki örnekte, order.lineitem.product.title
değeri mağaza verilerinizden alınmış ve ikinci değer olan "scrape" ile karşılaştırılmıştır.
Mağaza verilerinizden alınan değer "skyscraper" ise koşul doğrudur. Çünkü "scrape" dizesinin tümü "skyscraper" dizesinin içinde yer alır. Sipariş iptal edilir.
Şunu içermez:
Şunu içermez, ilk değer girişinin ikinci değer girişindeki verileri içerip içermediğini görmek için değerleri karşılaştırır. Aşağıdaki örnekte, order.lineitem.product.title
değeri mağaza verilerinizden alınmış ve ikinci değer olan "scrape" ile karşılaştırılmıştır.
Mağaza verilerinizden alınan değer "scrap-metal" ise koşul doğrudur çünkü scrape dizesinin tümü "scrap-metal" dizesinin içinde yer almaz. Sipariş iptal edilir.
Şununla başlar:
Şununla başlar, ilk değerin, ikinci değerdeki verilerle başlayıp başlamadığını görmek için değerleri karşılaştırır. Aşağıdaki örnekte, order.shippingAddress.country
değeri mağaza verilerinizden alınmış ve ikinci değer olan "Birleşik" ile karşılaştırılmıştır.
Mağazanızdan alınan değer Birleşik Krallık ise Birleşik dizesi, Birleşik Krallık dizesini başlattığından koşul doğru olur. Sipariş iptal edilir.
Şununla başlamaz:
Şununla başlamaz, ilk değerin, ikinci değerdeki verilerle başlayıp başlamadığını görmek için değerleri karşılaştırır. Aşağıdaki örnekte, order.shippingAddress.country
değeri mağaza verilerinizden alınmış ve ikinci değer olan "Birleşik" ile karşılaştırılmıştır.
Mağazanızdan alınan değer Kanada ise, Kanada dizesi Birleşik Krallık'ı başlatmadığından koşul doğrudur. Sipariş iptal edilir.
Şununla biter:
Şununla biter, ilk değerin, ikinci değerdeki verilerle bitip bitmediğini görmek için değerleri karşılaştırır. Aşağıdaki örnekte, order.lineitems.product.title
değeri mağaza verilerinizden alınmış ve ikinci değer olan "last-available" ile karşılaştırılmıştır.
Mağazanızdan alınan değer "athletic socks last-available" ise "athletic socks last-available" dizesi "last-available" ile bittiğinden koşul doğrudur. Sipariş iptal edilir.
Şununla bitmez:
Şununla bitmez, ilk değerin, ikinci değerdeki verilerle bitip bitmediğini görmek için değerleri karşılaştırır. Aşağıdaki örnekte, order.lineitems.product.title
değeri mağaza verilerinizden alınmış ve ikinci değer olan "last-available" ile karşılaştırılmıştır.
Mağazanızdan alınan değer "athletic socks new" ise "athletic socks new" dizesi "last-available" ile bitmediğinden koşul doğrudur. Sipariş iptal edilir.
Sipariş koşulları
Her biri farklı işlemlere neden olabilecek birden fazla koşul içeren iş akışları oluşturabilirsiniz. Koşulların sırası önemlidir. Koşul kontrolü iş akışının başlangıcında başlar ve her koşul üzerinden sistematik olarak ilerler. Bir koşul sağlandığında kontrol durur.
Birden fazla koşulu karşılama
Bir koşul belirlediğinizde, birkaç ölçüt belirleyip Flow'un tüm koşullar karşılandığında mı yoksa koşullardan herhangi biri karşılandığında mı koşulu doğru kabul edip etmeyeceğini belirleyebilirsiniz.
Tüm koşullar karşılanırsa
Tüm koşullar karşılanırsa seçeneğini belirlemek, yalnızca belirlediğiniz ölçütlerden tamamının doğru olması hâlinde koşulun doğru olmasıyla sonuçlanır.
Örneğin, Kanada'da bulunan ve tek bir siparişte 500 USD'den fazla harcama yapan müşterileri etiketleyecek bir iş akışı oluşturdunuz.
İş akışı, müşteriyi yalnızca Kanada'da bulunuyorsa ve siparişte 500 USD'den fazla harcama yaptıysa etiketler. Bu koşullardan biri yanlışsa müşteri etiketlenmez.
Koşullardan herhangi biri karşılanırsa
Koşullardan herhangi biri karşılanırsa seçeneğini belirlemek, belirlediğiniz ölçütlerden herhangi birinin doğru olması hâlinde koşulun doğru olmasıyla sonuçlanır.
Örneğin, yüksek veya orta düzeyde riskli kabul edilen siparişleri etiketlemek için bir iş akışı oluşturdunuz.
İş akışı, siparişi yüksek veya orta düzeyde riskliyse etiketler. Bu koşullardan biri doğru olduğu sürece sipariş etiketlenir.
Koşulları ve işlemleri birleştirme
Bir büyük koşul yapmak için koşulları birleştirebilirsiniz. Koşullar birleştirildiğinde, koşulun tamamen doğru olması için koşulların tümünün karşılanması gerekir. Herhangi bir koşul karşılanmazsa tüm koşul yanlış olur. Aşağıdaki örnekte müşteri, pazarlama materyallerini kabul etmeli ve siparişin toplam fiyatı belirli bir eşiğe ulaşmış olmalıdır.
Benzer şekilde, birden fazla eylemin çalıştırılabilmesi için eylemleri birleştirebilirsiniz. Bu örnekte, bir müşterinin, mağazada harcadığı toplam tutara göre bağlılık programı için uygun olup olmadığını denetlemek üzere birden fazla koşul kullanılır. Yukarıda verilen görselde aşağıdaki koşullar, göründüğü sırayla denetlenir.
- Toplam fiyat 1000 USD değerinden büyükse ve müşteri, pazarlama amaçlı iletişimleri almayı kabul ediyorsa müşteriyi Gold etiket ile etiketleyin.
- Toplam fiyat 1000 USD değerinden düşük ancak 500 USD'den yüksekse ve müşteri, pazarlama amaçlı iletişimleri almayı kabul ediyorsa müşteriyi Silver etiket ile etiketleyin.
- Müşteri 200 USD'den fazla harcama yapmışsa ve pazarlama amaçlı iletişimleri almayı kabul ediyorsa müşteriyi Bronze etiket ile etiketleyin.
Koşullardaki statik ve dinamik veriler
Genellikle, bir koşuldaki ikinci değer, manuel olarak girilen statik bir değerdir. Bu değer, her iş akışı çalıştırmasında aynı kalır.
İkinci değerin alanı </>
simgesini gösteriyorsa dinamik değerler kullanabilirsiniz. Dinamik değerler, her iş akışı çalıştırmasında mağaza verilerinizden alınır. Dinamik bir değer kullanmak için </>
simgesine tıklayın ve kontrol etmek istediğiniz değeri seçin. Dinamik değerler tüm alanlarda kullanılamaz.
Örneğin, siparişin fatura adresindeki ülke, kargo adresindeki ülkeyle eşleştiğinde siparişi etiketleyen bir iş akışı oluşturdunuz.
Bu örnekte, ikinci değer için kontrol edilecek statik bir dizeyi manuel olarak belirtmek yerine, hem birinci hem de ikinci değerler mağazanızın verilerinden alınır. Müşteri tarafından sağlanan fatura adresindeki ülke, müşterinin kargo adresinde belirttiği ülkeyle aynıysa koşul doğrudur ve sipariş etiketlenir.