Belgelere geç
API

Otomasyonlar nasıl çalışır

Bir otomasyon, bir şeyler oldukça kişilere tek tek posta gönderir: biri bir listeye katılır, bir form doldurur, ürününüzde bir şey yapar ya da doğum günü gelir. Yolu bir kez tarif edersiniz ve her kişi onu kendi hızında yürür.

Bir tetikleyici ve bir adım ağacı

Bir definition, bir trigger, entry adımı ve bir steps listesinden oluşur. Her adımın otomasyon içinde benzersiz bir key değeri vardır: bir küçük harf ve ardından 2 ile 23 arasında küçük harf ya da rakam. Bir adım kendisinden sonra geleni next içinde belirtir, bir branch ise iki tane belirtir, yes ve no. null o yolu bitirir. Adımlar bir ağaç oluşturur, bu yüzden hiçbir adıma iki yerden ulaşılmaz ve hiçbir şey geri dönmez. Bir otomasyon en fazla 50 adım tutar ve dallar en fazla 5 düzey derinliğinde olabilir.

  • audience_joined: bir kişi audienceId kitlesine eklenir. İçe aktarmayla eklenen kişiler, includeImported true olmadıkça dışarıda bırakılır.
  • form_submitted: bir kişi formId formuyla kaydolur. Çift onayda, onayladığında girer.
  • event: kodunuz eventName adlı bir olay gönderir. Özellikleri üzerindeki en fazla 5 filters kimin gireceğini daraltır.
  • date: audienceId kitlesinin her üyesi için bir gün gelir. field değeri birthday ya da joined olur, yani o kitleye katıldığı günün yıl dönümü. offsetDays bunu bir yıla kadar kaydırır: önceki günler için negatif, sonraki günler için pozitif.
  • manual: kimse kendiliğinden girmez. Kişileri uygulamadan ya da kayıt uç noktasıyla eklersiniz.
AdımNe yapar
send_emailtemplateId şablonunun yayımlanmış sürümünü, bu çalışma alanının bir adresi olan from adresinden gönderir. props şablon değerlerini doldurur, subject ise şablonun konusunun yerini alır ve {{firstName|there}} gibi birleştirme alanlarını kabul eder
waitKişiyi bekletir: bir duration boyunca, until ile verilen bir sonraki haftanın günü ve saatine kadar ya da yapması gereken bir event için, sonrasında yine de devam edeceği bir timeout ile
branchTek bir soru sorar ve kişiyi yes ya da no yoluna gönderir: önceki bir e-posta adımı için email_opened ya da email_clicked, in_audience, bir kişi field değeri ya da withinDays içinde yaptığı bir event
add_to_audience, remove_from_audienceKişinin hangi kitlelerde olduğunu değiştirir
update_fieldKişiye bir değer yazar
webhookWebhook uç noktalarınızdan birini bir automation.webhook olayıyla çağırır
exitYolu erken bitirir. Bitirme değil, çıkış sayılır

props ya da update_field içindeki bir değer üç yerden birinden gelir: { "source": "static", "value": "…" }, email, name, firstName, lastName ya da attributes.<key> için { "source": "contact", "field": "firstName" } ve yolculuğu başlatan olayın bir özelliği için { "source": "event", "path": "orderId" }.

Bir taslak ve yayında bir sürüm

Kaydetmek taslak definition değerini değiştirir. POST /automations/{id}/publish taslağı numaralı bir sürüm olarak dondurana dek hiçbir şey çalışmaz, ardından published o sürümü gösterir. Zaten içeride olan kişiler girdikleri sürümle bitirir, sonradan girenler ise yenisini alır. hasUnpublishedChanges, taslağın ilerlediğini söyler.

  • draft: hiç yayımlanmadı. Kimse girmez.
  • live: yayımlandı ve çalışıyor.
  • paused: kimse girmez ve içerideki herkes olduğu yerde bekler. pausedReason nedenini söyler: manual ya da motorun karşılaştığı bir sorun, örneğin sender_refused ya da template_unavailable.
  • archived: kalıcı olarak emekliye ayrıldı. İçerideki herkes çıkar ve geçmiş kalır.

settings ayrıdır ve kaydedilir kaydedilmez geçerli olur: timezone, dışında e-postaların beklediği bir sendWindow, aynı kişinin yeniden girebilmesinden önceki reentryDays (null yalnızca bir kez demektir), tetikleyici kitlesinden ayrılan kişileri çıkarmak için exitOnLeave ve bir abonelikten çıkmanın kaydedildiği kitle olan listAudienceId.

problems taslaktaki sorunları listeler, her biri bir code, alanın path değeri, stepKey ve blocking olup olmadığıyla. Engelleyen bir sorunu olan taslak yayımlanamaz.

Bir otomasyonun içindeki kişiler

Giren her kişi bir kayıt alır. Kişi adımlardan geçerken kayıt active, bir yolun sonuna vardığında completed, erken ayrıldığında ise bir exitReason ile exited olur: exit_step, unsubscribed, suppressed, left_audience, removed, archived ya da failed.

  • Adımlar, zamanı geldikten sonra yaklaşık 15 saniye içinde çalışır. Bir kişi aynı geçişte bir otomasyondan asla iki e-posta almaz.
  • Otomasyon e-postaları pazarlama postasıdır, bu yüzden her biri bir abonelikten çıkma bağlantısı taşır. Abonelikten çıkan kişi o listeye posta gönderen otomasyonlardan ayrılır, adresi geri dönen ya da şikâyet eden kişi ise sonraki adımında ayrılır.
  • Adresi posta alamayan bir e-posta atlanır ve kişi sonraki adıma geçer.
  • Bir gönderim herkes için reddedildiğinde, örneğin alan adını kaybeden bir gönderen ya da yayından kaldırılan bir şablon yüzünden, otomasyon duraklar ve pausedReason nedenini söyler.

Uygulamanızdan gelen olaylar

POST /events, bir kişinin bir şey yaptığını kaydeder: order.placed, trial.started, plan.upgraded. Bir olay, tetikleyicisi onun adını veren yayındaki her otomasyonu başlatır, onu bekleyen herkesi ilerletir ve bir dalın event sorusunu yanıtlar. Olaylar 90 gün saklanır.

Kim ne yapabilir

  • Okumak automations:read, değiştirmek automations:write gerektirir. Yayımlamak, sürdürmek ve test göndermek ayrıca emails:send gerektirir, çünkü bunlar otomasyona posta gönderttirir.
  • Olay göndermek contacts:write, bir kişinin olaylarını okumak contacts:read gerektirir.
  • Bir API anahtarı ve sahip, çalışma alanındaki her otomasyonu görür. Bir üyenin bağladığı uygulama o üyenin oluşturduklarını görür.
  • Bir otomasyonu silmek bir OAuth uygulamasından doğrulama kodu ister. Bir API anahtarının buna asla ihtiyacı olmaz.
  • Bir plan Free'de 1, Starter'da 10, Business'ta 50 ve Enterprise'da sınırsız yayında otomasyona izin verir. Bir çalışma alanı varsayılan olarak 100 otomasyon tutar.

automation.entered, automation.exited ve automation.paused webhook'ları sistemlerinize kimin girdiğini, kimin çıktığını ve bir otomasyonun ne zaman durduğunu bildirir. Bir otomasyonu arşivlemek, her kişi için bir automation.exited olayı olmadan içindeki herkesi sonlandırır.

Koddan, terminalden ve ajanlardan

Buradaki her şey SDK'da openemail.automations ve openemail.events, CLI'da ise openemail automations ve openemail events olarak da vardır. MCP sunucusunda otomasyon araçları bulunur, böylece bir ajan bir otomasyon kurabilir, yayımlayabilir ve içeride kimin olduğunu izleyebilir.