Zur Dokumentation springen
Ruby

Automatisierungen

`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` und `exit_enrollment`, dazu `events.send`, `send_batch` und `list_names`.

Jede Methode

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

Eine Automatisierung hat einen Entwurf in definition und die Version in published, die läuft. update ändert den Entwurf und die Einstellungen, und publish friert den Entwurf als nächste Version ein und schaltet die Automatisierung ein. problems sagt, was der Veröffentlichung eines Entwurfs noch im Weg steht, und expectedUpdatedAt lehnt eine Speicherung, die die einer anderen Person überschreiben würde, mit 409 version_conflict ab.

Lesen erfordert automations:read und Ändern erfordert automations:write. publish, resume und send_test erfordern außerdem emails:send. events.send und events.send_batch erfordern contacts:write, und contacts.list_events erfordert contacts:read. delete verlangt von einem OAuth-Zugriffstoken einen Bestätigungscode, von einem API-Schlüssel nie.

events.send_batch nimmt bis zu 100 Ereignisse und löst wegen eines einzelnen fehlerhaften Ereignisses nie einen Fehler aus: Die Antwort listet accepted und failed auf, jeweils mit dem index des Ereignisses in der gesendeten Liste.

attributes an einem Kontakt enthält seine eigenen Felder, und eine Automatisierung liest eines als attributes.<key>.