Адкрытае API Timora
Падключыце расклад ВНУ да свайго бота, сайта або праграмы. Асабістыя даныя студэнта — профіль, адзнакі, дэдлайны і даведкі — толькі з яго згоды, праз «Увайсці праз Timora». Доступ толькі на чытанне.
Што можна атрымаць
Даныя, якія аддае API
Агульнадаступныя
Дастаткова токена праекта. Тыя ж даныя, што бачныя на сайце без уваходу.
institutionsВНУ і каледжы: назва, горад, што даступнаgroupsнавучальныя групы ВНУscheduleпары групы па днях — да 31 дня за запытteachersвыкладчыкі (СибГУТИ)examsэкзамены, залікі і кансультацыі
Са згоды студэнта
Студэнт сам вырашае, да якіх раздзелаў адкрыць доступ, і можа адклікаць яго ў любы момант.
profileімя, група і ВНУscheduleрасклад групы студэнтаgradesадзнакі з ЭІАСdeadlinesнеададзеныя заданні і тэсты з курсаў ЭІАСcertificatesзаяўкі на даведкі і іх статусы
Як атрымаць доступ
Чатыры крокі да першага запыту
Раскажыце пра праект: што ён робіць, якія даныя патрэбны, дзе будзе код. Калі на GitHub — дашліце спасылку.
Згадка Timora, сааўтарства на GitHub, патрабаванні бяспекі — ніжэй на гэтай старонцы.
Токен tmr_… выдаецца асабіста і паказваецца адзін раз. У Timora захоўваецца толькі яго адбітак — страцілі, выдадзім новы.
Адрас API — https://mytimora.ru/api/v1, загаловак Authorization: Bearer tmr_….
Увайсці праз Timora
Асабістыя даныя — толькі са згоды
Студэнт пацвярджае ўваход там, дзе ўжо ўвайшоў у Timora любым спосабам: у праграме для iOS і Android, у боце Telegram або ў міні-праграмах Telegram і УКантакце. Ваш праект не бачыць ні пароляў, ні даных уваходу.
Правілы
Патрабаванні да праектаў
Атрымліваючы токен, вы прымаеце гэтыя ўмовы. Пры парушэнні токен адклікаецца без папярэджання — разам з доступам усіх студэнтаў да вашага праекта.
Згадка Timora
- У інтэрфейсе праекта — «Працуе на Timora» са спасылкай на mytimora.ru: на экране «Пра праграму», у падвале сайта або ў апісанні бота.
- У README і апісанні — што праект выкарыстоўвае адкрытае API Timora.
- Назву, лагатып і афармленне Timora нельга выдаваць за свае. Праект не павінен выглядаць як афіцыйны кліент Timora.
GitHub
- Калі код праекта на GitHub (публічны або прыватны рэпазіторый) — дадайце @y0rence у сааўтары: Settings → Collaborators → Add people.
- Укажыце @y0rence у раздзеле ўдзельнікаў (Contributors) у README.
Бяспека токена
- Токен праекта — сакрэт. Ён жыве толькі на вашым серверы: у зменных асяроддзя або сховішчы сакрэтаў.
- Не ў кодзе, не ў git, не ў мабільнай праграме і не ў JavaScript браўзера або міні-праграмы.
- Толькі HTTPS з праверкай сертыфіката. Уцёк токен — адразу напішыце ў @timora_support: стары адклічам, выдадзім новы.
Даныя студэнтаў
- Не пытайцеся ў студэнтаў паролі ЭІАС і коды ўваходу Timora — толькі «Увайсці праз Timora».
- Запытвайце толькі патрэбныя раздзелы: студэнт бачыць іх на экране згоды.
- Токены студэнтаў захоўвайце зашыфраванымі. Студэнт выйшаў — выклічце
POST /me/disconnectі выдаліце токен. - Выкарыстоўвайце даныя толькі для функцыі, дзеля якой дадзены доступ. Не перадавайце і не прадавайце, не выкарыстоўвайце для рэкламы і навучання мадэляў, выдаляйце па просьбе студэнта. Выконвайце 152-ФЗ.
- Пакажыце студэнту, што ён увайшоў праз Timora, і дайце кнопку выхаду.
Ліміты і кэш
- Кэшуйце агульнадаступныя даныя: расклад групы — не часцей за раз у 10–15 хвілін.
- Адказ 429 — пачакайце столькі секунд, колькі ўказана ў загалоўку
Retry-After.
Забаронена
- Абыходзіць ліміты: некалькі токенаў, змена адрасоў.
- Масава выгружаць даныя.
- Перапрадаваць доступ да API.
Даведнік
Для тых, у каго ўжо ёсць токен
Адрас — https://mytimora.ru/api/v1. Адказы ў JSON, даты ў адказах — дд.мм.гггг, у параметрах — гггг-мм-дд або дд.мм.гггг. Памылкі — {"detail": "тэкст"}.
Загалоўкі
| Загаловак | Калі |
|---|---|
Authorization: Bearer tmr_… | заўсёды — токен праекта |
X-Timora-User: tmu_… | для /me/… — токен студэнта з «Увайсці праз Timora» |
Агульнадаступныя даныя
| Метад | Што аддае |
|---|---|
GET /institutions | ВНУ: id, name, short, city, features |
GET /groups?institution=nstu | групы ВНУ |
GET /schedule?institution=nstu&group=ПМИ-31&from=2026-10-05&to=2026-10-11 | пары па днях, да 31 дня за запыт |
GET /teachers?institution=sibsutis | выкладчыкі (СибГУТИ) |
GET /exams?institution=sibsutis&group=ИП-514 | экзамены, залікі, кансультацыі |
«Увайсці праз Timora»
POST /connect/start з целам {"scopes": ["profile", "schedule", "grades"]} → deviceCode, userCode (выгляду ABCD-EFGH), expiresIn (600 с), interval (3 с) і links: telegram, vk, app — спасылкі, па якіх студэнт пацвердзіць уваход.
Пакажыце студэнту код і кнопкі «Пацвердзіць у Telegram», «у праграме Timora». Раз у interval секунд выклікайце POST /connect/poll з {"deviceCode": "tmc_…"}: адказ — pending, slow_down, denied, expired або approved з userToken (tmu_…), які выдаецца адзін раз.
Без scopes запытваюцца profile і schedule.
Даныя студэнта
Патрэбны абодва загалоўкі. Доступ — толькі да раздзелаў, якія дазволіў студэнт, інакш 403.
| Метад | Раздзел | Што аддае |
|---|---|---|
GET /me | profile | id (свой для кожнага праекта), імя, прозвішча, група, ВНУ, спосабы ўваходу |
GET /me/schedule?from=…&to=… | schedule | расклад групы студэнта |
GET /me/grades | grades | адзнакі (СибГУТИ, калі студэнт захоўвае пароль ЭІАС у Timora) |
GET /me/deadlines | deadlines | неададзеныя заданні і тэсты з курсаў ЭІАС |
GET /me/certificates | certificates | заяўкі на даведкі і іх статусы |
POST /me/disconnect | — | выхад: доступ праекта да акаўнта студэнта спыняецца |
401 на /me/… — студэнт адклікаў доступ (у профілі Timora або камандай /apps у боце) або токен праекта адкліканы. 409 — у студэнта няма патрэбных даных: не выбрана група або не падключаны ЭІАС.
Ліміты
- 300 запытаў у хвіліну на токен для агульнадаступных даных, на кожнага студэнта — асобна;
- адзнакі — 30, дэдлайны — 40, даведкі — 20 запытаў у гадзіну на студэнта: гэта запыты да сайта ВНУ;
connect/start— 600 у гадзіну на праект.
Прыклад запыту
curl -s https://mytimora.ru/api/v1/schedule \ -H "Authorization: Bearer $TIMORA_TOKEN" \ --get --data-urlencode "institution=nstu" --data-urlencode "group=ПМИ-31" \ --data-urlencode "from=2026-10-05" --data-urlencode "to=2026-10-11"