1
Получите доступы
Владелец школы может создать API-ключ самостоятельно: раздел Управление → Школа → Для разработчиков → API-ключи
(
/manage/school/api-keys) — там создаётся сервисный пользователь (API-клиент) и выпускается токен.
Если удобнее, напишите в поддержку — поможем с настройкой.Для запросов понадобятся три значения:Authorization— API-токен (используется какBearer <TOKEN>; показывается целиком только в момент создания или ротации — сохраните сразу);Seller-Id— числовой ID продавца (аккаунта, которому принадлежит школа);School-Id— числовой ID школы.
Seller-Id: 123; School-Id: 456.Сохраните значения в переменные окружения — их используют примеры ниже:2
Подготовьте заголовки
Все запросы выполняются с тремя обязательными заголовками:
Заголовки запроса
string
обязательно
API-токен сервисного пользователя в формате
Bearer YOUR_TOKEN. Токен выпускает владелец школы в кабинете:
Управление → Школа → Для разработчиков → API-ключи — подробнее в разделе «Аутентификация».integer
обязательно
Числовой ID продавца — аккаунта, которому принадлежит школа. Скопируйте его на странице API-ключи в
карточке «Данные для интеграции → Идентификаторы». По этому ID проверяются права токена.
integer
обязательно
Числовой ID школы, берётся там же, где
Seller-Id. Значение должно совпадать со школой продавца — иначе
вернётся ошибка 400 с cause: "ForbiddenSchoolMismatch".3
Сделайте первый запрос — найдите пользователя
Проверьте доступ безопасным методом чтения —
user/find:extId — ваш собственный идентификатор пользователя (например, ID из CRM): строка до 50 символов без / и
пробелов, уникальная в пределах школы. Если пользователь не найден, метод вернёт 200 и payload.user: null —
это не ошибка.4
Создайте пользователя
Если пользователя ещё нет — создайте его методом
user/create.
Логин и пароль будут отправлены пользователю автоматически, если есть канал доставки: email, phone (при
подключённом SMS-провайдере) или tgId — подробности на странице метода.cURL
5
Разберите ответ
Любой ответ обёрнут в Здесь
{ success, code, payload }. Проверяйте success/code, а при ошибке —
поле cause:Успех
Ошибка
EmailIsBusy означает, что email уже занят другим пользователем школы. Обычно в этом случае ищут
существующего пользователя через user/find?login=<email> или используют
user/upsert, который создаёт или обновляет пользователя за один вызов.Подробно о заголовках, формате ответа, ошибках, rate-limit и пагинации — на странице
«Работа с API».Что дальше
Ключевые понятия
Как связаны продавец, школа, курсы, продукты и доступы.
Работа с API
Заголовки, формат ответа и ошибок, rate-limit, пагинация.
Вебхуки
Получайте события платформы в свои сервисы.
Объекты API
Полные структуры сущностей по zod-схемам.
Обновлено: 2026-09-25 13:43 UTC