> ## Documentation Index
> Fetch the complete documentation index at: https://faq.exode.biz/llms.txt
> Use this file to discover all available pages before exploring further.

# Создание курсов

> Пошаговый процесс создания курса: выбор типа, наполнение контентом и публикация

Создание курса на платформе состоит из трёх основных этапов: создание самого курса с выбором типа и доступа, наполнение его контентом (модули и уроки) и отправка на публикацию. Ниже — полный маршрут от идеи до доступного в каталоге курса.

## Шаг 1. Создание курса

Курс создаётся через модальное окно создания. Сначала выбирается [тип курса](/online-schools/courses/course-types), затем заполняются минимальные данные.

<Steps>
  <Step title="Выберите тип курса">
    Укажите формат обучения: видеокурс, текстовый курс, вебинар, аттестация, индивидуальное занятие или пакет. Тип нельзя изменить позже.
  </Step>

  <Step title="Введите название">
    Название курса (`name`) — до 130 символов. Заголовок поля подстраивается под выбранный тип.
  </Step>

  <Step title="Выберите тип доступа">
    Платный или бесплатный. Тип доступа задаётся валютой продукта (`product.currency`): обычная валюта — платный курс, `Free` — бесплатный.
  </Step>

  <Step title="Создайте курс">
    Нажмите «Создать» — вы перейдёте к расширенным настройкам курса (раздел «Информация»).
  </Step>
</Steps>

<img src="https://mintlify.s3.us-west-1.amazonaws.com/exode-faq/images/online-schools/courses/create-modal.png" alt="Модальное окно создания курса" />

<Note>
  Введённые в модальном окне данные сохраняются как черновик (`draft:course-create`): если вы случайно закроете окно, значения восстановятся при следующем открытии.
</Note>

## Шаг 2. Основные настройки

После создания курс открывается в разделе **Информация**, где задаются название, описание, метки, обложка, промо-видео и оформление карточки. Все поля с автосохранением. Подробно — в разделе [Настройки курса](/online-schools/courses/settings).

## Шаг 3. Наполнение контентом

Структура курса настраивается в разделе **Содержание** (`Manage/Courses/Content`). Здесь формируется дерево из модулей и уроков.

* **Модули** — родительские элементы, группирующие уроки.
* **Уроки** — единицы контента внутри модулей. У каждого урока есть статус (`CourseLessonStatus`): черновик (`Draft`), на проверке (`OnCheck`), опубликован (`Published`).
* **Демо-уроки** — уроки с типом доступа `Demo` доступны всем без покупки; остальные (`Participant`) — только участникам курса.

Порядок прохождения можно настроить через режим обучающего пути (`learningPathMode`): в этом режиме уроки открываются последовательно, по мере прохождения предыдущих.

<img src="https://mintlify.s3.us-west-1.amazonaws.com/exode-faq/images/online-schools/courses/content-structure.png" alt="Структура курса: модули и уроки" />

<Tip>
  Для пакетов курсов вместо уроков в разделе «Содержание» добавляются вложенные курсы — см. [Пакеты курсов](/online-schools/courses/course-packages).
</Tip>

## Шаг 4. Тарифы и запуск

Чтобы курс можно было продавать, создаётся хотя бы один **запуск** (поток) и тариф внутри него. Даты продаж, цены и планы настраиваются в разделе **Запуски** — см. [Запуск и тарифы](/online-schools/courses/launches-and-pricing).

## Шаг 5. Публикация

Раздел **Публикация** (`Manage/Courses/Publication`) проверяет, что курс готов к продаже, и отправляет запуск на модерацию.

Перед публикацией платформа проверяет условия запуска продаж (`salesLaunchConditions`):

| Условие                  | Что проверяется                                     |
| ------------------------ | --------------------------------------------------- |
| Проверка модераторами    | Запуск и продукт имеют статус `Published`           |
| Корректность дат продаж  | Даты старта и окончания продаж заданы верно         |
| Наличие активного тарифа | Есть хотя бы один активный тариф (`hasActualPrice`) |
| Курс не в архиве         | Продукт не архивирован (`isNotArchived`)            |

Статусы запуска (`ProductLaunchStatus`): `Draft` (черновик), `OnCheck` (на проверке), `Published` (опубликован), `Declined` (отклонён), `Unpublished` (снят с публикации).

<Steps>
  <Step title="Проверьте условия">
    Убедитесь, что все пункты в блоке условий отмечены зелёным.
  </Step>

  <Step title="Отправьте на модерацию">
    Отправьте запуск на проверку — он получит статус «На проверке» (`OnCheck`).
  </Step>

  <Step title="Дождитесь публикации">
    После одобрения модераторами запуск становится опубликованным, и курс появляется в каталоге.
  </Step>
</Steps>

<img src="https://mintlify.s3.us-west-1.amazonaws.com/exode-faq/images/online-schools/courses/publication-conditions.png" alt="Экран публикации с условиями запуска" />

<Warning>
  Если курс архивирован, он не отображается в каталоге. Снять курс из архива можно в разделе «Информация» → «Действия».
</Warning>
