Automatizaciones
`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` y `exit_enrollment`, con `events.send`, `send_batch` y `list_names`.
Todos los métodos
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.sizeUna automatización guarda un borrador definition y la versión published que se ejecuta. update cambia el borrador y los ajustes, y publish congela el borrador como la siguiente versión y activa la automatización. problems dice qué impide todavía publicar un borrador, y expectedUpdatedAt rechaza con 409 version_conflict un guardado que sobrescribiría el de otra persona.
Leer requiere automations:read y cambiar requiere automations:write. publish, resume y send_test también requieren emails:send. events.send y events.send_batch requieren contacts:write, y contacts.list_events requiere contacts:read. delete pide un código de verificación a un token de acceso OAuth, y a una clave de API nunca.
events.send_batch acepta hasta 100 eventos y nunca lanza un error por un solo evento incorrecto: la respuesta lista accepted y failed, cada uno con el index del evento en la lista que enviaste.
attributes en un contacto guarda sus campos personalizados, y una automatización lee uno como attributes.<key>.