Условия и ветвления
Условие — развилка на холсте: флоу проверяет что-то и идёт по пути «да» или по пути «нет». Это то, что превращает набор шагов в логику.
Как это выглядит
Узел «Условие» добавляется через «Добавить узел» → «Условие». У него две исходящие точки: зелёная «да» и красная «нет». К каждой можно подключить свою цепочку шагов.

Что можно проверять
В панели условия задаются одна или несколько строк вида «поле — оператор — значение». Строки объединяются переключателем: «и» (все должны сойтись, по умолчанию) или «или» (хотя бы одна).
Операторы — по-человечески:
| Оператор | Проверка |
|---|---|
| равно / не равно | Точное совпадение текста или числа |
| больше / больше или равно / меньше / меньше или равно | Числа и даты |
| содержит | Вхождение подстроки: form.email содержит @ |
| совпадает с шаблоном | Регулярное выражение, для строгих проверок формата |
| пароль совпадает | Сверка введённого пароля с хэшем из CMS (для входа участников) |
| токен верный | Проверка одноразовой ссылки из письма (сброс пароля, подтверждение) |
Три тонкости:
- В значениях для «пароль совпадает» и «токен верный» можно подставлять
данные (
{{ results.… }}), остальные операторы сравнивают значение буквально. - В проверках доступны и cookie посетителя —
cookies.имя. На этой проверке построен режим «Только для участников» (он включается на узле «Начало» и не требует ручных условий). - Если проверка сломалась (опечатка в имени поля), условие считается несойденным — флоу пойдёт по «нет». Это безопасный запасной вариант.
Пример из флоу «Заявка» (см. кадр выше): одна строка
form.email — содержит — @. Заполнил посетитель почту — идём писать письмо
и показывать «Спасибо»; оставил мусор — вежливо возвращаем на форму.
Несколько готовых рецептов. Каждый — одна-две строки в панели условия; выражение пишется целиком: поле, оператор, значение.
Почта похожа на почту — письмо вам, иначе возврат на форму:
form.email содержит @
Согласие на обработку — принять заявку, иначе показать страницу «подтвердите согласие»:
form.agree равно да
Промокод из списка — скидка в письме, иначе обычная цена. Несколько допустимых значений — несколько строк, объединённых переключателем «или»:
form.promo равно BLACKFRIDAY
form.promo равно SALE30
Только совершеннолетние — обычный путь, иначе отказ:
form.age больше или равно 18
Корпоративная почта — заявка в отдел продаж, иначе общий поток. Регулярное выражение отсекает популярные бесплатные домены:
form.email совпадает с шаблоном .*@(?!gmail|yandex|mail)\..+
Регулярные выражения — инструмент точный, но хрупкий: ошибётесь в одном символе — условие начнёт молча отбрасывать правильные заявки. Поэтому сложную регэкспу всегда проверяйте на превью с несколькими разными значениями, а там, где можно обойтись простым «равно» со списком значений через «или», — обходитесь им.
Попробовать вживую можно на демо-сайте: primer.dynapi.ru/contacts — отправьте форму с пустым полем почты, и условие вернёт вас обратно; с заполненной — получите письмо-подтверждение и страницу «Спасибо».
Ветка «нет» необязательна
Если у условия подключён только путь «да», то при несошедшемся условии флоу просто завершится (посетитель останется на той же странице). Ничего дорисовывать ради симметрии не нужно.
Частый вопрос: а если в ветках по несколько шагов?
Соединяйте шаги в цепочку внутри ветки — «да» может привести к письму, за ним к странице «Спасибо», а «нет» — сразу к редиректу. Длина веток не ограничена; внутри ветки тоже можно поставить ещё одно условие и получить третий уровень развилки.
Зациклить флоу (связь назад к более раннему узлу) платформа не даст — сохранение отклонится с ошибкой.
Следующая статья: Маршруты: как посетитель попадает во флоу →