Shopify Flow'da koşulları anlama
Koşul, bir dizi ölçütün karşılanıp karşılanmadığına göre nasıl devam edileceğine dair bir kararın verildiği, iş akışındaki bir adımdır. Her koşul adımının 2 olasılığı vardır: Ölçütlerin karşılandığı durumlar için Doğru ve ölçütlerin karşılanmadığı durumlar için Yanlış. Başka bir koşul veya eylem seçerek olasılıklardan herhangi biri için bir sonraki adımı tanımlamazsanız iş akışı çalıştırması durur.
Örneğin, iş akışınız bir sipariş oluşturulduğunda tetikleniyorsa bir koşul, siparişte belirli bir AFFILIATE10 indirim kodunun kullanılıp kullanılmadığını kontrol edebilir. Kod kullanıldıysa Doğru seçeneği, kodlarının kullanıldığını bildirmek üzere satış ortağına bir e-posta gönderen bir eyleme yol açabilir. Kod kullanılmadıysa Yanlış seçeneği boş bırakılabilir. Bu, başka bir işlem yapılmayacağı ve iş akışı çalıştırmasının sona ereceği anlamına gelir.
Bir iş akışı, karmaşıklığına bağlı olarak istenen sayıda koşula sahip olabilir. Koşullar, iş akışının ne yapmasını istediğinize bağlı olarak diğer koşullara veya eylemlere de bağlanabilir. Koşullar, sıralı şekilde bağlanacak (örneğin, A koşulu doğruysa B koşulunu kontrol et; A yanlışsa C'yi kontrol et) veya aynı adımın parçası olarak eş zamanlı gerçekleşecek (örneğin, A, B veya C'nin doğru olup olmadığını kontrol et) şekilde ayarlanabilir.
Bu sayfada
İş akışınız için koşul oluşturma
Shopify Flow'da mevcut seçeneklerin yer aldığı önceden ayarlanmış bir listeden seçebileceğiniz tetikleyici veya eylemin aksine koşullar, koşullu ifadeyi oluşturmak üzere değişkenler, mantıksal operatörler ve değerler seçilerek sıfırdan oluşturulur:
- Değişken, koşulun kullandığı verileri tanımlayan bir yer tutucudur. Örneğin, bir koşul bir siparişteki belirli bir indirim kodunu kontrol etmek isterse değişken
order.discountCodeolur. Değişkenler GraphQL Admin API nokta gösterimini kullanır. - Bir mantıksal operatör , iş akışının koşulun karşılanıp karşılanmadığını nasıl belirleyeceğini belirtir. Mantıksal operatörler, değişken düzeyinde veya genel koşul ölçütlerinin bir parçası olarak birden fazla değişken eklendiğinde uygulanabilir:
- Değişken düzeyindeki seçenekler arasında Büyüktür veya İle başlar gibi alan düzeyinde operatörler ya da En az biri veya Tümü gibi liste operatörleri bulunur.
- Koşul düzeyindeki seçenekler arasında, koşulun genel olarak doğru kabul edilmesi için tüm değişkenlerin doğru olması gerektiği anlamına gelen VE veya koşulun genel olarak doğru kabul edilmesi için en az 1 değişkenin doğru olması gerektiği anlamına gelen VEYA bulunur.
- Değer, değişkenin aradığı gerçek bilgidir. Örneğin, iş akışının kontrol etmesini istediğiniz belirli
order.discountCode, AFFILIATE10 ise koşulun bir parçası olarak eklenecek değer bu olur.
Siz değişkenlerinizi ve operatörlerinizi seçtikçe Shopify Flow tuvalindeki koşul adımı, koşullu ifadenizi düz metinle yansıtacak şekilde güncellenir. Böylece, oluşturduğunuz koşulun doğru biçimlendirilip biçimlendirilmediğini kontrol edebilirsiniz. Varsayılan koşullu ifadenin üzerine kendi yazdığınız açıklamayla yazmak için Açıklama ekle'ye tıklayabilirsiniz.
Shopify Flow'daki koşul öğeleri hakkında daha ayrıntılı bilgi edinin.
Koşullardaki değişkenleri anlama
Bir iş akışında koşul adımı oluştururken atmanız istenen ilk adım Değişken ekle'mektir. Peki, değişken nedir?
Shopify Flow'da değişken, iş akışındaki koşul tarafından kullanılan veriyi gösteren bir yer tutucudur. Bir koşulda "A, 10'dan büyükse..." ifadesi yer aldığında A kısmı değişkendir. Bir koşul için değişken seçmek, esasen koşula özellikle hangi verinin değerlendirileceğini söylemektir.
Değişkenler, GraphQL Admin API nokta gösterimi kullanılarak biçimlendirilir. Flow uygulamasıyla iş akışları oluşturmak için API'ye hakim olmanız gerekmez ancak değişken adları ve tanımları hakkında temel bir anlayışa sahip olmak, istediğiniz özel iş akışı mantığını oluşturmanıza yardımcı olabilir.
Bir değişkenin hangi verileri temsil ettiğini anlamak için değişkenlerle ilgili aşağıdaki bilgileri göz önünde bulundurun:
- Değişken nokta gösterimini okuma.
- Değişkenler için veri gerekliliklerini anlama.
- Arama sırasında doğru değişkeni bulma.
İpucu: Dev Docs Asistanı'ndan değişkenlerle ilgili yardım alın
Koşulunuzu oluştururken hangi değişkeni seçeceğinizden emin değilseniz Shopify Dev Docs Asistanı'ndan tavsiye almayı düşünebilirsiniz. Dev Docs Asistanı, GraphQL Admin API ile ilgili tüm belgelere erişebilir ve Shopify Flow'da bir koşulu nasıl biçimlendireceğiniz konusunda önerilerde bulunabilir:
- Shopify Dev Docs sayfasına gidin.
- Sohbet panelini açmak için Asistan'a Sor'a tıklayın.
- Mesaj alanına, "Tetikleyicim "Sipariş oluşturuldu" ile başladığında müşteri etiketi verilerine erişmek için Shopify Flow'da hangi değişkeni kullanmalıyım?" gibi bir talep girin.
- Enter tuşuna basın veya
simgesine tıklayın.
Değişken nokta gösterimini okuma
Değişkenleri seçerken, bunların order.customer.tag gibi, noktalarla ayrılmış anahtar sözcükler olarak biçimlendirildiğini fark edeceksiniz. Bu biçim, API'nin kullanmak istediğiniz verilere ulaşmak için attığı adımları gösterir. Bir değişkenin her "adımı" bir nokta ile ayrılır ve verilere giden yol soldan sağa doğru okunur. Değişkenlerin uzunluğu, verilerin API'de nerede depolandığına ve iş akışının oraya ulaşmak için kullandığı yola bağlı olarak farklılık gösterebilir.
Örneğin:
order.email: Siparişin müşterisiyle ilişkili e-posta adresini kontrol eder. Bu, bir siparişe tıklayıp ardından sipariş bilgilerindeki e-posta adresini kontrol etmenize benzer.refunds_item.staffMember.name: Siparişteki bir ürün para iadesini kontrol eder, bu para iadesiyle ilişkili personel bilgilerine gider ve bu personelin tam adını kontrol eder.
Bir değişken seçerken, istediğiniz bilgiyi bulmak için Shopify yöneticisinde nasıl gezineceğinizi düşünün. API'nin de benzer bir yol izlemesi gerekebilir. Bu durum, değişkeninizin nasıl biçimlendirileceğini belirlemenize yardımcı olabilir.
Örneğin, yeni bir siparişi inceliyorsanız ve siparişle ilişkili müşterinin hangi RFM grubunda olduğunu öğrenmek istiyorsanız Shopify yöneticisindeki müşteri ayrıntıları sayfasına yönlendirilmek için siparişteki müşteri adına tıklayabilir, ardından müşterinin analiz özetini kontrol ederek RFM grubu sütununda hangi değerin görüntülendiğini okuyabilirsiniz.
Shopify Flow'da aynı veriyi döndürmek için kullanacağınız değişken de benzer bir yol kullanır: order.customer.statistics.rfmGroup.
Değişkenler için veri gereklilikleri
Değişkenler için veri gerekir. Değişken için doğru veri mevcut değilse koşul çalışmaz ve iş akışı başarısız olur. İş akışınızın başlangıcı olarak seçtiğiniz tetikleyiciye bağlı olarak, koşullarınıza eklenecek değişken seçenekleri, mevcut verilere dayalı olası seçenekleri yansıtacak şekilde değişir.
Örneğin, iş akışınız Ürün oluşturuldu tetikleyicisiyle başlıyorsa bu tetikleyiciden oluşturduğunuz koşullar, ürün veri kümesinden alınan değişkenlerle sınırlıdır. Bu nedenle, koşulun bir parçası olarak product.category.name, product.vendor ve variants_item.displayName gibi değişkenlerin tümü kullanılabilir. Buna karşılık, customer.verifiedEmail veya subscriptionContracts_item.status gibi değişkenler, ürün veri kümesiyle ilişkili olmadıkları için seçenek olarak görüntülenmez.
Ancak bu, diğer veri kümelerinde bulunan verilerin tamamen erişilemez olduğu anlamına gelmez. Tıpkı Shopify yöneticisinde aynı sayfaya ulaşmak için farklı bağlantılara tıklayabileceğiniz gibi, API'deki bazı verilere birden fazla yoldan erişilebilir. Uygulamada bu, farklı tetikleyicilerin aynı bilgiyi döndürmek için farklı değişken gösterimleri gerektirdiği anlamına gelir.
Örneğin, iş akışınızın bir müşterinin profilindeki etiketleri kontrol etmesini istediğinizi varsayalım. İş akışınız Sipariş oluşturuldu tetikleyicisiyle başlıyorsa değişken order.customer.tags olur. Çünkü iş akışı sipariş verileriyle başlar, ardından siparişteki müşteri bilgilerini ve son olarak da bu müşterinin etiketlerini kontrol eder. İş akışınız Müşteri oluşturuldu tetikleyicisiyle başlıyorsa değişken yalnızca customer.tags olur. Çünkü iş akışı müşteri verileriyle başladığından, doğrudan müşteri profilindeki etiketleri kontrol edebilir.
Anahtar sözcüklere göre arama yaparken değişken yolunu kontrol etme
Shopify Flow'daki nokta gösterimi stili nedeniyle, bir koşulda kullanılacak değişkenleri anahtar sözcüklere göre aramak birden fazla sonuç döndürebilir. Koşulunuzu oluştururken hangi değişkeni seçeceğinizi belirlerken değişken yolunun neyi gösterdiğini anlamak önemlidir.
Örneğin, iş akışınız Sipariş oluşturuldu tetikleyicisini kullanır ve siz de tags anahtar sözcüğünü kullanarak bir değişken ararsanız aramanız, siparişteki farklı bilgileri kontrol eden aşağıdaki sonuçları döndürebilir:
order.tags: Siparişin kendisine uygulanan etiketler. Örneğin, #acelesipariş veya #hediye.order.customer.tags: Siparişi veren müşteriye uygulanan etiketler. Örneğin, #VIP veya #satışortağı.order.lineItems.product.tags: Siparişte satın alınan ürünlere uygulanan etiketler. Örneğin, #kırılabilir veya #kimlikgerekli.
İş akışının hangi tür etiketleri kontrol etmesini istediğinize bağlı olarak, koşulunuzun beklendiği gibi çalışması için doğru değişkeni seçmeniz gerekir.
Koşullardaki mantıksal operatörleri anlama
Mantıksal operatörler, koşulunuzun nasıl uygulanacağını tanımlar ve bir ifadenin doğru ya da yanlış olarak sonuçlanmasını sağlar. Bir koşul "Eğer A, 10'dan büyükse..." şeklinde olduğunda, ...-den büyük kısmı mantıksal operatördür. Bir koşul için mantıksal operatör seçmek, aslında koşula değişkeni nasıl değerlendireceğini söylemek anlamına gelir.
Shopify Flow iş akışlarında 3 tür mantıksal operatör vardır:
- ...-den büyük veya ... ile başlar gibi alan düzeyinde operatörler.
- En az biri veya Tümü gibi liste operatörleri.
- VE veya VEYA gibi koşul düzeyinde operatörler.
Alan düzeyinde operatörler ve liste operatörleri değişken düzeyinde uygulanır. Koşul düzeyinde operatörler ise genel koşula uygulanır ve birden çok değişkeni tek bir koşulda birleştirmek için kullanılabilir.
Alan düzeyinde operatörler, her tür değişken ifadesinde kullanılan en yaygın operatör türleridir. Alan düzeyinde operatörlerle, "Eğer A, 10'dan büyükse X'i yap" veya "Eğer B, 'VIP' içeriyorsa X'i yap" gibi koşullu ifadeler oluşturarak bir değişkenin hangi değerlerinin doğru sonuç döndüreceği üzerinde daha fazla kontrole sahip olabilirsiniz. Eşittir, varsayılan mantıksal operatördür.
Liste operatörleri yalnızca bir sonuç listesi döndürebilen değişkenlere uygulanabilir. Örneğin lineItems_item.variant.price değişkeni, siparişteki bir ürün varyasyonunun fiyatını döndürür. Müşteri aynı siparişte birden fazla ürün satın aldığında bu değişken, bir sonuç listesi döndürebilir. Böylece, siparişte 10 $'dan daha pahalı en az 1 ürün varyasyonu olduğunda "lineItems_item.variant.price, 10 $'dan büyüktür" şeklindeki koşullu ifadenin doğru olmasını istiyorsanız En az biri gibi bir liste operatörü uygulayabilirsiniz. Buna karşılık, aynı anda yalnızca 1 sonuç döndürebilen değişkenler için liste operatörleri görüntülenmez. Örneğin, bir sipariş yalnızca bir kez oluşturulabildiği için order.createdAt gibi bir değişkenin yalnızca 1 olası değeri vardır. Bu nedenle, bu değişkeni içeren ifadeyi değiştirmek için liste operatörleri seçenek olarak görüntülenmez.
AND ve OR gibi durum düzeyindeki operatörler, aynı duruma birden fazla değişken eklemenize olanak tanır. Örneğin, "A, 5'e eşitse X'i yap" gibi basit bir koşullu ifade yerine, hem A hem de B değişkenlerinin doğru olmasını gerektiren "A, 5'e eşitse ve B, 10'dan büyükse X'i yap" gibi daha karmaşık durumlar oluşturabilirsiniz. Alternatif olarak A, B veya C'den yalnızca birinin doğru olmasının yeterli olduğu "A, 5'e eşitse veya B, 10'dan büyükse ya da C, 1'den küçükse X'i yap" gibi bir durum da oluşturulabilir. Bir iş akışındaki her şeyin doğru olması gerektiğinde AND operatörünü, durumun doğru olması için ölçütlerden herhangi birinin karşılanmasının yeterli olduğu durumlarda ise OR operatörünü kullanın.
Bunun önemi: Mantıksal operatörlerin durumlarda nasıl çalıştığını anlamak, tam olarak istediğiniz ölçütleri kontrol eden iş akışları oluşturmanıza olanak tanır. 3 tür mantıksal operatörle, çok spesifik durumları kontrol eden iş akışları oluşturmak için ayrıntılı ve karmaşık koşullu ifadeler hazırlayabilirsiniz.
Durumlardaki mantıksal operatörler hakkında daha ayrıntılı bilgi edinin.