Справочник API
Команда курса и успеваемость
Приглашения, роли внутри курса, список учащихся, журнал, проверка работ, аналитика и объявления.
Маршруты раздела
| Метод | Маршрут | Доступ | Назначение |
|---|---|---|---|
GET |
/api/dashboard/instructor |
Преподаватель | Получить сводку кабинета преподавателя. |
GET |
/api/instructor/courses/[id]/team |
Управление командой | Получить участников команды и приглашения. |
POST |
/api/instructor/courses/[id]/team |
Управление командой | Пригласить участника команды по почте или ссылке. |
GET |
/api/instructor/courses/[id]/students |
Чтение учащихся | Получить учащихся и ожидающие приглашения. |
POST |
/api/instructor/courses/[id]/students |
Управление доступом | Выдать доступ учащемуся по почте или ссылке. |
GET |
/api/instructor/courses/[id]/gradebook |
Чтение журнала | Получить матрицу прогресса и решений. |
GET |
/api/instructor/courses/[id]/comments |
Редактирование курса | Получить обсуждения всего курса. |
GET |
/api/instructor/review-queue |
Проверка работ | Получить очередь работ с ручной проверкой. |
POST |
/api/instructor/reviews |
Проверка работ | Опубликовать рецензию, статус и балл. |
GET |
/api/instructor/steps/[id]/submissions |
Проверка работ | Получить попытки по одному шагу. |
GET |
/api/instructor/courses/[id]/analytics |
Чтение аналитики | Получить учебные показатели курса. |
GET |
/api/instructor/courses/[id]/revenue |
Чтение доходов | Получить финансовую сводку курса. |
GET |
/api/instructor/courses/[id]/promos |
Управление продажами | Получить промокоды курса. |
POST |
/api/instructor/courses/[id]/promos |
Управление продажами | Создать промокод. |
PUT |
/api/instructor/courses/[id]/promos/[promoId] |
Управление продажами | Изменить промокод. |
DELETE |
/api/instructor/courses/[id]/promos/[promoId] |
Управление продажами | Удалить промокод. |
GET |
/api/instructor/courses/[id]/marketing-links |
Управление продажами | Получить рекламные ссылки. |
POST |
/api/instructor/courses/[id]/marketing-links |
Управление продажами | Создать рекламную ссылку. |
PATCH |
/api/instructor/courses/[id]/marketing-links/[linkId] |
Управление продажами | Включить или выключить ссылку. |
DELETE |
/api/instructor/courses/[id]/marketing-links/[linkId] |
Управление продажами | Удалить рекламную ссылку. |
GET |
/api/instructor/courses/[id]/announcements |
Редактирование курса | Получить объявления курса. |
POST |
/api/instructor/courses/[id]/announcements |
Редактирование курса | Создать черновик объявления. |
PUT |
/api/instructor/courses/[id]/announcements/[announcementId] |
Редактирование курса | Изменить черновик объявления. |
DELETE |
/api/instructor/courses/[id]/announcements/[announcementId] |
Редактирование курса | Удалить черновик объявления. |
POST |
/api/instructor/courses/[id]/announcements/[announcementId]/publish |
Редактирование курса | Опубликовать объявление в приложении и, если включено, отправить email. |
POST |
/api/instructor/courses/[id]/announcements/audience |
Редактирование курса | Рассчитать аудиторию, email-доступность и персональные исключения. |
POST |
/api/instructor/courses/[id]/announcements/test |
Редактирование курса | Отправить тестовое письмо на подтверждённый email преподавателя. |
Права внутри курса
Права задаются участием в конкретном курсе, а не общей ролью на всей платформе. Основные роли команды:
OWNER— владелец;MANAGER— управление командой и доступами;EDITOR— редактирование материалов и комментариев;MENTOR— сопровождение учащихся;REVIEWER— проверка работ;ANALYST— чтение журнала и показателей.
Не показывайте кнопку действия, пока не проверили соответствующее право на сервере. Клиентское скрытие элемента не заменяет проверку API.
Приглашение учащегося
Адресное приглашение связывается с электронной почтой. Одноразовая ссылка не содержит адреса и закрывается после первого успешного принятия. Пример адресного запроса:
{
"email": "student@example.com"
}
Если учётная запись уже существует, доступ появляется сразу. Иначе создаётся приглашение.
Журнал
GET /api/instructor/courses/[id]/gradebook возвращает учащихся, уроки, шаги и агрегированные состояния попыток. Используйте серверные фильтры курса и урока, а на клиенте не пытайтесь восстанавливать правильность по тексту ответа.
Рецензирование
Очередь показывает работы REVIEW, ожидающие ручной проверки. Публикация рецензии идемпотентно отправляет учащемуся уведомление. Скрытые эталонные ответы остаются только в преподавательском интерфейсе.
Аналитика
Учебная аналитика и доходы разделены. Первая отвечает на вопросы об активности, сложных заданиях и прогрессе; вторая — об успешных покупках, возвратах и динамике выручки.
Новости и рассылки курса
Новость всегда публикуется как уведомление внутри Latorn. Поле sendEmail дополнительно включает email-канал для учащихся с подтверждённой почтой и действующим согласием на рассылки. В excludedUserIds можно передать учащихся, которых нужно исключить из обоих каналов.
Перед сохранением или публикацией вызовите POST /api/instructor/courses/[id]/announcements/audience. Он принимает аудиторию, строку поиска и исключения, а возвращает исходный размер сегмента, число исключённых, итоговое число получателей, email-доступную часть и безопасный список для предпросмотра. Поиск меняет только список предпросмотра, но не сам сегмент.
Тестовое письмо отправляется текущему преподавателю и не публикует новость. При публикации API возвращает отдельные счётчики in-app уведомлений, доступных и поставленных в очередь email, а также идентификатор фоновой кампании. Массовая отправка ставится в очередь и выполняется возобновляемым worker-процессом техническими пачками; после его работы повторный GET показывает фактические успешные и неуспешные доставки.
