Перейти к содержанию
Innovialabs

Сценарии в Make: роутеры, итераторы и фильтры

Практика3 мин

Коротко

Сценарий в Make — цепочка модулей, по которой идут пакеты данных (bundles): роутер делит поток на ветки, фильтры решают, какой пакет пройдёт дальше, итератор разбивает массив на отдельные пакеты, а агрегатор собирает их обратно.

Как работает сценарий Make

Сценарий (scenario) в Make — это визуальная цепочка модулей. Каждый модуль — одно действие в каком-то сервисе: получить письма, создать строку, отправить сообщение.

Данные между модулями идут пакетами (bundles). Если триггер нашёл пять новых заказов, он выдаёт пять пакетов, и каждый следующий модуль выполнится пять раз — по разу на пакет.

Ключевое понятие для тарифа — операция: одно выполнение одного модуля. Пять пакетов через три модуля — это примерно пятнадцать операций. В актуальных тарифах Make расход может выражаться в кредитах, но логика та же: чем больше пакетов и модулей, тем больше расход.

Фильтры: пропускать только нужное

Фильтр ставится на связь между модулями. Пакет проходит дальше, только если выполнено условие: сумма заказа больше нуля, поле email не пустое, статус равен «оплачен».

  • Фильтры можно комбинировать через AND и OR.
  • Ставьте фильтр как можно ближе к началу, чтобы не тратить операции на лишние пакеты.

Роутер: несколько веток

Router делит поток на несколько маршрутов. Каждый пакет проверяется фильтром каждой ветки.

Пример — обработка заявок:

  • Ветка 1: источник «сайт» → создать сделку в CRM.
  • Ветка 2: источник «Telegram» → отправить в чат отдела продаж.
  • Ветка 3 (fallback route): всё остальное → записать в таблицу для ручного разбора.

Важно: если пакет подходит под несколько веток, он пойдёт во все подходящие. Чтобы ветки не пересекались, делайте условия взаимоисключающими, а для «всего остального» используйте fallback.

Итератор и агрегатор: работа с массивами

Часто модуль возвращает массив: товары в заказе, вложения письма, строки ответа API.

  • Iterator разбивает массив на отдельные пакеты. Заказ с тремя товарами превращается в три пакета, и следующий модуль выполнится для каждого товара.
  • Aggregator собирает пакеты обратно в один. Варианты:
    • Array aggregator — в массив (например, чтобы передать список в один запрос);
    • Text aggregator — в одну строку текста (например, список товаров для сообщения);
    • Numeric aggregator — в число: сумма, среднее, количество.

У агрегатора есть настройка Source module — с какого модуля начинать сборку. Обычно это итератор или триггер, который выдал пакеты. Если указать не тот модуль, получите не один итоговый пакет, а несколько.

Типичная схема: триггер → итератор → обработка каждого элемента → агрегатор → одно итоговое действие.

Обработка ошибок

По умолчанию ошибка в модуле останавливает сценарий, а при повторяющихся ошибках Make может его отключить. Чтобы управлять этим, к модулю добавляют error handler:

ОбработчикЧто делает
IgnoreПропускает ошибку, сценарий продолжает работу
ResumeПодставляет запасное значение и продолжает
BreakСохраняет незавершённое выполнение для повторной попытки
CommitОстанавливает выполнение, сохраняя уже сделанное
RollbackОстанавливает и пытается откатить изменения, где это поддерживается

Для внешних API, которые иногда отвечают ошибкой, удобен Break с автоматическими повторами. Ignore используйте осторожно: ошибки просто исчезнут из поля зрения.

Расписание

Сценарий запускается одним из способов:

  • По расписанию: через интервал, раз в день, в определённые дни недели или месяца.
  • Мгновенно: через вебхук или instant-триггер — сценарий срабатывает, когда сервис сам присылает данные.
  • Вручную — для разовых задач и тестов.

Помните: проверка по расписанию тоже расходует операции, даже если новых данных нет. Слишком частый интервал для редких событий — частая причина перерасхода.

Частые вопросы

Make даёт больше контроля над логикой: визуальные ветки, работа с массивами, гибкая обработка ошибок. Zapier проще для линейных сценариев. Выбор зависит от сложности логики и того, кто будет поддерживать автоматизации.

Поможем с этим

Если хотите не разбираться самим, а получить результат — этим мы занимаемся каждый день.

Обсудить проект

Читайте также

Есть идея или задача? Расскажите нам

Ответим в течение рабочего дня и предложим решение. Консультация бесплатная.