Чат-боты — редактор сценария
Холст со схемой диалога: узлы перетаскиваются из панели «Элементы», соединяются линиями, настраиваются в панели справа.
Сохранить (Ctrl+S)
Сохраняет черновик. Посетители продолжают видеть предыдущую опубликованную версию — черновик на живые диалоги не влияет.
Опубликовать
Проверяет схему и делает черновик рабочей версией. Публикация не пройдёт, если нет узла «Начало», есть неподключённые узлы, у узла нет исходящей линии, у «Сообщения» пустой текст, у «Кнопок» нет кнопок или пустая подпись, у «Ввода» не задана переменная, у «Условия» не выбрано поле или оператор. Первая найденная ошибка показывается тостом, проблемный узел выделяется.
Что происходит: Публикация обрывает все идущие прямо сейчас сессии этого бота — посетители в середине сценария больше не получат следующих шагов. Номер версии увеличивается.
Отменить / Повторить
Откат и возврат правок схемы, Ctrl+Z и Ctrl+Shift+Z. История живёт до выхода из редактора.
Есть несохранённые изменения
Предупреждение, что черновик отличается от сохранённого. Уход со страницы теряет такие правки.
Элементы (панель слева)
Узлы перетаскиваются мышью на холст. Линия от нижней точки узла к верхней точке следующего задаёт порядок шагов. Удаление узла или линии — клавишей Delete или Backspace.
Узел «Начало»
Точка входа. Настраивать нечего, но он обязателен и должен быть один. Все узлы, до которых нельзя дойти от «Начала», считаются неподключёнными и блокируют публикацию.
Узел «Сообщение»
Реплика бота. «Текст сообщения» поддерживает переменные вида {{name}}. «Задержка набора (мс)» — пауза с индикатором «печатает…» перед отправкой, 0–5000 мс.
По умолчанию: Задержка набора 1000 мс
Узел «Кнопки»
Вопрос с готовыми вариантами: до 8 кнопок, от каждой отходит своя линия. В Telegram, VK и MAX рисуются как inline-кнопки, в виджете — как кнопки под сообщением.
Что происходит: Сценарий встаёт на паузу и ждёт нажатия. Если посетитель не ответит 5 минут, сессия закрывается по таймауту, диалог помечается непрочитанным и переходит к оператору.
Узел «Ввод»
Просит посетителя ввести данные и кладёт ответ в переменную. «Переменная» — имя без скобок (например email), дальше подставляется как {{email}}. «Тип ввода» — Текст, Email или Телефон; формат email и телефона проверяется в виджете до отправки. «Подсказка» — серый текст внутри поля.
Что происходит: Как и «Кнопки», ждёт ответа 5 минут, после чего диалог уходит оператору. Ответ посетителя сохраняется в переписке и виден оператору, но пуш о нём не отправляется — пока идёт бот, человека не зовут.
Узел «Условие»
Ветвление. Поля для сравнения: URL страницы, Страна, Город, Кол-во визитов, Переменная (тогда указывается её имя). Операторы: равно, не равно, содержит, не содержит, существует, не существует, больше, меньше. Каждое условие — отдельная ветка, они проверяются сверху вниз, срабатывает первая подходящая; если не подошло ни одно — идёт ветка «else».
Узел «Действие»
«Отдел» — передаёт диалог в выбранный отдел, открывает его и помечает непрочитанным. «Записать в профиль» — сохраняет значение переменной в поле карточки посетителя (Имя, Email, Телефон). «Закрыть диалог» — закрывает диалог. «Переменная» — записывает значение в переменную бота.
Что происходит: «Отдел» и «Закрыть диалог» ЗАВЕРШАЮТ сценарий: узлы после них не выполняются, линию от них вести не нужно. «Записать в профиль» и «Переменная» продолжают поток дальше.
Узел «Задержка»
Пауза перед следующим шагом, 1–30 секунд. Индикатор «печатает…» при этом не показывается.
Узел «Webhook»
HTTP-запрос к внешнему сервису. «URL» — только публичные адреса, в пути допустимы {{переменные}}. Метод GET/POST/PUT/PATCH/DELETE, свои заголовки и тело запроса. «Таймаут (сек)» — 1–15. «Ответ → переменные»: слева имя переменной, справа путь в JSON через точку (data.status, items.0.id); пустой путь кладёт весь ответ целиком.
Что происходит: У узла две исходящие ветки: «Успех» — ответ 2xx получен, «Ошибка» — сбой HTTP, таймаут или заблокированный адрес. Ответ размером больше 256 КБ не сохраняется. Запросы во внутреннюю сеть блокируются, включая переадресации.
По умолчанию: GET, таймаут 5 секунд
Вставить переменную (значок «</>» рядом с текстовым полем)
Подставляет в текст переменную. Всегда доступны name, email, phone, page_url, country, city — плюс те, что вы завели узлами «Ввод» и «Действие → Переменная». На сессию сохраняется не более 100 переменных, значение ответа обрезается до 2000 символов.
Справка по ноде
Раскрывающийся блок в панели настроек узла: что узел делает, как его использовать и пример. Дублировать эту страницу не нужно — там описание конкретного выбранного узла.