YETI³ SDKSTUDIO / РУКОВОДСТВО

ОДИН КОНСТРУКТОР · ОДНА СХЕМА

Настройте.
Увидьте сразу.

Магазин, блог, лендинг, врач, клиника или стоматология. Единый визуальный редактор находится на портале Engine; эта страница объясняет его настройки и границы.

Четыре шага к своему сайту

  1. Шаблон. Нажмите на название шаблона слева. Выберите магазин, блог, лендинг, врача, клинику или стоматологию: секции и обязательные зависимости уже подключены.
  2. Блоки. Перетащите компонент из библиотеки на схему или нажмите +. Выберите блок мышкой: настройки откроются справа. Зависимости появляются вместе с блоком.
  3. Содержание. Выберите первый экран и задайте название, описание и цвет. В блоке содержания добавьте свои товары, статьи или специалистов. Откройте соседнюю вкладку Live preview и проверьте компьютерную и мобильную версии.
  4. Проверка и запуск. Откройте «Код и проверки», исправьте ошибки. Сохраните схему или скачайте Python-проект через «Размещение». Данные проекта сохраняются в браузере, а не на сервере.

Ориентир для удобства: до 8 часов для новичка и до 2 часов для подготовленного пользователя на сборку стандартного сайта с готовым содержимым. Это целевой сценарий, а не проверенное время или гарантия запуска. Создание текстов, настройка платёжных сервисов и домена могут потребовать дополнительного времени.

Схема, зависимости и условия

В центре — карта проекта. Ядро, Studio runtime, PostgreSQL, шаблон и оформление входят в основу. CALMF, blockchain и автотесты включены в ядре. Обязательные зависимости нельзя удалить из интерфейса. Перетаскивайте блоки мышкой; фон перемещает карту, кнопки −/+ меняют масштаб, «Уместить» показывает весь проект. Стрелки клавиатуры перемещают выбранный блок.

На вкладке библиотеки «Условия» доступны только правила SDK: наличие содержимого, наличие свободных слотов и отсутствие свободных слотов. Соедините выход ◇ условия с входом ◇ блока мышкой или выберите целевой блок в настройках условия. Правило также можно выбрать в поле «Условие показа» у блока. Первый экран и расписание остаются без условий. В Live preview переключатель образца расписания позволяет проверить обе ветки; на работающем сайте условия проверяются по PostgreSQL.

Тексты и порядок блоков настраиваются справа. Отмена и повтор сохраняют до 60 изменений в текущем сеансе. JSON сохраняет sections и graph: типизированные правила, связи условий, подключённые модули и координаты. Поддерживаются до 20 секций и 20 правил; произвольный код не выполняется. Неподдерживаемые правила и несовместимые связи отклоняются при проверке и в SDK.

«Код и проверки» показывает состав из реальных манифестов, JSON с подсветкой синтаксиса, ошибки и подсказки. Live preview показывает оформление и условия, но не принимает оплату и не бронирует реальные приёмы. Свободные слоты на развёрнутом сайте задаются в админке и повторно проверяются при записи.

Настройки и SDK

Формат сохраняемого проекта — yeti3.studio/v1. Тексты экранируются, цвет принимается только в формате #RRGGBB. Цена товара указывается целым числом рублей, остаток — целым неотрицательным числом.

{
  "schema": "yeti3.studio/v1",
  "scenario": "clinic",
  "title": "Клиника Север",
  "description": "Запись к специалистам",
  "accent": "#256b4d",
  "specialists": ["Демонстрационный специалист"],
  "products": [],
  "posts": []
}

Соответствие сценариев пакетам: shop → studio.shop; media-blog → studio.blog; landing → studio.start; doctor → studio.doc; clinic → studio.clinic; dentist → studio.dent. Новый runtime yeti3-studio 0.1.0 использует Core/Platform 0.4.3 и PostgreSQL. CSS превью синхронизируется с CSS этого runtime.

Название, логотип и favicon

В верхней панели Studio нажмите «Название и логотип». Укажите имя проекта, загрузите логотип и иконку вкладки. Логотип сразу появится в Live preview; favicon появится во вкладке опубликованного сайта.

  1. Название: от 1 до 120 символов. Используется в шапке и заголовке сайта.
  2. Логотип: PNG, JPG или WebP, до 2 МБ. Редактор сохраняет прозрачный фон и уменьшает изображение до 512 × 256.
  3. Favicon: PNG, JPG, WebP или ICO, до 2 МБ. Редактор создаёт PNG 64 × 64.
  4. Готово: откройте Live preview. Через «Сохранить схему» или «Размещение → Скачать проект» сохраните изменения.

Название и изображения входят в studio.json; в архиве также находятся branding/logo.png и branding/favicon.png. Их использует тот же SDK runtime. SVG и внешние адреса изображений не принимаются. Кнопка «Удалить» убирает изображение из проекта.

Настройки остаются в браузере до экспорта. Для своего домена нажмите «Подключить домен» или откройте «Облако → ваш проект → Свой домен». Сначала облачный сайт должен быть развёрнут и готов.

Облако, адрес и HTTPS

Кнопка «Разместить в облаке» передаёт выбранный сценарий. После входа портал проверяет публикацию пакета, лицензию и размещение. Неопубликованное решение нельзя оплатить или запустить. Содержание черновика пока не переносится в облако автоматически.

В действующем разделе SaaS название проекта преобразуется в предложенный адрес латиницей. После готовности сайта можно подключить свой домен: указать имя, добавить предложенные A и TXT, выполнить проверку владения и выпуск HTTPS. Состояние сертификата и продления открывается кнопкой «SSL и автопродление».

Сервер общий. Запуск — только при наличии ресурсов.

Проверка выполняется на сервере перед новым развёртыванием: доступная память, свободный диск, нагрузка CPU и давление памяти/диска. Учитываются работающие проекты и запас для сервера. При недостатке или недоступности измерений запуск запрещён; кнопки обхода для SaaS нет. Локальное принятие риска в SDK не даёт права обойти облачную проверку.

Превью и годовой тариф

Live preview рендерит те же шаблоны, стили и проверку схемы, что и экспортируемый Python-проект SDK. Формы в превью не отправляют заявки; свободные слоты появляются после настройки настоящего расписания. Для облачной сборки показывается стоимость первого года: решение разово, Core и размещение на 365 дней. Например, клиника на тарифе «Дело»: от 24 390 ₽ за год. Перед оплатой сервер лицензирования подтверждает состав, срок и актуальную цену.

Сайт из рейтинга

«Хочу такой сайт» открывает конструктор с выбранным источником. Полная схема загружается только из проверенного переносимого экспорта сайта. Если такой сборки нет, редактор сообщает об этом и сохраняет ваш текущий черновик. Оригинальные реквизиты, токены, клиентские записи и пароли в новую сборку не переносятся.

Границы текущего выпуска · 09.10.2026

Доступны визуальное редактирование, живое превью и сохранение схемы. Шесть новых пакетов собраны и прошли интеграционные проверки на PostgreSQL, но ещё не опубликованы для платного развёртывания.

Скачиваемый ZIP содержит исходники Studio и текущую схему страницы. Оформление превью синхронизируется с runtime SDK; исходники можно запустить на PostgreSQL по инструкции в архиве. Для коммерческого выпуска ещё нужны завершённая доставка, покупка, перенос настроек, регистрация демо и сквозная проверка запуска. Не вводите реальные данные пациентов в тестовые формы.

Подробнее о ресурсах SDK → · Портал разработчика →

Блоки, стоимость и расписание

Библиотека компонентов находится слева. Перетащите блок на карту, настройте его справа и проверьте результат во вкладке Live preview. Для врача, клиники и стоматологии доступен блок расписания. В конструкторе показывается образец; настоящие слоты создаёт администратор развёрнутого сайта.

Стоимость пересчитывается при смене решения и ожидаемой посещаемости. Разовая цена решения, Core и облачный тариф показаны отдельно. Это плановый бюджет, а не подтверждённый счёт. Окончательную цену, курс токенов, лицензию и свободные ресурсы общего сервера должен подтвердить сервер лицензирования.

«Размещение → Скачать проект · Python + SDK» экспортирует исходники Studio, studio.json и инструкцию запуска на PostgreSQL. Команда python manage.py import_studio_design studio.json импортирует данные только в новый сайт; существующие данные не перезаписываются. STUDIO_DESIGN_FILE указывает путь к схеме страницы. Состав, порядок, видимость, текст секций и условия используются серверным шаблоном. Координаты схемы — только данные редактора.

Модули SDK: appointments.booking — общее расписание и атомарная запись; telegram.booking — открытие той же формы из Telegram. Слоты обновляются каждые 10 секунд и повторно проверяются при подтверждении. Персональные данные не включаются в блокчейн.

Автоматическое коммерческое размещение и цепочка «оплата → зачисление → доставка проекта» ещё не подтверждены. Скачивание исходников не означает регистрацию релиза или подключение конкретного Telegram-бота.

Админка — в стиле YETI³ Engine

Исходники из конструктора включают общую тему админки Engine: фирменный вход, главную панель, боковое меню с фильтром, списки и формы. Дополнительная тема не нужна. После установки проекта и python manage.py collectstatic --noinput откройте /admin/. Встроенные настройки Django дают шаблонам SDK приоритет перед стандартными шаблонами.

Если используете собственные настройки Django, добавьте каталог yeti3_studio/templates из установленного пакета в TEMPLATES[0]["DIRS"]. Используйте сохранённую тему как часть проекта; секреты и данные пользователей в неё не включаются.

Telegram: подключить в пару кликов

  1. В управлении опубликованного сайта откройте Telegram · онлайн-запись.
  2. Вставьте токен, полученный у @BotFather, и нажмите Проверить и включить запись.
  3. Нажмите Открыть бота, затем «Начать». Бот откроет общее расписание сайта.

Имя определяется автоматически. Настройки показывают состояние и время проверки; доступны отдельные кнопки проверки и отключения. Токен хранится зашифрованным в PostgreSQL и не выводится обратно. Изменение токена отключает старую связь до новой проверки. Нужны HTTPS, медицинское решение и видимый блок расписания.

Если бот занят другим сервисом, подключение не перезаписывает его настройки: используйте отдельного бота либо сначала отключите прежнее подключение. Храните резервную копию DJANGO_SECRET_KEY вместе с защищённым бэкапом настроек: он нужен для расшифровки токена. Архив исходников содержит только код и схему; токен вводится после развёртывания.

Подключение использует проверку getMe и webhook с секретным заголовком по официальному Telegram Bot API. Повтор webhook не отправляет одинаковый ответ дважды. Если отправка не подтверждена, в настройках появится подсказка попросить пользователя повторить /book.