Bir şeyin değiştiğini bilmek nadiren yeterlidir. Bir iş akışının genellikle daha önce durumun ne olduğunu bilmesi gerekir: fiyat düştü mü yoksa yükseldi mi, ne kadar, hangi etiket eklendi, meta alan dün ne gösteriyordu? Bu sürüm, eski ve yeni değerleri uygulamanın her yerinde kullanılabilir hale getiriyor ve hiçbir şey olmamasına rağmen özel bir tetikleyicinin bir iş akışını başlatmasına olanak tanıyor.
Eski ve yeni değerler, her yerde
- Metafield tetikleyicileri artık önceki değeri de içeriyor. Her metafield tetikleyicisi (genel, ürün, varyant, sipariş, müşteri),
Metafield.value değerinin yanı sıra Metafield.previousValue değerini de Shopify Flow’a aktarıyor. Metafield yeni oluşturulduğunda bu değer boştur. Bkz. Metafield tetikleyicileri.
- Fiyat, birim fiyat ve maliyet değişiklikleri artık sayılarla birlikte sunuluyor. Shopify Flow’daki koşullar aritmetik işlem yapamadığından, “Varyant Fiyatı Değişti”, “Varyant Birim Fiyatı Değişti” ve “Ürün Varyantı Maliyet Değişti” koşulları artık
delta’u (yeni değerden eski değerin çıkarılması), percentChange’u ve direction’u (artış, azalma, değişmedi) da içeriyor. "Fiyat %10'dan fazla düştü" ifadesi artık kod yazmaya gerek kalmadan tek bir koşul olarak kullanılabilir.
- Ürün Güncellemesi, Sipariş Güncellemesi ve Müşteri Güncellemesi, nelerin değiştiğini size bildirir. Eskiden sadece kaydın güncellendiğini belirtirlerdi. Artık
changes öğesini içerirler: değişen alanların listesi ve her biri için eski ve yeni değerler. İzlenen alanlar, ürünler için başlık, açıklama, durum, etiketler, satıcı, tür ve tanıtıcı; siparişler için ödeme durumu, yerine getirme durumu, satır öğeleri, etiketler, not ve ek ayrıntılar; müşteriler için ise etiketler, not ve hesap durumudur. Uzun değerler kısaltılır. Güncelleme bu alanların dışında gerçekleştiğinde (örneğin, bir envanter değişikliği durumunda) liste boştur.
- Sipariş Satır Öğelerinde Yapılan Değişiklikler Taslağı artık sipariş tetikleyicisiyle aynı satır satır farkları sunuyor: miktar, fiyat veya varyant açısından nelerin eklendiği, kaldırıldığı veya değiştirildiği.
- Kendi özel tetikleyici kodunuz da eski ve yeni değerleri algılar. Ürün Güncelleme, Sipariş Güncelleme veya Müşteri Güncelleme olaylarında bir özel tetikleyici artık
payload._changes değerini alır: değişen her izlenen alan, her biri oldValue ve newValue değerleriyle birlikte. Böylece kodunuz, bir durumdan ziyade bir geçiş sırasında tetiklenebilir - "durum taslaktan aktif hale geldi", "sipariş ödendi" - ki bu, mevcut değere dayalı bir koşul ile ifade edilemez. Düzenleyicide yakaladığınız örnek olay, bu alanı gösterir.
Her şey birikimlidir. Daha önce oluşturduğunuz iş akışları, herhangi bir değişiklik olmaksızın çalışmaya devam eder. Her tetikleyiciye ait tam alan listesi, tetikleyici referansı adresinde yer almaktadır.
Hangi değişikliklerin bir Güncelleme tetikleyicisini çalıştıracağını seçin
"Ürün Güncellemesi", "Sipariş Güncellemesi" ve "Müşteri Güncellemesi" seçeneklerinin, Tetikleyiciler sayfası'daki anahtarlarının yanındaki dişli simgesinin arkasında yeni bir ayar bulunmaktadır: Bu ayar, bu işlemin ne zaman tetikleneceğini belirler.
- Hiçbir seçenek işaretlenmemiş: Tetikleyici, her zamanki gibi her güncellemede çalışır.
- İşaretlenen alanlar: Yalnızca bunlardan biri değiştiğinde tetiklenir. Diğer tüm güncellemeler atlanır ve planınızın kotasından düşülmez.
Bu, bir iş akışının kendi kendini tetiklemesini engellemenin en temiz yoludur. “Ürün Güncellemesi” olayında başlayan ve ardından kendini yeniden başlatmak için kullanılan bir ürün meta alanını yazan bir iş akışı. Tetikleyiciyi yalnızca ilgilendiğiniz alanlarla sınırlandırdığınızda, o ikinci güncelleme artık tetiklenmez.
Diğer tetikleyicileriniz bu seçimden etkilenmez. Sipariş Güncelleme’yi ödeme durumuyla sınırlandırmak, “Sipariş Etiketleri Eklendi” olayının ne zaman tetikleneceğini değiştirmez.
Zamanlamaya göre çalışan özel tetikleyiciler
Shopify Flow, bir olay gerçekleştiğinde tepki verir. Bir olay gerçekleşmediğinde tepki veremez ve mağazanızın dışındaki hiçbir şeyi göremez. Artık bir özel tetikleyici bunu yapabilir. Düzenleyici, “Bunu ne tetikler: Bir Shopify olayı mı, yoksa bir zamanlama mı?” diye sorar. "Zamanlamaya göre" seçeneğinde, kodunuz her 30 saniyede bir, günde en fazla bir kez çalışır. Son çalıştırmada ne gördüğünü hatırlar, mağazanızı okuyabilir ve genel internetteki herhangi bir şeyi çağırabilir; ayrıca neyin bir değişiklik olarak kabul edileceğine kendisi karar verir.
Bir şablondan başlayın ve üst kısımdaki rakamları düzenleyin:
- N gündür güncellenmemiş ürün, sipariş veya müşteri - güncelliğini yitirmiş katalog incelemeleri, takılmış siparişler, müşteri geri kazanımı. Her kayıt, hareketsizlik süresi boyunca bir kez tetiklenir; özelliği etkinleştirdiğinizde zaten vadesi geçmiş olan kayıtlar tek seferde tetiklenmez.
- Shopify dışındaki bir değerde değişiklik oldu - bir tedarikçi stok verisi, bir döviz kuru, bir fiyat listesi. Değerin önceki ve sonraki halini, sayılar için ise farkı ve yüzdesini gösterir.
- RSS veya Atom beslemesindeki yeni öğe - tedarikçi haberleri, ürün listesi beslemesi, durum sayfası.
- N saat boyunca sipariş gelmediğinde - mağazanızın nabzı. Siparişler durduğunda bir kez, yeniden başladığında bir kez tetiklenir.
Zamanlanmış bir tetikleyicinin ilk çalıştırılması yalnızca gördüklerini hatırlar; bu nedenle, bir tetikleyiciyi etkinleştirmek iş akışlarınızı asla aşırı yüklemez. Bu tetikleyici, Shopify Flow’da “Özel Tetikleyici” olarak görünür, tanıtıcısına göre filtrelenir ve kayıt, kimlik numarasıyla birlikte gelir. Tetikleyici çalışsın ya da çalışmasın, her çalıştırma planınızın kotasından düşülür; düzenleyici, bir aralığın toplam kaç çalıştırmaya karşılık geldiğini gösterir. Test, hiçbir şeyi tetiklemeden kodunuzu bir kez çalıştırır.
Olay tabanlı özel tetikleyiciler için şablonlar
Shopify olayını izleyen özel tetikleyiciler için artık şablonlar da mevcut. Şablondan başla seçeneği altından bir** şablon** seçtiğinizde, sistem ilgili olayı seçer ve kodu doldurur. Her şablon, değişiklikten önceki ve sonraki değeri okur:
- Bir ürün, sipariş veya müşteri alanı bir değerden başka bir değere değişti - örneğin, durum “taslak”tan “aktif”e geçti veya bir sipariş “ödenmiş” hale geldi.
- Fiyat N yüzde'den fazla düştü - bu gerçek bir indirimdir, her fiyat değişikliği değildir.
- Hisse senedi belirli bir eşiğin altına düştü - bu durum, hisse senedi söz konusu çizgiyi aştığı anda bir kez tetiklenir; hisse senedi zaten düşük seviyedeyken her satışta değil.
- Ürün meta alanı değeri bir eşiği aştı - bir puan 3'ün altına düştü, bir marj ise 40'ın üzerine çıktı.
- Yüksek değerli bir müşteri tarafından ödenen sipariş -
ctx.shopify() ile müşterinin mağazanızdaki toplam harcama tutarını okur ve yalnızca belirlediğiniz tutarın üzerinde tetiklenir.
Bir kaydın kendi yönetim sayfasındaki tetikleyici olaylar
Yeni yönetici blokları, Shopify yönetici panelinde görüntülediğiniz kaydın sayfasının hemen üzerinde, o kayıtla ilgili en son tetikleyici olayları gösterir; her birinin yanında price: 100.00 -> 85.00 gibi “eski -> yeni” şeklinde kısa bir satır yer alır. Buradan olayı veya o kayda ait Olay Geçmişi görünümünü açabilirsiniz.
Ürünler, varyantlar, siparişler, taslak siparişler, müşteriler, tahsilatlar, şirketler ve şirket şubeleri için kullanılabilir. Bloğu, sayfanın özelleştirme menüsünden bir kez ekleyin. Kişisel verileri işleyen tetikleyiciler, değerleri olmadan listelenir. Ürün, sipariş ve müşteri sayfalarında örneklerle nasıl ekleneceği: Kayıtların yönetim sayfasındaki tetikleyici olayları.
"Generate with AI" için daha fazla yapay zeka sağlayıcısı
AI ile Oluştur özelliği artık Anthropic ve OpenAI’nin yanı sıra Google Gemini ve OpenRouter ile de çalışıyor. OpenRouter, tek bir anahtarla birçok şirketin modellerine erişim sağlar; bu, girdiğiniz herhangi bir model kimliğini de içerir. Geliştirici -> Bağlantılar bölümünden bir anahtar bağlayın: Gemini API anahtarı alın veya OpenRouter API anahtarı alın. Daha önce olduğu gibi, oluşturma işlemi kendi sağlayıcı hesabınızda gerçekleştirilir ve anahtar şifrelenir, bir daha asla gösterilmez.
Shopify’ın web bileşenleri üzerine kurulu, daha hızlı bir arayüz
Uygulamanın her sayfası, Shopify’ın yeni yönetici web bileşenleri üzerine yeniden oluşturulmuştur; bunlar, Shopify yönetici panelinin kendisinin de kullandığı yapı taşlarıdır.
- Daha hızlı yüklenir. Uygulama artık bir arayüz kütüphanesinin kendi kopyasını içermiyor. Bileşenler Shopify’dan geliyor, yönetici panelinizin geri kalanıyla paylaşılıyor ve genellikle tarayıcınızın önbelleğinde zaten mevcut olduğundan, her sayfanın görüntülenmeden önce indirilmesi gereken veri miktarı çok daha azdır.
- Sanki yönetici panelindeymişsiniz gibi hissettiriyor. Düğmeler, tablolar, anahtarlar, diyalog pencereleri ve formlar, klavyeyle gezinme ve ekran okuyucular da dahil olmak üzere, Shopify’ın diğer her yerinde kullandığınızlarla tamamen aynı şekilde görünüyor ve çalışıyor.
- Her zaman güncel kalır. Shopify, bileşenlerini geliştirdiğinde, uygulama bizim tarafımızdan bir güncelleme yapılmasına gerek kalmadan bu iyileştirmeleri otomatik olarak alır.
Hiçbir şey değişmedi: her sayfa, ayar ve bağlantı eskisi gibi yerinde.
Ayrıca bu sürümde
- İzinler sayfasında Tümünü Ver ve Tümünü İptal Et seçeneklerini kullanın. "Tümünü Ver" seçeneği, eksik olan her bir izin için kart başına ayrı bir pencerede değil, tek bir Shopify iletişim penceresinde izin talebinde bulunur. "Tümünü İptal Et" seçeneği ise önce onayınızı ister ve bunun ne anlama geldiğini açıklar: Tetikleyicileriniz açık kalır, ancak siz tekrar erişim izni verene kadar devreye girmezler.
- Özel tetikleyici kodu, yalnızca
ctx.shopify() ile mağazanıza değil, ctx.fetch() ile genel internete de** erişebilir**. Dahili adreslere erişim reddedilir.
- Özel tetikleyicileriniz ve mağaza tetikleyicileriniz artık aynı şekilde çalışıyor: düzenlemek için satıra tıklayın; durum bilgisi sağ tarafta yer alıyor.
- Tetikleyiciler sayfasında, başlığın yanında kaç tane tetikleyicinin etkin olduğu gösterilir ve dört adet metalanalı tetikleyicinin artık listede kendi anahtarları bulunmaktadır.
- Zorunlu alanlar, özel tetikleyici, mağaza tetikleyicisi ve bağlantı formlarında işaretlenmiştir.
- Düzeltildi: Olay Geçmişi’ndeki tarih filtresi silinemiyordu. Tarih etiketini kaldırmak ya da “Tümünü Sil” seçeneğini seçmek, tarihlerin geçerli kalmasına neden oluyordu. Artık her iki işlem de tarihleri siliyor.
- Etkinlik Geçmişi satırları mavi bağlantılar yerine düz metin biçimindedir. Satırın tamamı yine de tıklanabilir durumdadır.