Экспорт и импорт схемы

Конструктор позволяет сохранить текущую схему сценария в JSON-файл и загрузить её обратно — на том же боте или на другом. Функция доступна только для администраторов платформы.

Кнопки в панели навигации

Рядом с кнопкой «Документация» в шапке конструктора находятся две иконки:

  • CloudDownload (↓ облако) — экспортирует текущую схему в JSON-файл и скачивает его на ваш компьютер.
  • Upload (↑ стрелка) — открывает выбор JSON-файла для импорта в конструктор.

Экспорт схемы

При нажатии кнопки экспорта на ваш компьютер скачивается файл с именем {название сценария}.json.

Файл содержит:

{
  "schema_version": 1,
  "name": "Название сценария",
  "exported_at": "2026-04-04T12:00:00.000Z",
  "nodes": [ ... ]
}

Поле nodes содержит все ноды текущего сценария (включая стартовую). Рёбра (переходы) не сохраняются явно — они автоматически пересчитываются из данных кнопок при загрузке.

Импорт схемы

При нажатии кнопки импорта открывается диалог выбора файла. После выбора файла выполняется автоматическая проверка.

Валидация

Перед импортом конструктор проверяет:

  1. Синтаксис JSON — файл должен содержать корректный JSON.
  2. Структуру схемы — в файле должно быть поле nodes с массивом нод.
  3. Совместимость нод — каждая нода должна содержать обязательные поля (id, type, position, data) и известный тип (start, command, trigger, auto_message, frame).
  4. Совместимость блоков — каждый блок внутри ноды должен иметь тип, который поддерживается текущей версией конструктора.

Если проверка не прошла, отображается диалоговое окно с конкретным описанием ошибки. Например:

«Неизвестный тип блока javascript в ноде Приветствие. Возможно, этот сценарий создан в более новой версии конструктора и содержит блоки, которые здесь не поддерживаются.»

Выбор режима импорта

Если файл прошёл валидацию, открывается диалог с двумя вариантами:

Заменить текущую схему (по умолчанию)

Все ноды текущего сценария удаляются и заменяются нодами из файла. Действие можно отменить через Ctrl+Z (undo).

Добавить к текущей схеме

Ноды из файла добавляются на холст рядом с существующими нодами. При этом:

  • Стартовая нода из файла пропускается — на холсте может быть только одна стартовая нода.
  • Идентификаторы (ID) всех добавляемых нод автоматически пересчитываются, чтобы не конфликтовать с существующими.
  • Добавленные ноды размещаются ниже существующих на холсте.

Сохранение после импорта

После подтверждения импорта схема автоматически сохраняется в черновик через 1.5 секунды. Чтобы изменения вступили в силу для пользователей бота — нажмите «Опубликовать».

Частые случаи использования

  • Перенос сценария между ботами или между тестовой и продакшн-средой.
  • Резервное копирование схемы перед крупными изменениями.
  • Совместная разработка — экспортировать, передать коллеге, добавить на его схему.