Автоматизации и события
Каждая команда для автоматизаций, людей внутри них и событий, которые их двигают, с разобранными примерами.
Как всё связано
Автоматизация состоит из триггера и дерева шагов. Она хранит черновик и активную версию: update меняет черновик и настройки, а publish фиксирует черновик и включает автоматизацию. Для чтения нужен automations:read, а для изменения automations:write. publish, resume и send-test требуют ещё и emails:send, потому что заставляют автоматизацию отправлять почту.
openemail automations create --name "Welcome series" --starter welcome-seriesopenemail automations update aut_5c1e9a7b3d2f48e6a0b4c7d1 --data @welcome.jsonopenemail automations publish aut_5c1e9a7b3d2f48e6a0b4c7d1openemail automations stats aut_5c1e9a7b3d2f48e6a0b4c7d1Определение записано в JSON, поэтому сохраните его в файл и передайте через --data @file. openemail automations get <id> --json выводит текущее определение, а его problems перечисляет, что ещё мешает публикации.
Автоматизации
| Команда | Что делает |
|---|---|
| openemail automations list | Одна страница автоматизаций, сначала недавно изменённые. --status сужает список до draft, live, paused или archived |
| openemail automations create --name <value> | Создать черновик из --starter, из определения в --data или пустой |
| openemail automations get <id> | Одна автоматизация с её черновиком, активной версией, настройками и тем, что не так с черновиком |
| openemail automations update <id> | Изменить имя, настройки или определение черновика. --expected-updated-at отказывается перезаписывать изменение, сделанное после того, как вы его прочитали |
| openemail automations publish <id> | Зафиксировать черновик как следующую версию и включить автоматизацию |
| openemail automations pause <id> | Остановить активную автоматизацию. Все, кто внутри, остаются на своих местах |
| openemail automations resume <id> | Снова включить приостановленную автоматизацию с той версией, которая работала |
| openemail automations archive <id> | Навсегда вывести автоматизацию из работы и сохранить её историю. Все, кто внутри, выходят |
| openemail automations duplicate <id> | Скопировать автоматизацию в новый черновик без её людей и цифр |
| openemail automations delete <id> | Удалить автоматизацию и её историю после того, как вы подтвердите. При входе через браузер также запрашивается код подтверждения |
| openemail automations list-starters | Заготовки, с которых может начинаться новая автоматизация |
Тестирование, версии и цифры
| Команда | Что делает |
|---|---|
| openemail automations send-test <id> --step-key <value> | Отправить один шаг с письмом из черновика себе или на --to, с примерами значений. Никого не добавляет |
| openemail automations list-versions <id> | Все опубликованные версии, сначала новые |
| openemail automations restore-version <id> <version> | Скопировать более раннюю версию обратно в черновик. Чтобы она заработала, опубликуйте его |
| openemail automations stats <id> | Итоги, строка на каждый шаг и точка на каждый день. --since задаёт начало окна, по умолчанию это последние 30 дней |
Люди внутри автоматизации
| Команда | Что делает |
|---|---|
| openemail automations list-enrollments <id> | Люди, которые вошли, сначала новые, с шагом, на котором находится каждый. --status и --step-key сужают список, а --all читает все страницы |
| openemail automations get-enrollment <id> <enrollment-id> | Прохождение одного человека: каждый выполненный шаг и письмо, созданное каждой отправкой |
| openemail automations enroll <id> --email <value> | Поместить контакт на первый шаг активной автоматизации. --contact-id указывает контакт по id |
| openemail automations exit-enrollment <id> <enrollment-id> | Убрать человека до того, как он закончит |
openemail automations list-enrollments aut_5c1e9a7b3d2f48e6a0b4c7d1 --status active --all --json | jq -r '.items[] | .contact.email + " " + (.stepKey // "")'События
Событие сообщает, что контакт что-то сделал в вашем продукте. Оно запускает каждую активную автоматизацию, триггер которой его называет, и продвигает дальше всех, кто его ждал. Для отправки нужен contacts:write.
| Команда | Что делает |
|---|---|
| openemail events send --name <value> --email <value> | Записать одно событие для контакта. --create-contact добавляет контакт, если этого адреса ещё ни у кого нет, а --idempotency-key делает повтор безопасным |
| openemail events send-batch <events> | Записать до 100 событий из файла JSON и вывести, какие приняты, а какие отклонены |
| openemail events list-names | Имена событий, которые отправляло рабочее пространство, чтобы выбрать одно в триггере |
| openemail contacts list-events <email> | События одного контакта, сначала новые. --name сужает список до одного события |
openemail events send --data '{"name":"order.placed","email":"[email protected]","properties":{"orderId":"AC-4192"}}' --idempotency-key order:AC-4192:placedopenemail events send-batch @events.jsonopenemail contacts list-events [email protected] --name order.placedСвойства передаются в теле JSON, поэтому событие со свойствами отправляйте через --data. События хранятся 90 дней.