Чем отличается технически
Страница описывает различия в устройстве и список того, чего в продукте нет. Выводов о том, что лучше, здесь нет: выбор зависит от того, что вы делаете, и делаете его вы.
Сравнение — с GetCourse: это платформа, с которой чаще всего переходят. Сведения о ней взяты из их справочного центра, ответов их поддержки и практики интеграторов.
API: два независимых против одного #
У GetCourse два API, независимых друг от друга: разные базовые адреса, разная аутентификация, разный формат тела запроса, разные конверты ответа и разные названия одних и тех же сущностей.
Классическое API умеет три действия: создать пользователя, создать заказ,
запустить асинхронный экспорт. Формат — JSON, закодированный в base64, внутри
application/x-www-form-urlencoded. Чтения одного объекта нет: только массовая
выгрузка. Лимит экспорта — 100 запросов за 2 часа на весь аккаунт, экспорт
однопоточный, каждый опрос готовности расходует квоту.
Tech API — около 50 методов, включая уроки, диалоги, вебинары. Ключ выдаётся
по анкете, документация закрыта в robots.txt. Офферы доступны только на чтение,
учебную структуру создавать нельзя.
Здесь одно API: один базовый адрес, одна аутентификация, один формат тела, один конверт ошибок, один справочник событий. Ключ школа заводит в своих настройках.
Практическое различие для интегратора: чтобы узнать состояние одного заказа в GetCourse, нужно заказать выгрузку всех и дождаться файла; здесь это запрос по идентификатору.
Оговорка о состоянии: работающего API здесь пока нет. Первый срез — в разработке (состав и граница), остальное — замысел (Проект API).
Вебхуки #
| GetCourse | Здесь | |
|---|---|---|
| Подпись | нет; защита — неугадываемый адрес | HMAC-SHA256 по сырому телу |
| Повторы при неудаче | нет | 6 попыток примерно за сутки |
| Переигрывание пропущенного | нет | по диапазону дат или списку событий |
| Формат события | три несовместимые схемы у разных семейств | один конверт на все события |
Три несовместимые схемы означают, что единый обработчик написать нельзя: у заказов одно имя поля события и время в ISO, у диалогов числовой идентификатор и время в другом формате, у звонков третья схема.
Устройство здесь описано на странице Вебхуки; реализации ещё нет.
Права: галочки против ролей #
У GetCourse ролей как сущности нет. Есть поле «тип» в карточке человека и около семидесяти отдельных галочек прав, которые расставляются каждому сотруднику по одной, руками. Шаблонов, групп и копирования прав с человека на человека нет.
Три технических следствия:
- права почти не привязаны к объектам: ограничить сотрудника одним курсом можно только назначив его преподавателем этого курса; одной воронкой, одним продуктом, одной рассылкой — нельзя;
- контакты ученика видны либо целиком, либо никак; промежуточного состояния нет;
- крупные права каскадно включают пакеты других: «может настраивать аккаунт» разом добавляет управление правами, мессенджеры, хранилище, виджеты, трафик, пользователей, сайт, рассылки, промоакции и партнёрку.
Здесь роль — сущность: набор прав, который выдаётся целиком и правится в одном месте. Право сужается до курса; контакты закрываются отдельным правом, не связанным с правом работать с человеком.
Различие в умолчании: у GetCourse куратор по умолчанию видит всех учеников тренинга, включая чужие ответы, а «только своих» включается галочкой в каждом тренинге отдельно. Здесь куратор по умолчанию видит только своих.
Кастомизация: классы вёрстки против объявленного контракта #
Распространённый механизм — задокументировать классы элементов, чтобы школа писала по ним свой CSS. Здесь он не используется, и причина техническая.
Разметка собрана из утилитарных классов. Если объявить их публичными, то,
во-первых, правило .text-body { font-size: 20px } меняет размер везде, где этот
класс встречается: в карточке курса, в подписи к платежу, в письме, в кнопке.
Во-вторых, при перевёрстке класс на элементе меняется, и оформление перестаёт
применяться молча — CSS не падает при неверном селекторе, ошибки в логах нет.
Механизм здесь — два объявленных слоя:
- переменные оформления — имена, которые не переименовываются; переопределение меняет вид везде, где переменная используется (справочник);
- якоря — стабильные атрибуты на ключевых элементах для точечных правил (Якоря).
Внутренняя разметка при этом остаётся изменяемой. Якорей в продукте пока нет ни одного.
Выгрузка данных #
GetCourse: выгрузка по частям через асинхронный экспорт, в пределах квоты 100 запросов за 2 часа на аккаунт; курсы, уроки, ответы учеников, промокоды и сегменты API не отдаёт.
Здесь: база PostgreSQL на вашем сервере, доступ к ней у вас; плюс спроектирована выгрузка школы одним архивом, включая содержимое курсов и файлы. Реализации выгрузки пока нет.
Что это означает при переходе — Перенос данных с GetCourse.
Чего в продукте нет #
Список фактический.
Работающего API. Первый срез в разработке (состав).
MCP-сервера. Внешний агент подключается по машинным выходам документации, готовых инструментов пока нет (подробнее). Встроенный помощник школы при этом работает — ИИ-агент школы.
Якорей оформления — ни одного. Переменные работают.
Автоматического переноса с GetCourse. Модуль спроектирован, не написан.
Что из этого списка ушло за сентябрь 2026. Здесь значились продажи, рассылки, сценарии и вебинары, а следом — приём платежей и возврат денег. Всё это теперь есть и описано: Продажи, Рассылки, Сценарии, Вебинары. Плюс появилась почта школы с подтверждением адреса, встроенный ИИ-агент, касса ЮKassa и возврат денег.
Приложений в App Store и Google Play — не будет. Не «пока нет»: одна установка — одна школа, значит каждой школе понадобилось бы своё приложение со своим названием, то есть сотни публикаций, сотни ревью, аккаунт разработчика и ежегодные платежи на стороне школы. Вместо этого кабинет ученика ставится на домашний экран как PWA, а для Telegram есть отдельная оболочка; обе показывают один и тот же кабинет.
Зрелости. GetCourse работает десять лет; первая установка этого продукта на живой сервер прошла в августе 2026 года и дала девять находок.
Что дальше #
- Что вам понадобится кроме коробки — сервер и внешние сервисы.
- Перенос данных с GetCourse — что переносится и как.
- Установка — требования и порядок.