Учиме

§ 11 · Возможности Учиме

Приложения ученика, родителя и учителя на открытом API

У каждой роли свой главный экран — его собирает один запрос. Всё, что умеет кабинет, доступно по REST с теми же правами: вход по коду или почте, токен на устройство, спецификация OpenAPI 3.1. А родителям и сотрудникам пишет бот школы в Telegram.

Попробовать 7 днейБесплатно, без карты

Привет, Аня!

Опыт

1 240

Серия

6 дн.

Домашка

Memory · Colorsдо чт
Лист «Раскрась»до пт
Spelling Beeготово

Приложение ученика

GET /api/v1/student/home

Authorization: Bearer 4IaU…

{
  "stats": {
    "xp": 1240,
    "streak": 6
  },
  "homework": {
    "todo": [{
      "title":
        "Memory · Colors",
      "status": "assigned",
      "game": {
        "kind": "gamehub" }
    }, …],
    "done": […]
  },
  "unread": { "chat": 0 }
}

1.Вход по коду, токен на устройство

Ученик и родитель входят кодом из школы — без почты и пароля, сотрудники — почтой. В ответ приходит токен: приложение хранит его в защищённом хранилище телефона и отправляет с каждым запросом.

  • Токен живёт 7 дней и продлевается, пока им пользуются
  • GET /me — роль, школа с часовым поясом, цвет и логотип школы для перекраски приложения, разрешённые разделы
  • Список устройств и «Выйти» на любом из них. Новый код ученика закрывает все его сессии
  • 30 неудачных попыток входа за 15 минут с одного адреса — дальше 429

Уже сейчас кабинет открывается в браузере телефона и ставится на экран как приложение. Нативные приложения собираются на этом же API — им не нужно ничего, чего нет у кабинета.

Мои устройства

GET /api/v1/auth/sessions
  • iPhone · приложениеэто устройство · сейчасcurrent: true
  • Android · приложениеИжевск · вчера, 19:40Выйти
  • Chrome · WindowsИжевск · 12 октябряВыйти

Ошибка — { error, code }: текст для человека и ключ для кода

401unauthorizedэкран входа
402—тариф или кредиты
403forbiddenроль или модуль выключен
403suspendedэкран блокировки
429—много попыток входа

2.Те же права, что в кабинете

Ученик видит только своё, родитель — привязанных детей, учитель — свои группы, админ — всю школу. Школа выключила модуль — его маршрут отвечает 403, а блок на главном экране учителя приходит пустым: приложение просто его не рисует.

У приложений свои маршруты: вход, главные экраны, уведомления, устройства. Любой другой маршрут кабинета тоже доступен под /api/v1 — с теми же проверками.

/api/v1…УченикРодительУчитель, админ
/student/home✓——
/parent/home—✓—
/teacher/home——✓
GET /assignmentsсвои—своих учеников
POST /assignments/{id}/submitсвоё——
POST /assignments/{id}/check——✓
/chat/student✓——
/chat/threads—✓✓
/schedule✓✓—
/materials, /files/{key}✓✓✓
POST /assistant/chat (SSE)——✓

3.OpenAPI 3.1 и Пятёрка по SSE

uchime.ru/api/docs

GET/api/v1/parent/home

Главный экран родителя: по каждому ребёнку прогресс, домашка, комментарии учителя, посещаемость за 30 дней, письма школы и чат.

Роли

parent

Ответ 200

children[]
  progress     { overallPct, themes }
  homework     { counts, todo, recent }
  attendance   за 30 дней
  letters[]    { title, sentAt, readAt }
unread         { notifications, chat, letters }

Интерактивная документация — на /api/docs, спецификация — в /api/openapi.json. Она собирается из самих маршрутов: путь, методы, роли и модуль. Группы «App · …» — стабильный контракт для приложений.

Приложение учителя говорит с Пятёркой потоком: шаги, текст, карточки действий и готовые файлы приходят по мере работы. Связь оборвалась — ответ всё равно допишется и сохранится.

POST /api/v1/assistant/chat · text/event-stream

event: thread · { "id": "th_8k…" }

event: step · { "label": "Ищу группу «A2»" }

event: text · { "delta": "В группе A2 " }

event: text · { "delta": "четыре ученика." }

event: done · { "credits": 412, "suggestions": [ … ] }

: ping — каждые 15 секунд

Открыть документацию API →

4.Уведомления, push-устройства и версия

Уведомления школы
Новые сверху, с курсорной пагинацией. Отметить прочитанными можно по одному или все сразу; ссылка уведомления подсказывает приложению, какой экран открыть.
Push-устройства
На каждом старте приложение регистрирует устройство: iOS, Android или веб, push-токен и версию. Сама рассылка push пока не включена — токены собираются заранее.
Версия приложения
Сервер отвечает, есть ли обновление и обязательно ли оно. Если обязательно — приложение показывает экран «Обновите приложение».
POST /api/v1/devices
{ "platform": "ios", "pushToken": "…",
  "appVersion": "1.0.0", "deviceName": "iPhone 15" }

GET /api/v1/app/version?platform=ios&version=1.0.0

Учиме

Обновите приложение

Эта версия больше не поддерживается

latest: "1.2.0"

minSupported: "1.1.0"

updateRequired: true

Обновить

Ответ /app/version: обновление обязательно

5.Бот школы в Telegram

Родителям

  • Учитель берёт ссылки-приглашения на свою группу в «Мой Telegram → Родители»
  • Ссылка одноразовая и живёт 30 дней — переслать её дальше не выйдет
  • «Прогресс ребёнка» — последняя диагностика; документы и сообщения учителя приходят сюда же

Сотрудникам

  • Привязка шестизначным кодом из кабинета, код живёт 30 минут
  • Пятёрка в личном чате: голосовые, файлы, карточки с кнопками
  • «Что сдать», дни рождения и пакеты от коллег — если школа включила бота
Б

Бот школы

Telegram · для Марии Ивановой

по ссылке-приглашению от учителя

/start

Аккаунт подтверждён.

Родитель: Мария Иванова

Ученик: Аня Иванова

Прогресс ребёнка

Отчёт об успеваемости

Аня Иванова

Последняя диагностика: 14.10.2026

Результат: 41/50 (82%)

Тип: промежуточная

PDFИтоги недели — Группа A2.pdfот Ольги Учитель
Ч

Бот школы · Пятёрка

Telegram · привязан к Ольге

0:04

Вы сказали: «Сделай итоги недели для A2 и пришли PDF»

Готово: итоги недели, Группа A2, 12–17 октября. Посещаемость 3 из 4, темы и слова — из журнала.

PDFИтоги недели — Группа A2.pdf2 страницы
0:06
Отправить родителямСделать домашку

Другие возможности

Попробуйте со своей школой

7 дней бесплатно, без карты. Импорт из вашей CRM или таблицы — за один вечер.

Попробовать 7 дней