Перейти к документации
CLI

Автоматизации и события

Каждая команда для автоматизаций, людей внутри них и событий, которые их двигают, с разобранными примерами.

Как всё связано

Автоматизация состоит из триггера и дерева шагов. Она хранит черновик и активную версию: 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 дней.