تخطَّ إلى المستندات
خادم MCP

الأتمتة

رسائل وخطوات تعمل تلقائيًا لكل جهة اتصال، والأحداث التي تبدؤها.

أدوات الأتمتة

الأداةما تفعله
listAutomationsأتمتات مساحة العمل، الأحدث تغييرًا أولًا، مع حالتها وما يبدأ كلًّا منها وعدد جهات الاتصال فيها.
getAutomationأتمتة واحدة كاملة: حالتها وإعداداتها وأرقامها، وما في مسودتها من مشكلات، وتعريف المسودة بصيغة JSON. ويضيف includePublished النسخة التي تعمل الآن.
listAutomationStartersالأتمتات الجاهزة التي يمكن أن تنطلق منها أتمتة جديدة، ولكل منها تعريفها.
createAutomationأنشئ مسودة من نقطة بداية، أو من تعريف مكتوب بصيغة JSON، أو فارغة، بأي إعدادات. ولا يعمل شيء حتى تُنشر.
updateAutomationغيّر اسم أتمتة وإعداداتها، وهي تُطبَّق فورًا، أو استبدل تعريف مسودتها. والأتمتة المنشورة تواصل العمل بنسختها المنشورة.
deleteAutomationاحذف أتمتة نهائيًا، مع نسخها وتسجيلاتها وأرقامها. وتتوقف جهات الاتصال التي فيها فورًا.
publishAutomationاجعل المسودة هي النسخة التي تعمل وشغّل الأتمتة. والمسودة غير المكتملة تُرفض مع كل مشكلة تمنعها. ويتطلب emails:send أيضًا.
pauseAutomationأوقف أتمتة منشورة مؤقتًا. لا يدخلها أحد جديد، ويبقى كل من فيها في مكانه.
resumeAutomationأعد تشغيل أتمتة متوقفة مؤقتًا بالنسخة التي كانت تعمل بها. ويتطلب emails:send أيضًا.
archiveAutomationأوقف أتمتة نهائيًا مع الاحتفاظ بسجلّها. ويخرج منها كل من فيها.
duplicateAutomationانسخ أتمتة إلى مسودة جديدة، من دون نسخها أو جهات اتصالها أو أرقامها.
sendAutomationTestأرسل رسالة خطوة واحدة من المسودة إلى نفسك أو إلى عنوان واحد. ويتطلب emails:send أيضًا.
listAutomationVersionsالنسخ المنشورة، الأحدث أولًا، وأيّها يعمل الآن. ويضيف includeDefinitions تعريف كل نسخة.
restoreAutomationVersionانسخ نسخة سابقة إلى المسودة من جديد. ولا يتغيّر شيء مما يعمل الآن حتى النشر التالي.
getAutomationStatsجهات الاتصال التي دخلت والتي بداخلها الآن والتي أكملت والتي خرجت، والرسائل المرسلة والمسلَّمة والمفتوحة والمنقور عليها خلال فترة زمنية، إجمالًا ولكل خطوة.
listAutomationEnrollmentsجهات الاتصال الموجودة في أتمتة أو التي كانت فيها، صفحةً صفحة، مع الخطوة التي يقف عندها كل منها وكيف انتهى مسارها. رشّح بحسب الحالة أو الخطوة أو جزء من العنوان.
getAutomationEnrollmentمسار جهة اتصال واحدة عبر أتمتة: ما فعلته كل خطوة لها، الأقدم أولًا.
enrollInAutomationأدخل جهة اتصال واحدة إلى أتمتة منشورة عند خطوتها الأولى، أيًّا كان ما يبدؤها في العادة.
removeFromAutomationأخرج جهة اتصال واحدة من أتمتة فورًا.
sendContactEventسجّل أن شيئًا حدث لجهة اتصال. فيبدأ الأتمتات المنشورة التي يسمّي مشغِّلها الحدث، وينهي فترات الانتظار التي كانت تترقّبه.
sendContactEventsسجّل حتى 100 حدث في استدعاء واحد. وفشل أحدها لا يوقف البقية.
listContactEventNamesأسماء الأحداث التي سجّلتها مساحة العمل في آخر 90 يومًا.
listContactEventsالأحداث المسجّلة لجهة اتصال واحدة، الأحدث أولًا، صفحةً صفحة.

القراءة تتطلب automations:read وكل تغيير يتطلب automations:write. والنشر والاستئناف وإرسال اختبار تتطلب أيضًا emails:send، لأن الأتمتة ترسل البريد بعدها باسم من نشرها. وإرسال حدث يتطلب contacts:write، وقراءة أحداث جهة اتصال تتطلب contacts:read، ويتطلب listContactEventNames النطاق automations:read. والعميل الذي يعمل باسم عضو لا يرى إلا الأتمتات التي أنشأها ذلك العضو وجهات الاتصال التي أضافها.

بعض الأدوات على هذا الخادم تُجري تغييرًا تحميه REST API برمز تحقق، وتطلب الرمز نفسه. ما لم يتحقق العميل من رمز خلال آخر 60 دقيقة، أو يختر الشخص له «السماح بالتغييرات لمدة 60 دقيقة» في الحساب → التطبيقات المرتبطة، تردّ هذه الأداة بنتيجة تبدأ بـ Refused (step_up_required): ولا تغيّر شيئًا. أما emptyAudience فلا يطلب رمزًا أبدًا. صفحة المصادقة في API تسرد كل أداة تطلب رمزًا، وتشرح كيف يُطلب رمز وكيف يُتحقق منه.

تطبّق الأدوات القواعد وحالات الرفض نفسها التي تطبّقها REST API، وتصف صفحات /automations و/events في مرجع API كل حقل. ويُمرَّر التعريف كاملًا بصيغة JSON: اقرأه بـ getAutomation، وغيّره، ثم مرّره كله إلى updateAutomation.

المرجع

listAutomations

الصلاحياتautomations:readينفّذه مساعد التطبيق دون أن يسألمجموعة الأدواتautomations

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.

المدخلات

statusstring
أحد"draft""live""paused""archived"
limitinteger
على الأقل 1على الأكثر 100
cursorstring
من 1 إلى 64 من الأحرف

متاح أيضًا في

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

الصلاحياتautomations:readينفّذه مساعد التطبيق دون أن يسألمجموعة الأدواتautomations

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.

المدخلات

idstringمطلوب

The automation, by id (aut_...). listAutomations finds it by name.

من 1 إلى 64 من الأحرف
includePublishedboolean
الافتراضيfalse

متاح أيضًا في

API
GET /automations/{id}
TypeScript
automations.get()
Python
automations.get()
Ruby
automations.get
PHP
automations->get
Go
Automations.Get
Java
automations().get
C#
Automations.GetAsync

listAutomationStarters

الصلاحياتautomations:readينفّذه مساعد التطبيق دون أن يسألمجموعة الأدواتautomations

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.

المدخلات

لا يأخذ أي مدخلات.

متاح أيضًا في

API
GET /automations/starters
TypeScript
automations.listStarters()
Python
automations.list_starters()
Ruby
automations.list_starters
PHP
automations->listStarters
Go
Automations.ListStarters
Java
automations().listStarters
C#
Automations.ListStartersAsync

createAutomation

الصلاحياتautomations:writeيسأل مساعد التطبيق أولًا ما لم تكن قد طلبت ذلكمجموعة الأدواتautomations

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.

المدخلات

namestringمطلوب

A short name for the automation. Contacts never see it.

من 1 إلى 120 من الأحرف
descriptionstring

One line about what it is for.

حتى 500 من الأحرف
starterstring
من 1 إلى 64 من الأحرف
definitionRecord<string, any> | string

The 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> | string

How 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).

متاح أيضًا في

API
POST /automations
TypeScript
automations.create()
Python
automations.create()
Ruby
automations.create
PHP
automations->create
Go
Automations.Create
Java
automations().create
C#
Automations.CreateAsync

updateAutomation

الصلاحياتautomations:writeيسأل مساعد التطبيق أولًا ما لم تكن قد طلبت ذلكمجموعة الأدواتautomations

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.

المدخلات

idstringمطلوب

The automation, by id (aut_...). listAutomations finds it by name.

من 1 إلى 64 من الأحرف
namestring
من 1 إلى 120 من الأحرف
descriptionstring
يمكن أن يكون nullحتى 500 من الأحرف
definitionRecord<string, any> | string

The 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> | string

How 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).

expectedUpdatedAtstring

The Updated time getAutomation gave. When somebody saved the automation since, the change is refused instead of written over theirs.

التنسيقdate-time

متاح أيضًا في

API
PATCH /automations/{id}
TypeScript
automations.update()
Python
automations.update()
Ruby
automations.update
PHP
automations->update
Go
Automations.Update
Java
automations().update
C#
Automations.UpdateAsync

deleteAutomation

الصلاحياتautomations:writeيسأل مساعد التطبيق دائمًا أولًامجموعة الأدواتautomations

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.

المدخلات

idstringمطلوب

The automation, by id (aut_...). listAutomations finds it by name.

من 1 إلى 64 من الأحرف

متاح أيضًا في

API
DELETE /automations/{id}
TypeScript
automations.delete()
Python
automations.delete()
Ruby
automations.delete
PHP
automations->delete
Go
Automations.Delete
Java
automations().delete
C#
Automations.DeleteAsync

publishAutomation

الصلاحياتautomations:writeemails:sendيسأل مساعد التطبيق دائمًا أولًامجموعة الأدواتautomations

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.

المدخلات

idstringمطلوب

The automation, by id (aut_...). listAutomations finds it by name.

من 1 إلى 64 من الأحرف

متاح أيضًا في

API
POST /automations/{id}/publish
TypeScript
automations.publish()
Python
automations.publish()
Ruby
automations.publish
PHP
automations->publish
Go
Automations.Publish
Java
automations().publish
C#
Automations.PublishAsync

pauseAutomation

الصلاحياتautomations:writeيسأل مساعد التطبيق أولًا ما لم تكن قد طلبت ذلكمجموعة الأدواتautomations

Pause a live automation. Nobody new enters, and everyone in it stays where they are and moves on when it is resumed with resumeAutomation.

المدخلات

idstringمطلوب

The automation, by id (aut_...). listAutomations finds it by name.

من 1 إلى 64 من الأحرف

متاح أيضًا في

API
POST /automations/{id}/pause
TypeScript
automations.pause()
Python
automations.pause()
Ruby
automations.pause
PHP
automations->pause
Go
Automations.Pause
Java
automations().pause
C#
Automations.PauseAsync

resumeAutomation

الصلاحياتautomations:writeemails:sendيسأل مساعد التطبيق دائمًا أولًامجموعة الأدواتautomations

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.

المدخلات

idstringمطلوب

The automation, by id (aut_...). listAutomations finds it by name.

من 1 إلى 64 من الأحرف

متاح أيضًا في

API
POST /automations/{id}/resume
TypeScript
automations.resume()
Python
automations.resume()
Ruby
automations.resume
PHP
automations->resume
Go
Automations.Resume
Java
automations().resume
C#
Automations.ResumeAsync

archiveAutomation

الصلاحياتautomations:writeيسأل مساعد التطبيق دائمًا أولًامجموعة الأدواتautomations

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.

المدخلات

idstringمطلوب

The automation, by id (aut_...). listAutomations finds it by name.

من 1 إلى 64 من الأحرف

متاح أيضًا في

API
POST /automations/{id}/archive
TypeScript
automations.archive()
Python
automations.archive()
Ruby
automations.archive
PHP
automations->archive
Go
Automations.Archive
Java
automations().archive
C#
Automations.ArchiveAsync

duplicateAutomation

الصلاحياتautomations:writeيسأل مساعد التطبيق أولًا ما لم تكن قد طلبت ذلكمجموعة الأدواتautomations

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.

المدخلات

idstringمطلوب

The automation, by id (aut_...). listAutomations finds it by name.

من 1 إلى 64 من الأحرف

متاح أيضًا في

API
POST /automations/{id}/duplicate
TypeScript
automations.duplicate()
Python
automations.duplicate()
Ruby
automations.duplicate
PHP
automations->duplicate
Go
Automations.Duplicate
Java
automations().duplicate
C#
Automations.DuplicateAsync

sendAutomationTest

الصلاحياتautomations:writeemails:sendيسأل مساعد التطبيق دائمًا أولًامجموعة الأدواتautomations

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.

المدخلات

idstringمطلوب

The automation, by id (aut_...). listAutomations finds it by name.

من 1 إلى 64 من الأحرف
stepKeystringمطلوب

The key of the email step, from the definition getAutomation returns.

من 1 إلى 64 من الأحرف
tostring

Where the test goes, when not to the user themselves.

حتى 320 من الأحرفالتنسيقemail

متاح أيضًا في

API
POST /automations/{id}/test
TypeScript
automations.sendTest()
Python
automations.send_test()
Ruby
automations.send_test
PHP
automations->sendTest
Go
Automations.SendTest
Java
automations().sendTest
C#
Automations.SendTestAsync

listAutomationVersions

الصلاحياتautomations:readينفّذه مساعد التطبيق دون أن يسألمجموعة الأدواتautomations

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.

المدخلات

idstringمطلوب

The automation, by id (aut_...). listAutomations finds it by name.

من 1 إلى 64 من الأحرف
includeDefinitionsboolean
الافتراضيfalse

متاح أيضًا في

API
GET /automations/{id}/versions
TypeScript
automations.listVersions()
Python
automations.list_versions()
Ruby
automations.list_versions
PHP
automations->listVersions
Go
Automations.ListVersions
Java
automations().listVersions
C#
Automations.ListVersionsAsync

restoreAutomationVersion

الصلاحياتautomations:writeيسأل مساعد التطبيق أولًا ما لم تكن قد طلبت ذلكمجموعة الأدواتautomations

Copy the definition of an earlier version back into the draft, replacing what the draft holds. Nothing that is running changes until publishAutomation.

المدخلات

idstringمطلوب

The automation, by id (aut_...). listAutomations finds it by name.

من 1 إلى 64 من الأحرف
versionintegerمطلوب

The version number, from listAutomationVersions.

على الأقل 1

متاح أيضًا في

API
POST /automations/{id}/versions/{version}/restore
TypeScript
automations.restoreVersion()
Python
automations.restore_version()
Ruby
automations.restore_version
PHP
automations->restoreVersion
Go
Automations.RestoreVersion
Java
automations().restoreVersion
C#
Automations.RestoreVersionAsync

getAutomationStats

الصلاحياتautomations:readينفّذه مساعد التطبيق دون أن يسألمجموعة الأدواتautomations

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.

المدخلات

idstringمطلوب

The automation, by id (aut_...). listAutomations finds it by name.

من 1 إلى 64 من الأحرف
sincestring

Where the window starts, as an ISO 8601 instant.

التنسيقdate-time
untilstring

Where the window ends, as an ISO 8601 instant. Left out, now.

التنسيقdate-time
includeDailyboolean
الافتراضيfalse

متاح أيضًا في

API
GET /automations/{id}/stats
TypeScript
automations.stats()
Python
automations.stats()
Ruby
automations.stats
PHP
automations->stats
Go
Automations.Stats
Java
automations().stats
C#
Automations.StatsAsync

listAutomationEnrollments

الصلاحياتautomations:readينفّذه مساعد التطبيق دون أن يسألمجموعة الأدواتautomations

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.

المدخلات

idstringمطلوب

The automation, by id (aut_...). listAutomations finds it by name.

من 1 إلى 64 من الأحرف
statusstring
أحد"active""completed""exited"
stepKeystring
من 1 إلى 64 من الأحرف
qstring
حتى 200 من الأحرف
limitinteger
على الأقل 1على الأكثر 200
cursorstring
من 1 إلى 64 من الأحرف

متاح أيضًا في

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

الصلاحياتautomations:readينفّذه مساعد التطبيق دون أن يسألمجموعة الأدواتautomations

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.

المدخلات

idstringمطلوب

The automation, by id (aut_...). listAutomations finds it by name.

من 1 إلى 64 من الأحرف
enrollmentIdstringمطلوب

The enrollment, by id (aen_...), from listAutomationEnrollments.

من 1 إلى 64 من الأحرف

متاح أيضًا في

API
GET /automations/{id}/enrollments/{enrollmentId}
TypeScript
automations.getEnrollment()
Python
automations.get_enrollment()
Ruby
automations.get_enrollment
PHP
automations->getEnrollment
Go
Automations.GetEnrollment
Java
automations().getEnrollment
C#
Automations.GetEnrollmentAsync

enrollInAutomation

الصلاحياتautomations:writeيسأل مساعد التطبيق دائمًا أولًامجموعة الأدواتautomations

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.

المدخلات

idstringمطلوب

The automation, by id (aut_...). listAutomations finds it by name.

من 1 إلى 64 من الأحرف
emailstringمطلوب

The contact to enroll, by email address.

حتى 320 من الأحرفالتنسيقemail
dataRecord<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.

متاح أيضًا في

API
POST /automations/{id}/enrollments
TypeScript
automations.enroll()
Python
automations.enroll()
Ruby
automations.enroll
PHP
automations->enroll
Go
Automations.Enroll
Java
automations().enroll
C#
Automations.EnrollAsync

removeFromAutomation

الصلاحياتautomations:writeيسأل مساعد التطبيق أولًا ما لم تكن قد طلبت ذلكمجموعة الأدواتautomations

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.

المدخلات

idstringمطلوب

The automation, by id (aut_...). listAutomations finds it by name.

من 1 إلى 64 من الأحرف
enrollmentIdstringمطلوب

The enrollment, by id (aen_...), from listAutomationEnrollments.

من 1 إلى 64 من الأحرف

متاح أيضًا في

API
POST /automations/{id}/enrollments/{enrollmentId}/exit
TypeScript
automations.exitEnrollment()
Python
automations.exit_enrollment()
Ruby
automations.exit_enrollment
PHP
automations->exitEnrollment
Go
Automations.ExitEnrollment
Java
automations().exitEnrollment
C#
Automations.ExitEnrollmentAsync

sendContactEvent

الصلاحياتcontacts:writeيسأل مساعد التطبيق دائمًا أولًامجموعة الأدواتautomations

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.

المدخلات

namestringمطلوب

What happened, such as order.placed: letters, digits, dots, colons, dashes and underscores. Names are matched exactly, case included.

من 1 إلى 100 من الأحرف
emailstringمطلوب

The contact the event is about, by email address.

حتى 320 من الأحرفالتنسيقemail
propertiesRecord<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.

occurredAtstring

When it happened, as an ISO 8601 instant. Left out, it is now. Not in the future, and at most 90 days ago.

التنسيقdate-time
createContactboolean

true adds the address to the contacts when nobody has it yet.

contactNamestring

The name to give a contact that createContact adds.

حتى 200 من الأحرف

sendContactEvents

الصلاحياتcontacts:writeيسأل مساعد التطبيق دائمًا أولًامجموعة الأدواتautomations

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.

المدخلات

eventsobject[]مطلوب
من 1 إلى 100 من العناصر
namestringمطلوب

What happened, such as order.placed: letters, digits, dots, colons, dashes and underscores. Names are matched exactly, case included.

من 1 إلى 100 من الأحرف
emailstringمطلوب

The contact the event is about, by email address.

حتى 320 من الأحرفالتنسيقemail
propertiesRecord<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.

occurredAtstring

When it happened, as an ISO 8601 instant. Left out, it is now. Not in the future, and at most 90 days ago.

التنسيقdate-time
createContactboolean

true adds the address to the contacts when nobody has it yet.

contactNamestring

The name to give a contact that createContact adds.

حتى 200 من الأحرف

listContactEventNames

الصلاحياتautomations:readينفّذه مساعد التطبيق دون أن يسألمجموعة الأدواتautomations

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.

المدخلات

لا يأخذ أي مدخلات.

متاح أيضًا في

API
GET /events/names
TypeScript
events.listNames()
Python
events.list_names()
Ruby
events.list_names
PHP
events->listNames
Go
Events.ListNames
Java
events().listNames
C#
Events.ListNamesAsync

listContactEvents

الصلاحياتcontacts:readينفّذه مساعد التطبيق دون أن يسألمجموعة الأدواتautomations

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.

المدخلات

emailstringمطلوب

The contact the event is about, by email address.

من 3 إلى 320 من الأحرف
namestring
من 1 إلى 100 من الأحرف
limitinteger
على الأقل 1على الأكثر 200
cursorstring
من 1 إلى 64 من الأحرف

متاح أيضًا في

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