Skip to main content
Этот раздел собирает разрозненные возможности платформы в сквозные сценарии — от пустого аккаунта до работающей онлайн-школы с продажами. Каждый гайд ведёт через несколько разделов интерфейса; по ходу даны ссылки на подробные статьи, где та или иная настройка описана детально.
Сценарии рассчитаны на коммерческую школу (сегмент Commerce). В корпоративном сегменте (Corporate) разделы продаж, цен и эквайринга скрыты — обучение идёт без оплат. См. Тип школы (сегмент).

Сценарий 1. Запуск первой школы

Цель — создать школу и довести её до состояния, когда можно наполнять курсы и приглашать учеников.
1

Создайте школу

На форме создания (pages.School.Create) укажите название (3–50 символов) и базовый домен (3–20 символов). Итоговый адрес — ваш-домен.exode.biz. После нажатия «Создать школу» платформа создаёт школу вместе с продавцом (seller) и перенаправляет вас на домен новой школы в раздел настроек. Подробнее — Регистрация школы.
2

Заполните основную информацию

В разделе «Основная информация» уточните название и добавьте краткое описание/слоган (до 100 символов). Настройки основной информации сохраняются автоматически (auto-save).
3

Загрузите логотип и иконку

Логотип и иконка формируют узнаваемость школы в интерфейсе и во вкладке браузера. См. Логотип и иконка.
4

Настройте домен, языки и оформление

При необходимости подключите собственный домен (возможность customDomain), выберите доступные языки интерфейса и цветовую схему. См. Домен школы и Темы.
5

Соберите команду (необязательно)

В разделе «Мои менеджеры» (/manage/school/managers) добавьте сотрудников и выдайте им права. См. Роли пользователей.
Набор доступных возможностей задаётся тарифом школы (SchoolFeatures). Если какого-то раздела нет в меню — проверьте тариф на странице Подписка и тарифы.
Экран приветствия после создания школы

Сценарий 2. Создание и продажа курса

Цель — создать курс, наполнить его контентом, назначить цену и опубликовать в каталоге.
1

Создайте курс

В модальном окне создания выберите тип курса (видеокурс, текстовый, вебинар, аттестация, индивидуальное занятие или пакет), введите название (до 130 символов) и выберите тип доступа — платный или бесплатный. Тип курса нельзя изменить позже.
2

Наполните структуру

В разделе Содержание (/manage/course/:courseId/content) соберите дерево из модулей и уроков. Добавьте контент-блоки (теорию) и, при необходимости, практику. См. Создание уроков и модулей.
3

Опубликуйте уроки

Переведите готовые уроки из статуса «Черновик» (Draft) в «Опубликован» (Published) — в черновике урок не виден ученикам. Демо-уроки (Demo) доступны без покупки.
4

Создайте запуск и тариф

В разделе Запуски создайте запуск (поток) с датами продаж и хотя бы один активный тариф (ProductPrice). Выберите тип оплаты: разовая (OneTime), рассрочка (Installment), подписка (Subscription) или внешняя ссылка (ExternalLink). См. Запуск и тарифы.
5

Отправьте на публикацию

В разделе Публикация платформа проверит условия запуска: статус Published у продукта и запуска, корректные даты продаж, наличие активного тарифа (hasActualPrice) и что курс не в архиве. Отправьте запуск на модерацию — после одобрения курс появляется в каталоге. См. Создание курсов.
Без хотя бы одного активного тарифа запуск нельзя опубликовать — платформа покажет ошибку «Нет активных тарифов» на экране публикации.
Экран публикации курса с проверкой условий запуска

Сценарий 3. Приём оплаты и выдача доступа

Цель — настроить приём денег и понять, как ученик получает доступ после оплаты.
1

Подключите эквайринг

В разделе Управление → Школа → Эквайринг (/manage/school/acquiring) добавьте платёжного провайдера (Payme, Click, Uzum, Тинькофф и др.), заполните реквизиты из кабинета провайдера и включите подключение (active). Пока не подключён ни один эквайринг, кнопка оплаты у ученика не появляется. См. Настройка кассы.
2

Пропишите callback-ссылку

Если провайдер требует, скопируйте callback-ссылку из формы эквайринга и вставьте её в личный кабинет провайдера — иначе платежи могут не подтверждаться автоматически.
3

Ученик оплачивает

Оплата идёт через счёт (Invoice), созданный из корзины. Ученик открывает прямую ссылку /pay/:productId/:priceId или корзину /cart, применяет промокод и оплачивает. Страница /pay/invoice/:invoiceUuid показывает статус и опрашивает его до завершения. См. Приём платежей.
4

Доступ выдаётся автоматически

После успешного платежа (PaymentStatus.Completed) платформа выдаёт доступ к продукту. Если у тарифа указана группа после оплаты (groupId), ученик попадает в неё; срок доступа определяется полем accessDays тарифа.
5

Контролируйте продажи

Все счета видны в Управление → Счета (/manage/invoices) с фильтрами по ученику, продукту, эквайрингу, статусу, UTM-меткам и датам. Рассрочки — в Управление → Рассрочки (/manage/installments).
Для рассрочки и подписки ученик привязывает карту, а очередные платежи списываются автоматически по графику. См. Рассрочка и автосписания.
Таблица счетов школы с фильтрами

Сценарий 4. Проверка практики

Цель — проверить работу, сданную учеником, и вернуть обратную связь.
1

Дождитесь сдачи работы

Когда ученик сдаёт практику, создаётся попытка (CourseLessonPracticeAttemptEntity). Задания с закрытым ответом проверяются автоматически (статус AutoVerified), задания с развёрнутым ответом (Detailed, *WithAttachment) уходят на ручную проверку (OnReview).
2

Откройте список работ

Работы на проверку собраны в разделах Практика (/manage/practice/chat) и Домашние работы (/manage/homeworks/:page). Отфильтруйте по студенту, курсу, уроку, статусу или дате.
3

Проверьте в диалоге

Откройте работу в диалоге проверки (PracticeChat): вы видите ответы ученика и переписку. Обратная связь передаётся сообщениями в привязанном к попытке чате.
4

Выставьте результат

Зачёт определяется порогом сдачи (passThreshold). Возможные исходы: «Выполнено» (Verified), «Доработка» (OnCorrection) — ученик исправляет и сдаёт заново, или «Незачёт» (Failed). При наборе порога открывается следующий урок. См. Проверка практики.
После исчерпания лимита попыток (maxAttempts) работа переходит в статус «Попытки исчерпаны» (Stacked) и повторная сдача становится недоступна.
Диалог проверки практики с ответами ученика

Сценарий 5. Выдача сертификата

Цель — настроить автоматическую выдачу сертификата за прохождение курса.
Раздел сертификатов находится в активной разработке (задача ITD-158). Форма настройки и раздел «Мои сертификаты» уже присутствуют в интерфейсе, но пока используют временные заглушки и не подключены к боевому backend. Ниже описана целевая механика. Честный статус — на странице Статусы функций.
1

Включите выдачу на уровне курса

Откройте управление курсом → раздел Сертификаты (ManageCourseCertificatesPage) и активируйте переключатель «Выдавать по завершении курса» (enabled).
2

Выберите шаблон и оформление

Выберите один из системных шаблонов (templateId), при необходимости задайте фирменный цвет (brandColor, HEX), срок действия в месяцах (expireInMonths; пусто = бессрочно) и загрузите изображения подписи и печати (signatureImageUrl, stampImageUrl). См. Создание сертификата.
3

Сохраните настройки

Настройки применятся ко всем будущим выдачам данного курса.
4

Ученик завершает курс — сертификат выдаётся сам

Единственное условие выдачи — полное завершение курса (событие CourseCompleted). Выдача идемпотентна: один ученик получает один сертификат на курс. Данные «замораживаются» в снимке (snapshot) на момент выдачи.
5

Ученик видит сертификат

Полученные сертификаты доступны в разделе «Мои сертификаты» (/certificates). Каждый открывается на публичной странице проверки verify.exode.biz/certificate/<uuid>, где его можно показать по ссылке, проверить по QR-коду и сохранить в PDF через печать. См. Отображение сертификата.
Раздел настройки сертификата в управлении курсом