Veri Akışlarını kullanarak gönderim anında API’lerinizden OneSignal e-posta mesajlarına gerçek zamanlı veri çekin; kişiselleştirme için Liquid sözdizimini kullanın.
Use this file to discover all available pages before exploring further.
Veri Akışları, gönderim anında API’lerinizden doğrudan mesajlara gerçek zamanlı veri çekmenizi sağlar. Bu, verileri OneSignal’e önceden yüklemeden son derece kişiselleştirilmiş içerik sunmanıza olanak tanır.Veri Akışlarını verileriniz sık sık değiştiğinde kullanın, örneğin:
Kullanıcının mevcut ödül bakiyesi
En son sipariş durumu
Kişiselleştirilmiş ürün önerileri
Diğer kişiselleştirme yöntemleri (Etiketler veya Dinamik İçerik gibi) statik veriler için iyi çalışır. Veri Akışları, canlı ve hızla değişen değerler için en iyisidir.
Veri Akışları şu anda yalnızca Journeys aracılığıyla gönderilen e-posta mesajları için kullanılabilir.
Başka bir kanala mı ihtiyacınız var? Bu kısa anketi doldurun.
Diyelim ki her müşteriye ödül bakiyesini göstermek istiyorsunuz:
Hi {{ first_name }},You have {{ data_feed.rewards.points }} points!Your membership status is {{ data_feed.rewards.status_level }}.Keep shopping to earn more points!
Sarah bu e-postayı aldığında, Liquid değişkenleri gerçek puan bakiyesi ve üyelik durumuyla değiştirilir. Aşağıdaki bölümler bu örneği adım adım kurmayı göstermektedir.
Mevcut Veri Akışlarının listesini görmek ve yeni bir tane oluşturmak için kenar çubuğunda Veri > Veri Akışları’na gidin.Her Veri Akışı şunlara sahip olmalıdır:
Ad: Akışları ayırt etmenize yardımcı olması için “Müşteri Ödülleri API’si” gibi açıklayıcı bir ad. Benzersiz adlar önerilir ancak zorunlu değildir.
Takma Ad: Liquid sözdiziminde kullanılan rewards gibi kısa bir tanımlayıcı (örn. {{ data_feed.rewards.points }}). Benzersiz, küçük harf, alfasayısal olmalı; boşluk veya özel karakter içermemelidir.
Yöntem: OneSignal’in API’nize ulaşmak için kullandığı HTTP yöntemi. Genellikle GET, ancak POST da desteklenir.
URL: API uç noktanız. OneSignal’in kullanıcıya özel veri çekebilmesi için Liquid sözdizimini destekler.
Örneğin, ödül uç noktanız URL parametresi olarak kullanıcının external_id’sini (OneSignal’de depolanan) kabul edebilir:
Akışınızı üretimde kullanmadan önce test edin. Veri Akışı testleri test aboneliklerinize karşı çalışır; bu nedenle test aboneliği özniteliklerinizin API’nizden gerçek bir sonuç döndüreceğini doğrulayın.
Son olarak, kullanıma hazır olması için yeni Veri Akışınızı Etkinleştirin.
Yanıt verilerini mesajınızın herhangi bir yerine eklemek için Liquid sözdizimini kullanın. Ödül örneğine devam edersek, external_id’si a1-b2c3 olan Sarah için API yanıtı şöyle görünebilir:
Gönderim hacminizi karşılamak. API’nizdeki düşük oran sınırı mesaj teslimini yavaşlatır.
Makul boyutlu yükler döndürmek. En iyi performans için yanıtları 50 KB altında tutun.
Mevcut sınırlar:
Şablon başına bir Veri Akışı. İhtiyacınız olan her şeyi tek bir API yanıtında alın.
Mesaj başına Veri Akışı başına bir API çağrısı.
Yalnızca Journeys. Henüz diğer gönderim yöntemleri için kullanılamıyor.
Çağrı zincirlemesi yok. Bir Veri Akışından gelen yük, başka birini çağırmak için kullanılamaz.
Şablon başına birden fazla Veri Akışına veya diğer kanallar için desteğe mi ihtiyacınız var? Bu özelliklere öncelik verilmesine yardımcı olmak için kullanım durumunuzu paylaşın.
İsteğe bir gövde eklemeniz gerekiyorsa, API’niz JSON’u kabul etmelidir. Bu, başlıklarınızın Content-Type: application/json içermesi gerektiği anlamına gelebilir.
API’nizin oran sınırlarını göz önünde bulundurun. 10.000 kullanıcıya gönderim, hızlı art arda 10.000 API çağrısı anlamına gelir. API’nizin bu hacmi kaldırabileceğinden emin olun.
API’niz bir hata döndürürse veya bir kullanıcı için veriye sahip değilse, mesaj o alıcıya gönderilmeyecektir. API’nizin beklenen tüm kullanıcılar için veri döndürdüğünden emin olun.
Veri Akışlarını uygulamadan önce şu soruları yanıtlayın:
Mesajımda hangi verileri göstermek istiyorum? API’nizden doldurulacak öğelerin tanımlandığı basit bir taslaktan geriye doğru çalışmak, düşüncelerinizi organize etmenize yardımcı olacaktır.
Bu veriler tek bir API uç noktası üzerinden kullanılabilir mi?
API isteklerini nasıl doğrulayacağım?
Kişiselleştirilmiş verileri almak için hangi tanımlayıcıyı veya diğer veri öğesini kullanacağım?
Bu tanımlayıcı zaten OneSignal’de depolanıyor mu? Değilse, nasıl doldurulacak?
API’m üreteceğim istek hacmini kaldırabilir mi?
API’m bir kullanıcı için veriye sahip değilse ne olur?
- Blue Running Shoes- $84.00- <running shoes image>- Protein Bar- $5.99- <protein bar image>Cart total: $89.99
E-posta blok düzenleyicisini kullanıyorsanız, bu tür karmaşık Liquid sözdizimini eklerken, özellikle resimler veya bağlantılar eklemeniz gerekiyorsa, en iyi sonuçlar için özel HTML blok öğesini kullanın.
Bu terk edilmiş sepet e-postasını özel olayları kullanarak nasıl tetikleyeceğinizi görmek ister misiniz? Tam iş akışı için Özel olay özellikleri sekmesine bakın.
Önceki terk edilmiş sepet örneğine devam edersek, o belirli sepeti ilk etapta nasıl alacağımızı nasıl bilebiliriz?Bir yöntem, özelliklerin bir cart_id içerdiği bir cart_abandonedözel olayı tarafından tetiklenen bir Journey oluşturmak olabilir. Bu örnekte o olay API aracılığıyla OneSignal’e gönderiliyor:
Kullanıcı user_12345, bu olay tetiklendiğinde Journey’ye girer, ardından e-posta gönderen bir düğüme ulaşır. Bu e-posta şablonu, URL’nin belirli bir sepetin içeriğini şu şekilde almak üzere ayarlandığı cart Veri Akışı ile kurulmuştur:
Böylece, bu belirli olay alındığında ve Journey’yi tetiklediğinde:
98765 olan cart_id değeri Journey’ye depolanacaktır
E-posta adımına ulaşıldığında, cart Veri Akışı bu cart_id değerine referans verecek ve onu sepet API’sini çağırmak için kullanacaktır
Döndürülen JSON özellikleri ayrıştırılacak ve yukarıdaki önceki örnekteki gibi e-postaya eklenecektir
Sipariş durumuna göre Veri Akışı içeriğini koşullu olarak nasıl görüntüleyeceğinizi görmek ister misiniz? Daha fazla bilgi için Koşullu görüntüleme: sipariş durumu sekmesine bakın.
Diyelim ki bir müşterinin siparişinin durumunu eklemek istiyorsunuz, ancak yalnızca sipariş sevk edilmişse bir takip numarası bağlantısı eklemek istiyorsunuz. Bunu yapmak için bir if ifadesi kullanabilirsiniz:
Your order is {{data_feed.order.status}}!{% if data_feed.order.tracking_number != empty %}Track it here: {{data_feed.order.tracking_url}}{% endif %}
Burada, takip bağlantısı yalnızca tracking_number mevcutsa görüntülenecektir.
Veri Akışları, alıcı başına kişiselleştirilmeye gerek kalmadan mesajlarınıza güncel bilgileri otomatik olarak eklemek için kullanılabilir.Örneğin, belki e-postalarınızın üstüne bir banner resmi eklersiniz ve tatiller ve diğer aylık olaylarla güncel kalmak için onu aylık olarak değiştirirsiniz. Her ay yeni bir resmi OneSignal’e yüklemeyi ve tüm şablonlarınızı değiştirmeyi hatırlamak yerine, CMS’inizden veya diğer varlık yönetimi konumunuzdan mevcut banner resim URL’sini alan bir Veri Akışı kurabilirsiniz.URL’de herhangi bir değişken olmadan bir uç noktaya işaret eden bir banner Veri Akışı kurarsınız:
E-posta şablonunuzu resim kaynak URL’si olarak {{ data_feed.banner.banner_url }} kullanacak şekilde ayarlarsınız ve bu süreci ileriye dönük otomatikleştirirsiniz.
Bu örnek, her alıcı için API’nizden benzersiz bir değer alan Veri Akışını kullanarak e-postalarda kişiselleştirilmiş, tek kullanımlık kupon kodları göndermeyi kapsar.
Merhaba George,Önümüzdeki 2 saat içinde rezervasyonunuzu tamamlayın ve kişisel kodunuzla %10 tasarruf edin: XYZ123ABC
Her kullanıcı, e-posta gönderildiğinde harici bir API çağrısı aracılığıyla canlı olarak oluşturulan, belirli bir zaman penceresi için geçerli ve o kullanıcıya özel benzersiz bir kupon kodu alır.
Kullanıcı tanımlayıcısını (örneğin external_id) ve kampanya tanımlayıcısını kabul eden, kupon kodu, indirim ve son kullanma tarihiyle JSON döndüren harici bir API
API’nizin kupon oluşturmak için kullanabileceği her kullanıcı için benzersiz bir tanımlayıcı (örn. external_id)
E-postayı OneSignal Journey’si aracılığıyla göndermek için kullanılan bir segment veya tetikleyici (örneğin, “son 24 saatte terk edilmiş arama”)
OneSignal’de Mesajlar → E-posta → Yeni Şablon’a gidin
Mesaj gövdenizde Veri Akışı takma adını ve alanlarını kullanın. Örneğin:
<h2>Hi {{ first_name }},</h2><p>Complete your booking in the next {{ data_feed.coupon.expires_in_hours }} hours and save{{ data_feed.coupon.discount_percent }} with your personal code:<strong>{{ data_feed.coupon.code }}</strong></p><p><a href="https://example.com/checkout?coupon={{ data_feed.coupon.code }}">Use Code Now →</a></p>
Liquid sözdizimini {{ data_feed.<alias>.<field> }} biçiminde kullanın
Veri Akışının şablona eklendiğinden emin olun
Özel Liquid mantığıyla sürükle-bırak düzenleyicisini kullanıyorsanız, bir HTML bloğu kullanın
Adım 3: Veri Akışını ekleyin ve e-postayı tetikleyin
Şablon düzenleyicisinde, Kişiselleştirme altında Veri Akışları’nı açın ve akışınızı seçin (coupon_code_generator)
Bu, OneSignal’in her alıcı için gönderim anında API çağrısı yapmasını, verileri doldurmasını ve e-postaya enjekte etmesini sağlar
Mesajı otomatikleştirmek için bir Journey kurun:
Giriş koşulu: “Son 24 saatte terk edilmiş arama” gibi bir segment
Bekle: Bir booking_completed özel olayı oluşturun. Beklemeyi, bu olay tetiklenirse Journey’den çıkacak veya 1 saat sonra devam edecek şekilde yapılandırın. Rezervasyonu tamamlarlarsa kupon almadan çıkarlar; aksi takdirde kupon almaya devam ederler.
Veri Akışı API çağrıları her alıcı için gönderim anında çalışır. API’niz yavaş yanıt verirse veya eş zamanlı istekleri karşılayamazsa, mesaj teslimi orantılı olarak yavaşlar. 250 ms altında yanıt süresi hedefleyin ve altyapınızın gönderim hacminizi kaldırabildiğinden emin olun.
Bir alıcı için Veri Akışı API çağrısı başarısız olursa — 404, zaman aşımı veya eksik veri nedeniyle — OneSignal o alıcıyı atlar. Veri Akışı yapılandırmanızdaki hata günlüğünü ve hatalar için kendi API günlüklerinizi kontrol edin. Bu kullanıcıların OneSignal’de gerekli tanımlayıcılara sahip olduğunu doğrulayın.
Bir şablonda birden fazla Veri Akışı kullanabilir miyim?
Şu anda hayır. Her şablon bir Veri Akışını destekler. İhtiyacınız olan tüm verileri tek bir API yanıtında alın. Birden fazla akışa ihtiyacınız varsa, kullanım durumunuzu paylaşın.
Veri Akışları push bildirimleri veya SMS için kullanılabilir mi?
Hayır. Veri Akışları şu anda yalnızca Journeys aracılığıyla gönderilen e-posta mesajları için kullanılabilir. Ek kanallar için destek planlanmaktadır — önceliklendirmeye yardımcı olmak için kullanım durumunuzu paylaşın.
OneSignal, Veri Akışı çağrısı başarısız olan alıcıları atlar. Mesaj o alıcıya gönderilmez ve yedek değer eklenmez. Planlı gönderimlerde API çalışma sürenizi ve hata oranlarınızı izleyin.