Otomasyonlar
Her kişi için kendiliğinden çalışan e-postalar ve adımlar, ve onları başlatan olaylar.
Otomasyon araçları
| Araç | Ne yapar |
|---|---|
| listAutomations | Çalışma alanının otomasyonları, en son değiştirilen önce, durumlarıyla, her birini neyin başlattığıyla ve içinde kaç kişi olduğuyla. |
| getAutomation | Tüm ayrıntılarıyla tek bir otomasyon: durumu, ayarları ve sayıları, taslağındaki sorunlar ve JSON olarak taslak tanımı. includePublished çalışmakta olan sürümü ekler. |
| listAutomationStarters | Yeni bir otomasyonun başlayabileceği hazır otomasyonlar, her biri tanımıyla birlikte. |
| createAutomation | Bir başlangıç noktasından, JSON olarak yazılmış bir tanımdan ya da boş bir taslak oluşturun, dilediğiniz ayarlarla. Yayımlanana dek hiçbir şey çalışmaz. |
| updateAutomation | Bir otomasyonun hemen geçerli olan adını ve ayarlarını değiştirin ya da taslak tanımını değiştirin. Yayındaki bir otomasyon yayımlanmış sürümünü çalıştırmayı sürdürür. |
| deleteAutomation | Bir otomasyonu sürümleri, kayıtları ve sayılarıyla birlikte kalıcı olarak silin. İçindeki kişiler hemen durur. |
| publishAutomation | Taslağı çalışan sürüm yapın ve otomasyonu etkinleştirin. Eksik bir taslak, onu engelleyen her sorunla birlikte reddedilir. Ayrıca emails:send gerektirir. |
| pauseAutomation | Yayındaki bir otomasyonu durdurun. Yeni kimse girmez ve içindeki herkes olduğu yerde kalır. |
| resumeAutomation | Duraklatılmış bir otomasyonu, çalıştırdığı sürümle yeniden etkinleştirin. Ayrıca emails:send gerektirir. |
| archiveAutomation | Bir otomasyonu kalıcı olarak emekliye ayırın ve geçmişini koruyun. İçindeki herkes çıkar. |
| duplicateAutomation | Bir otomasyonu sürümleri, kişileri ve sayıları olmadan yeni bir taslağa kopyalayın. |
| sendAutomationTest | Taslağın bir adımının e-postasını kendinize ya da tek bir adrese gönderin. Ayrıca emails:send gerektirir. |
| listAutomationVersions | Yayımlanan sürümler, en yenisi önce, ve hangisinin çalıştığı. includeDefinitions her tanımı ekler. |
| restoreAutomationVersion | Önceki bir sürümü taslağa geri kopyalayın. Sonraki yayımlamaya dek çalışan hiçbir şey değişmez. |
| getAutomationStats | Bir zaman aralığında giren, şu an içinde olan, tamamlayan ve ayrılan kişiler ile gönderilen, teslim edilen, açılan ve tıklanan e-postalar, toplamda ve her adım için. |
| listAutomationEnrollments | Bir otomasyonda olan ya da olmuş kişiler, her seferinde bir sayfa, her birinin bulunduğu adım ve nasıl bittiğiyle. Duruma, adıma ya da adresin bir parçasına göre filtreleyin. |
| getAutomationEnrollment | Bir kişinin otomasyondaki yolu: her adımın onun için ne yaptığı, en eskisi önce. |
| enrollInAutomation | Bir kişiyi, normalde onu ne başlatırsa başlatsın, yayındaki bir otomasyonun ilk adımına koyun. |
| removeFromAutomation | Bir kişiyi otomasyondan hemen çıkarın. |
| sendContactEvent | Bir kişinin başına bir şey geldiğini kaydedin. Bu, tetikleyicisi olayın adını veren yayındaki otomasyonları başlatır ve onu bekleyen beklemeleri sona erdirir. |
| sendContactEvents | Tek çağrıda en fazla 100 olay kaydedin. Birinin başarısız olması diğerlerini durdurmaz. |
| listContactEventNames | Çalışma alanının son 90 günde kaydettiği olay adları. |
| listContactEvents | Bir kişi için kaydedilen olaylar, en yenisi önce, her seferinde bir sayfa. |
Okumak automations:read, her değişiklik ise automations:write gerektirir. Yayımlamak, sürdürmek ve test göndermek ayrıca emails:send gerektirir, çünkü otomasyon o zaman onu yayımlayan kişi adına posta gönderir. Olay göndermek contacts:write, bir kişinin olaylarını okumak contacts:read, listContactEventNames ise automations:read gerektirir. Bir üye adına hareket eden bir istemci yalnızca o üyenin oluşturduğu otomasyonları ve o üyenin eklediği kişileri görür.
Bu sunucudaki bazı araçlar, REST API'nin bir doğrulama koduyla koruduğu bir değişiklik yapar ve aynı kodu ister. İstemci son 60 dakikada bir kod doğrulamadıkça ya da kişi Hesap → Bağlı uygulamalar'da onun için 60 dakika boyunca değişikliklere izin ver'i seçmedikçe böyle bir araç Refused (step_up_required): ile başlayan bir sonuçla yanıt verir ve hiçbir şeyi değiştirmez. emptyAudience hiçbir zaman kod istemez. API'nin Kimlik doğrulama sayfası kod isteyen her aracı listeler ve bir kodun nasıl isteneceğini ve doğrulanacağını gösterir.
Araçlar REST API ile aynı kuralları ve retleri uygular, API başvurusunun /automations ve /events sayfaları ise her alanı açıklar. Bir tanım JSON olarak bütün halinde verilir: getAutomation ile okuyun, değiştirin ve tamamını updateAutomation aracına geri verin.
Referans
listAutomationsgetAutomationlistAutomationStarterscreateAutomationupdateAutomationdeleteAutomationpublishAutomationpauseAutomationresumeAutomationarchiveAutomationduplicateAutomationsendAutomationTestlistAutomationVersionsrestoreAutomationVersiongetAutomationStatslistAutomationEnrollmentsgetAutomationEnrollmentenrollInAutomationremoveFromAutomationsendContactEventsendContactEventslistContactEventNameslistContactEvents
listAutomations
List the automations in this workspace, the most recently changed first: name, id, status (draft, live, paused or archived), what starts each one, its steps and how many contacts are in it now, completed it or left early. Use it to find an automation by name before reading or changing it. One page at a time: when more follow, the last line gives a cursor to pass back.
Girdiler
statusstring- Şunlardan biri
"draft""live""paused""archived" limitinteger- En az 1En çok 100
cursorstring- 1 ile 64 karakter arası
Şurada da var
- API
GET /automations- TypeScript
automations.list()automations.listAll()automations.iterate()- Python
automations.list()automations.list_all()automations.iterate()- Ruby
automations.listautomations.list_allautomations.iterate- PHP
automations->listautomations->listAllautomations->iterate- Go
Automations.ListAutomations.ListAllAutomations.Iterate- Java
automations().listautomations().listAllautomations().iterate- C#
Automations.ListAsyncAutomations.ListAllAsyncAutomations.IterateAsync
getAutomation
Read one automation: its status, settings, numbers, what is wrong with its draft, and the draft definition (trigger and steps) as JSON, to change and pass back to updateAutomation. includePublished adds the definition of the version that is running, which differs from the draft while there are unpublished changes.
Girdiler
idstringZorunluThe automation, by id (aut_...). listAutomations finds it by name.
1 ile 64 karakter arasıincludePublishedboolean- Varsayılan
false
Şurada da var
listAutomationStarters
The ready-made automations a new one can begin from, such as a welcome series or a birthday note: slug, name, what each is for and its definition as JSON. Pass a slug to createAutomation as starter. A starter leaves the audience, the templates and the from address empty to fill in.
Girdiler
Girdi almaz.
Şurada da var
createAutomation
Create an automation as a draft: from a starter (listAutomationStarters names them), from a definition written out as JSON, or empty. Nothing runs until publishAutomation. The answer lists what the draft still needs before it can be published, such as a template or a from address for each email. Find audiences with listAudiences, templates with listTemplates and forms with listForms.
Girdiler
namestringZorunluA short name for the automation. Contacts never see it.
1 ile 120 karakter arasıdescriptionstringOne line about what it is for.
En çok 500 karakterstarterstring- 1 ile 64 karakter arası
definitionRecord<string, any> | stringThe trigger and steps as JSON: {"trigger": {...}, "entry": "<key of the first step>", "steps": [...]}. Triggers: {"kind": "audience_joined", "audienceId", "includeImported": false}, {"kind": "form_submitted", "formId"}, {"kind": "event", "eventName", "filters": []}, {"kind": "date", "field": "birthday" or "joined", "audienceId", "offsetDays": 0} and {"kind": "manual"}. Every step has a unique key of 3 to 24 lowercase letters and digits starting with a letter, and points at the next step by key in next, or null to end the path. Steps: {"kind": "send_email", "key", "next", "templateId", "templateVersion": null, "from": {"email", "name"}, "replyTo": null, "subject": null, "props": {}}, {"kind": "wait", "key", "next", "wait": {"mode": "duration", "amount": 3, "unit": "days"}}, {"kind": "branch", "key", "condition": {"kind": "email_clicked", "stepKey"}, "yes", "no"}, {"kind": "add_to_audience" or "remove_from_audience", "key", "next", "audienceId"}, {"kind": "update_field", "key", "next", "field", "value": {"source": "static", "value"}}, {"kind": "webhook", "key", "next", "endpointId"} and {"kind": "exit", "key"}. A wait can also be {"mode": "until", "weekdays": [1], "hour": 9, "minute": 0} or {"mode": "event", "eventName", "timeout": {"amount": 7, "unit": "days"}}. Conditions: email_opened and email_clicked with stepKey, in_audience with audienceId, field with field, operator and value, and event with eventName and withinDays. A props value is {"source": "static", "value"}, {"source": "contact", "field"} or {"source": "event", "path"}. Paths never join or loop. getAutomation shows a saved definition in this shape, and listAutomationStarters has ready-made ones.
settingsRecord<string, any> | stringHow it runs, as JSON with any of: timezone (an IANA zone such as Europe/London), sendWindow ({"days": [1, 2, 3, 4, 5], "startMinute": 540, "endMinute": 1020} or null for any time), reentryDays (days after finishing before a contact may enter again, or null for once only), exitOnLeave (true takes a contact out when they leave the audience that started it) and listAudienceId (the audience unsubscribes are recorded in).
Şurada da var
updateAutomation
Change an automation. Its name, description and settings apply at once. definition replaces the whole draft, so start from getAutomation, change the JSON and pass all of it back. A live automation keeps running its published version until publishAutomation, and contacts already in it stay on the version they entered on. Pass only what changes.
Girdiler
idstringZorunluThe automation, by id (aut_...). listAutomations finds it by name.
1 ile 64 karakter arasınamestring- 1 ile 120 karakter arası
descriptionstring- null olabilirEn çok 500 karakter
definitionRecord<string, any> | stringThe trigger and steps as JSON: {"trigger": {...}, "entry": "<key of the first step>", "steps": [...]}. Triggers: {"kind": "audience_joined", "audienceId", "includeImported": false}, {"kind": "form_submitted", "formId"}, {"kind": "event", "eventName", "filters": []}, {"kind": "date", "field": "birthday" or "joined", "audienceId", "offsetDays": 0} and {"kind": "manual"}. Every step has a unique key of 3 to 24 lowercase letters and digits starting with a letter, and points at the next step by key in next, or null to end the path. Steps: {"kind": "send_email", "key", "next", "templateId", "templateVersion": null, "from": {"email", "name"}, "replyTo": null, "subject": null, "props": {}}, {"kind": "wait", "key", "next", "wait": {"mode": "duration", "amount": 3, "unit": "days"}}, {"kind": "branch", "key", "condition": {"kind": "email_clicked", "stepKey"}, "yes", "no"}, {"kind": "add_to_audience" or "remove_from_audience", "key", "next", "audienceId"}, {"kind": "update_field", "key", "next", "field", "value": {"source": "static", "value"}}, {"kind": "webhook", "key", "next", "endpointId"} and {"kind": "exit", "key"}. A wait can also be {"mode": "until", "weekdays": [1], "hour": 9, "minute": 0} or {"mode": "event", "eventName", "timeout": {"amount": 7, "unit": "days"}}. Conditions: email_opened and email_clicked with stepKey, in_audience with audienceId, field with field, operator and value, and event with eventName and withinDays. A props value is {"source": "static", "value"}, {"source": "contact", "field"} or {"source": "event", "path"}. Paths never join or loop. getAutomation shows a saved definition in this shape, and listAutomationStarters has ready-made ones.
settingsRecord<string, any> | stringHow it runs, as JSON with any of: timezone (an IANA zone such as Europe/London), sendWindow ({"days": [1, 2, 3, 4, 5], "startMinute": 540, "endMinute": 1020} or null for any time), reentryDays (days after finishing before a contact may enter again, or null for once only), exitOnLeave (true takes a contact out when they leave the audience that started it) and listAudienceId (the audience unsubscribes are recorded in).
expectedUpdatedAtstringThe Updated time getAutomation gave. When somebody saved the automation since, the change is refused instead of written over theirs.
Biçimdate-time
Şurada da var
deleteAutomation
Delete an automation for good, with its versions, its enrollments and its numbers. Contacts in it stop at once. The emails it already sent stay. It cannot be undone: to retire one and keep its history, use archiveAutomation.
- Doğrulama kodu ister
DELETE /automations/{id}
Girdiler
idstringZorunluThe automation, by id (aut_...). listAutomations finds it by name.
1 ile 64 karakter arası
Şurada da var
publishAutomation
Publish an automation: its draft becomes the version that runs and it goes live, so its trigger starts putting contacts in and its emails start going out. Use it for a first publish and to put later changes to work. The draft has to be complete, and a refusal lists every problem that blocks it. Contacts already in it stay on the version they entered on.
Girdiler
idstringZorunluThe automation, by id (aut_...). listAutomations finds it by name.
1 ile 64 karakter arası
Şurada da var
pauseAutomation
Pause a live automation. Nobody new enters, and everyone in it stays where they are and moves on when it is resumed with resumeAutomation.
Girdiler
idstringZorunluThe automation, by id (aut_...). listAutomations finds it by name.
1 ile 64 karakter arası
Şurada da var
resumeAutomation
Turn a paused automation back on with the version it was running, without publishing the draft. Contacts that were held move on and its emails go out again. One that was paused because something it needs went away stays paused until that is fixed, and the refusal says what.
Girdiler
idstringZorunluThe automation, by id (aut_...). listAutomations finds it by name.
1 ile 64 karakter arası
Şurada da var
archiveAutomation
Retire an automation for good and keep its history. Everyone in it leaves, nobody enters again and it can no longer be changed, published or resumed. Its versions, enrollments and numbers stay readable. To stop one for a while, use pauseAutomation.
Girdiler
idstringZorunluThe automation, by id (aut_...). listAutomations finds it by name.
1 ile 64 karakter arası
Şurada da var
duplicateAutomation
Copy an automation into a new draft with "(copy)" after its name: the same draft definition and settings, and none of its versions, contacts or numbers.
Girdiler
idstringZorunluThe automation, by id (aut_...). listAutomations finds it by name.
1 ile 64 karakter arası
Şurada da var
sendAutomationTest
Send the email of one step of the draft to one address, to read it before publishing. It goes to the user's own account address unless to names another. Contact values come from a sample contact, the subject starts with [Test], and nobody is enrolled. It counts toward the monthly sends.
Girdiler
idstringZorunluThe automation, by id (aut_...). listAutomations finds it by name.
1 ile 64 karakter arasıstepKeystringZorunluThe key of the email step, from the definition getAutomation returns.
1 ile 64 karakter arasıtostringWhere the test goes, when not to the user themselves.
En çok 320 karakterBiçimemail
Şurada da var
listAutomationVersions
The published versions of an automation, the newest first: number, when it was published and whether it is the one running. includeDefinitions adds each definition as JSON. restoreAutomationVersion copies one back into the draft.
Girdiler
idstringZorunluThe automation, by id (aut_...). listAutomations finds it by name.
1 ile 64 karakter arasıincludeDefinitionsboolean- Varsayılan
false
Şurada da var
restoreAutomationVersion
Copy the definition of an earlier version back into the draft, replacing what the draft holds. Nothing that is running changes until publishAutomation.
Girdiler
idstringZorunluThe automation, by id (aut_...). listAutomations finds it by name.
1 ile 64 karakter arasıversionintegerZorunluThe version number, from listAutomationVersions.
En az 1
Şurada da var
getAutomationStats
How one automation did over a window, 30 days by default: contacts that entered, are in it now, completed it or left early, emails sent, delivered, opened, clicked, bounced and marked as spam, and unsubscribes, in total and for each step. Opens are a floor, because many mail apps hide them. includeDaily adds a line for each day.
Girdiler
idstringZorunluThe automation, by id (aut_...). listAutomations finds it by name.
1 ile 64 karakter arasısincestringWhere the window starts, as an ISO 8601 instant.
Biçimdate-timeuntilstringWhere the window ends, as an ISO 8601 instant. Left out, now.
Biçimdate-timeincludeDailyboolean- Varsayılan
false
Şurada da var
listAutomationEnrollments
The contacts that are in an automation or have been, the most recent entry first: which step each is at, what they are waiting for, what holds a step that is due, when they move next and how it ended. Narrow it by status, by step or by a piece of the address or name. One page at a time: when more follow, the last line gives a cursor.
Girdiler
idstringZorunluThe automation, by id (aut_...). listAutomations finds it by name.
1 ile 64 karakter arasıstatusstring- Şunlardan biri
"active""completed""exited" stepKeystring- 1 ile 64 karakter arası
qstring- En çok 200 karakter
limitinteger- En az 1En çok 200
cursorstring- 1 ile 64 karakter arası
Şurada da var
- API
GET /automations/{id}/enrollments- TypeScript
automations.listEnrollments()automations.listAllEnrollments()automations.iterateEnrollments()- Python
automations.list_enrollments()automations.list_all_enrollments()automations.iterate_enrollments()- Ruby
automations.list_enrollmentsautomations.list_all_enrollmentsautomations.iterate_enrollments- PHP
automations->listEnrollmentsautomations->listAllEnrollmentsautomations->iterateEnrollments- Go
Automations.ListEnrollmentsAutomations.ListAllEnrollmentsAutomations.IterateEnrollments- Java
automations().listEnrollmentsautomations().listAllEnrollmentsautomations().iterateEnrollments- C#
Automations.ListEnrollmentsAsyncAutomations.ListAllEnrollmentsAsyncAutomations.IterateEnrollmentsAsync
getAutomationEnrollment
One contact's way through an automation: where they are, and what each step did for them, oldest first, such as an email sent, a wait, a yes or no at a branch, or why a step was skipped or failed.
Girdiler
idstringZorunluThe automation, by id (aut_...). listAutomations finds it by name.
1 ile 64 karakter arasıenrollmentIdstringZorunluThe enrollment, by id (aen_...), from listAutomationEnrollments.
1 ile 64 karakter arası
Şurada da var
enrollInAutomation
Put one contact into a live automation at its first step, whatever starts it normally, so its emails start going to them. The contact has to exist already. A contact is in an automation once at a time, and an address that is suppressed or unsubscribed is refused.
Girdiler
idstringZorunluThe automation, by id (aut_...). listAutomations finds it by name.
1 ile 64 karakter arasıemailstringZorunluThe contact to enroll, by email address.
En çok 320 karakterBiçimemaildataRecord<string, any>Values the steps read wherever a value comes from the event, such as an order number. At most 50 keys and 4 KB of JSON.
Şurada da var
removeFromAutomation
Take one contact out of an automation at once, by the id of their enrollment from listAutomationEnrollments. They get nothing more from it, and stay in the contacts and in their audiences.
Girdiler
idstringZorunluThe automation, by id (aut_...). listAutomations finds it by name.
1 ile 64 karakter arasıenrollmentIdstringZorunluThe enrollment, by id (aen_...), from listAutomationEnrollments.
1 ile 64 karakter arası
Şurada da var
sendContactEvent
Record that something happened to one contact, such as order.placed or trial.started. Every live automation that starts on that event name takes the contact in, so its emails start going to them, and a wait step holding out for the name moves on. The answer says which automations it started. Events are kept for 90 days.
Girdiler
namestringZorunluWhat happened, such as order.placed: letters, digits, dots, colons, dashes and underscores. Names are matched exactly, case included.
1 ile 100 karakter arasıemailstringZorunluThe contact the event is about, by email address.
En çok 320 karakterBiçimemailpropertiesRecord<string, any>Details of the event as a JSON object, at most 50 keys and 4 KB. An event trigger can filter on them and steps can use them.
occurredAtstringWhen it happened, as an ISO 8601 instant. Left out, it is now. Not in the future, and at most 90 days ago.
Biçimdate-timecreateContactbooleantrue adds the address to the contacts when nobody has it yet.
contactNamestringThe name to give a contact that createContact adds.
En çok 200 karakter
sendContactEvents
Record up to 100 events in one call, each handled as sendContactEvent handles one, in order. One event failing does not stop the rest: the answer says which were recorded, what each started, and why any was not.
Girdiler
eventsobject[]Zorunlu- 1 ile 100 arası öğe
namestringZorunluWhat happened, such as order.placed: letters, digits, dots, colons, dashes and underscores. Names are matched exactly, case included.
1 ile 100 karakter arasıemailstringZorunluThe contact the event is about, by email address.
En çok 320 karakterBiçimemailpropertiesRecord<string, any>Details of the event as a JSON object, at most 50 keys and 4 KB. An event trigger can filter on them and steps can use them.
occurredAtstringWhen it happened, as an ISO 8601 instant. Left out, it is now. Not in the future, and at most 90 days ago.
Biçimdate-timecreateContactbooleantrue adds the address to the contacts when nobody has it yet.
contactNamestringThe name to give a contact that createContact adds.
En çok 200 karakter
listContactEventNames
The names of the events this workspace has recorded in the last 90 days, to choose the event that starts an automation or that a wait step holds out for.
Girdiler
Girdi almaz.
Şurada da var
listContactEvents
The events recorded for one contact in the last 90 days, the most recent first: name, when it happened and its properties. Narrow it to one event name. One page at a time: when more follow, the last line gives a cursor.
Girdiler
emailstringZorunluThe contact the event is about, by email address.
3 ile 320 karakter arasınamestring- 1 ile 100 karakter arası
limitinteger- En az 1En çok 200
cursorstring- 1 ile 64 karakter arası
Şurada da var
- API
GET /contacts/{email}/events- TypeScript
contacts.listEvents()contacts.listAllEvents()contacts.iterateEvents()- Python
contacts.list_events()contacts.list_all_events()contacts.iterate_events()- Ruby
contacts.list_eventscontacts.list_all_eventscontacts.iterate_events- PHP
contacts->listEventscontacts->listAllEventscontacts->iterateEvents- Go
Contacts.ListEventsContacts.ListAllEventsContacts.IterateEvents- Java
contacts().listEventscontacts().listAllEventscontacts().iterateEvents- C#
Contacts.ListEventsAsyncContacts.ListAllEventsAsyncContacts.IterateEventsAsync