خودکارسازیها
`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`.
همهٔ متدها
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> میخواند.