Skip to main content
За пять шагов вы сделаете первый запрос: получите токен, настроите заголовки, найдёте или создадите пользователя и разберёте ответ.
1

Получите доступы

Владелец школы может создать API-ключ самостоятельно: раздел Управление → Школа → Для разработчиков → API-ключи (/manage/school/api-keys) — там создаётся сервисный пользователь (API-клиент) и выпускается токен. Если удобнее, напишите в поддержку — поможем с настройкой.Для запросов понадобятся три значения:
  • Authorization — API-токен (используется как Bearer <TOKEN>; показывается целиком только в момент создания или ротации — сохраните сразу);
  • Seller-Id — числовой ID продавца (аккаунта, которому принадлежит школа);
  • School-Id — числовой ID школы.
Оба ID есть на той же странице API-ключи в карточке «Данные для интеграции → Идентификаторы» — по клику копируется строка вида 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 — это не ошибка.
На страницах методов в примерах cURL заголовки записаны как {{ sellerId }} и {{ schoolId }} — это переменные Postman-коллекции. В терминале подставьте вместо них числовые ID или $SELLER_ID и $SCHOOL_ID.
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