ऑटोमेशन
`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> के रूप में पढ़ता है।