Школа, которая уходит с GetCourse, Zenclass или Антитренингов, упирается не в контент — его можно перепечатать, — а в базу учеников с оплаченными доступами.
Мастер переезда переносит её сам: учеников, доступы к курсам, историю оплат, структуру курсов и содержимое уроков вместе с видео.

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

Что переносится, а что нет

Переносится Не переносится
Ученики: почта, имя, телефон, дата регистрации Пароли — хранятся хэшами, восстановить их нельзя
Доступы к курсам с датой начала и датой окончания Рекуррентные подписки — привязка карты осталась у прежнего платёжного провайдера
История оплат — попадает в финансовые отчёты проекта Прогресс по урокам, если школа не выгрузила его файлом
Структура: курсы, модули, уроки, тарифы Вебинары и записи эфиров, SCORM
Содержимое уроков: тексты, домашние задания Настройки воронок и рассылок чужой платформы
Видео и файлы уроков — видео автоматически готовится к просмотру

Про подписки
Если у ученика на старой платформе была активная подписка, мы не включаем ей рекуррент у нас: карта привязана к прежнему провайдеру, и списание всё равно не пройдёт. Вместо этого ученик получает обычный доступ до конца оплаченного периода, а школа — отдельный список таких учеников в отчёте. Их нужно попросить оформить подписку заново

Про пароли
Пароли не переносятся ни с одной платформы. Ученик, которого импорт создал заново, получает письмо с новыми данными для входа. Кто письмо не откроет — войдёт через обычное восстановление пароля по почте.

Два способа переноса

GetCourse (по ключу API)

Вам нужно ввести адрес аккаунта и ключ API, всё остальное мастер забирает сам.

Важное ограничение: API GetCourse отдаёт только людей, группы, заказы и платежи. Содержимое тренингов оно не выгружает ничем. Поэтому по ключу приезжают ученики, доступы и оплаты, а уроки нужно донести пакетом файлов — либо указать на шаге сопоставления курсы, которые уже собраны у нас.

Пакет файлов (ZIP) — для всех остальных платформ

Школа собирает выгрузку сама. Этот способ закрывает любую платформу, у которой нет API, и им же доносится контент уроков для GetCourse.

В мастере есть кнопка «Скачать шаблон пакета» — CSV с описанием всех файлов, колонок и примером строки.


Формат пакета

  • Разделитель — точка с запятой
  • Кодировка — UTF-8 или Windows-1251, определяется автоматически
  • Даты — ДД.ММ.ГГГГ
  • Суммы — как удобно: 12000, 12 000,00, 12000.50 руб.
  • Идентификаторы (id, Ученик, Курс, Тариф, Заказ) — любые свои, лишь бы
    совпадали между файлами
  • Размер архива — до 2 ГБ, в распакованном виде до 20 ГБ

Пошаговый туториал

Шаг 1. Подключение

Курсы → Перенести школу.

Выберите источник: GetCourse по ключу API или Пакет файлов (ZIP).

Здесь же две настройки:

  • Отправлять ученикам письма с доступом — включено по умолчанию. Письмо уходит только тем ученикам, которых импорт создал заново.
  • Переносить историю оплат — включено по умолчанию.

Подтвердите галочкой, что данные принадлежат вашей школе, и нажмите Начать.

Совет для первого переноса. Выключите письма. Перенесите базу, проверьте, что всё легло верно, и только потом включите отправку и запустите перенос ещё раз — письма уйдут тем, кто был создан.

Шаг 2. Что нашли

Мастер показывает, что увидел в источнике: сколько курсов, модулей, уроков, учеников, доступов и оплат, а также объём медиафайлов.

Шаг 3. Сопоставление

Для каждого курса со старой платформы выберите, куда его переносить:

  • оставить пустым — курс и тариф создадутся заново;
  • выбрать существующий курс — уроки лягут в него, а доступы выдадутся на его тариф.

Второй вариант нужен, когда контент уже перепечатан у нас, а перенести надо только людей и оплаты.

Шаг 4. Сухой прогон

Самый важный шаг. Мастер проходит весь путь переноса, но не записывает ни одной строки в базу и не отправляет ни одного письма. На выходе — тот же отчёт, что будет у боевого прогона:

  • сколько будет создано, сколько уже есть, сколько пропущено и почему;
  • хватает ли места в хранилище для медиафайлов;
  • какие уроки приедут пустыми и потребуют ручной доводки;
  • у кого была подписка.

Если что-то не так — поправьте сопоставление или пакет и запустите сухой прогон заново (можно запускать несколько раз).

Шаг 5. Перенос

Нажмите Перенести. На экране виден прогресс, перенос можно остановить в любой момент — то, что успело примениться, останется, и отчёт это покажет.

Файлы и видео доезжают отдельно, уже после того как перенос отчитался: они ставятся в очередь с разбросом по времени, чтобы не перегружать обработку видео. На экране показано, сколько файлов ещё в пути.

По завершении доступен отчёт в CSV — со списком пропущенного, неперенесённых подписок, уроков на доводку и файлов, которые не удалось забрать.


Догоняющая синхронизация

Пока школа не переключилась окончательно, на старой платформе продолжают покупать. Чтобы догнать эти продажи:

  1. Откройте перенос и нажмите «Перечитать источник» — для GetCourse данные заберутся по тому же ключу, для пакета нужно залить свежий ZIP.
  2. Запустите сухой прогон — заголовок сменится на «Что добавится», и вы увидите ровно то, что добавит синхронизация. Всё уже перенесённое будет помечено как «уже было».
  3. Нажмите «Синхронизировать новое».

Так можно делать сколько угодно раз вплоть до дня переключения.


После переноса

Что стоит сделать школе:

  1. Проверить один курс глазами — открыть его в кабинете, зайти учеником, убедиться, что уроки на месте и видео запускается.
  2. Написать ученикам с неперенесёнными подписками. Их список — в отчёте. Доступ у них открыт до конца оплаченного периода, но продлевать его будет нечем, пока они не оформят подписку заново.
  3. Дособрать уроки из списка «требуют ручной доводки». Это уроки, у которых на старой платформе не нашлось ни текста, ни файла.
  4. Закрыть перенос, когда всё готово. При удалении переноса стирается ключ API и загруженный пакет; перенесённые ученики, курсы и оплаты остаются на месте.

Отвечаем на ваши вопросы:

Можно ли запустить перенос дважды по ошибке?

Да, ничего не сломается. Мастер помнит, что уже перенёс, и повторный запуск не создаёт дублей, не добавляет оплаты второй раз и не шлёт писем повторно.

Что будет, если ученик уже есть у нас?

Он найдётся по почте, новый не создастся, письмо ему не уйдёт. Доступ добавится к существующему аккаунту.

Что будет с учеником, который купил курс у нас напрямую, а потом нашёлся в выгрузке?

Его даты начала и окончания доступа не трогаются — мы не перезаписываем их данными старой платформы.

Не хватит места в хранилище — что тогда?

Мастер считает объём медиа заранее и показывает нехватку на сухом прогоне. Если места мало, ученики, доступы, оплаты и тексты уроков всё равно перенесутся, а файлы — нет; их можно добрать после расширения хранилища.

Ученики без почты?

Пропускаются: почта — единственный ключ, по которому заводится аккаунт. Их количество видно в отчёте.

Сколько это занимает?

Пакет обрабатывается пачками и для базы в тысячи учеников укладывается в минуты. Дольше всего едут видео — они переносятся фоном, и школа может пользоваться кабинетом, не дожидаясь.