Enterprise API: ключ и авторизация
Как получить ключ школы, куда слать запросы и чем отличаются два уровня доступа.
Enterprise API нужен, чтобы ваш сайт, CRM или бот работали с 1Study напрямую: выдавали ученикам доступ к курсам, получали список курсов, показывали ученику его прогресс. Всё, что доступно по ключу, ограничено вашей школой — чужие школы через него не видны.
Как получить ключ
Ключ школы выдаёт команда 1Study: напишите в поддержку, и мы пришлём его ответственному за интеграцию. Кнопки самостоятельной генерации в кабинете сейчас нет. Ключ начинается с ent_ и не меняется, пока вы не попросите его заменить.
Адрес API
Базовый адрес: https://api.1app.kz. Тот же API отвечает и на домене вашей школы, например https://вашашкола.one — можно использовать любой из них.
Два уровня доступа
- Только ключ школы — заголовок X-API-Key. Этого достаточно для действий от имени школы: выдать доступ к курсу, получить список курсов, найти ученика по телефону.
- Ключ школы плюс токен ученика — заголовки X-API-Key и Authorization: Bearer. Нужен там, где данные принадлежат конкретному ученику: его записи, уроки, задания, тесты, уведомления.
Как получить токен ученика
- 1По паролюPOST /api/enterprise/v2/auth/login, в теле phone и password.
- 2По коду из СМСPOST /api/enterprise/v2/auth/send-otp с телефоном, затем POST /api/enterprise/v2/auth/verify с телефоном и кодом.
Если ученик забыл пароль
В приложении на экране входа есть «Забыли пароль»: ученик вводит номер, получает код и задаёт новый пароль. Отдельного метода сброса в Enterprise API нет, и это осознанно: пароль меняет только сам ученик, подтвердив номер кодом.
Если нужно сделать такую же форму у себя на сайте, со своего сервера можно вызвать публичные методы: POST /api/auth/send-otp с номером, затем POST /api/auth/verify-reset-otp с номером и кодом, затем POST /api/auth/reset-password с номером и новым паролем. Ключ школы там не нужен, но и из браузера напрямую они не вызываются, только с вашего сервера.
Пример запроса
curl -X GET "https://api.1app.kz/api/enterprise/v2/lms/courses" \
-H "X-API-Key: ent_ваш_ключ"Ошибки
- 401 UNAUTHORIZED — ключ не передан, неверен или не начинается с ent_.
- 400 VALIDATION_ERROR — не хватает поля в теле запроса или неверный формат.
- 404 NOT_FOUND — объект не найден или принадлежит другой школе.
- 429 — слишком часто, ограничение стоит на методах входа ученика.