پرش به مستندات
Ruby

خودکارسازی‌ها

`automations.list`، `get`، `create`، `update`، `publish`، `pause`، `resume`، `archive`، `duplicate`، `delete`، `send_test`، `stats`، `list_versions`، `restore_version`، `list_starters`، `list_enrollments`، `get_enrollment`، `enroll` و `exit_enrollment`، همراه با `events.send`، `send_batch` و `list_names`.

همهٔ متدها

automations.rb
automation = client.automations.create(  name: "Welcome series",  starter: "welcome-series",  settings: {timezone: "Europe/London"}) trigger = {kind: "event", eventName: "trial.started", filters: []}saved = client.automations.update(  automation[:id],  definition: automation[:definition].to_h.merge(trigger: trigger),  expectedUpdatedAt: automation[:updatedAt]) blocking = saved[:problems].to_a.find { |problem| problem[:blocking] }raise blocking[:message] if blocking client.automations.send_test(saved[:id], stepKey: saved.dig(:definition, :entry))live = client.automations.publish(saved[:id]) sent = client.events.send(  name: "trial.started",  email: "[email protected]",  properties: {plan: "starter"},  createContact: true,  idempotency_key: "trial:[email protected]") client.automations.iterate_enrollments(live[:id], status: "active") do |enrollment|  puts "#{enrollment.dig(:contact, :email)} #{enrollment[:heldFor]}" if enrollment[:heldFor]end stats = client.automations.stats(live[:id])history = client.contacts.list_events("[email protected]", name: "trial.started") client.automations.pause(live[:id])client.automations.resume(live[:id]) puts sent[:enrolled], stats.dig(:totals, :entered), history.items.size

هر خودکارسازی یک definition پیش‌نویس و نسخهٔ published را که اجرا می‌شود نگه می‌دارد. update پیش‌نویس و تنظیمات را تغییر می‌دهد، و publish پیش‌نویس را به‌عنوان نسخهٔ بعدی ثابت می‌کند و خودکارسازی را روشن می‌کند. problems می‌گوید چه چیزی هنوز جلوی انتشار پیش‌نویس را می‌گیرد، و expectedUpdatedAt ذخیره‌ای را که روی ذخیرهٔ کس دیگری بنویسد با 409 version_conflict رد می‌کند.

خواندن به automations:read و تغییر دادن به automations:write نیاز دارد. publish، resume و send_test به emails:send هم نیاز دارند. events.send و events.send_batch به contacts:write نیاز دارند، و contacts.list_events به contacts:read. delete از توکن دسترسی OAuth کد تأیید هویت می‌خواهد، و از کلید API هرگز.

events.send_batch تا 100 رویداد می‌پذیرد و هرگز برای یک رویداد نادرست خطا raise نمی‌کند: پاسخ accepted و failed را فهرست می‌کند، هر کدام با index رویداد در فهرستی که فرستادید.

attributes در یک مخاطب فیلدهای سفارشی آن را نگه می‌دارد، و خودکارسازی هر کدام را به‌صورت attributes.<key> می‌خواند.