Timora ашық API
ЖОО кестесін өз ботыңызға, сайтыңызға немесе қолданбаңызға қосыңыз. Студенттің жеке деректері — профиль, бағалар, дедлайндар және анықтамалар — тек оның келісімімен, «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-ны атап өту
- Жоба интерфейсінде — mytimora.ru сілтемесімен «Timora негізінде жұмыс істейді»: «Қолданба туралы» экранында, сайттың төменгі жағында немесе бот сипаттамасында.
- README мен сипаттамада — жоба Timora ашық API-ін пайдаланатыны.
- Timora атауын, логотипі мен безендіруін өз атыңыздан ұсынуға болмайды. Жоба Timora-ның ресми клиенті сияқты көрінбеуі керек.
GitHub
- Жоба коды GitHub-та болса (ашық немесе жабық репозиторий) — @y0rence бірлескен автор ретінде қосыңыз: Settings → Collaborators → Add people.
- README-дегі қатысушылар (Contributors) бөлімінде @y0rence көрсетіңіз.
Токен қауіпсіздігі
- Жоба токені — құпия. Ол тек сіздің серверіңізде болады: орта айнымалыларында немесе құпиялар қоймасында.
- Кодта емес, 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 секунд сайын {"deviceCode": "tmc_…"} денесімен POST /connect/poll шақырыңыз: жауап — pending, slow_down, denied, expired немесе бір рет берілетін userToken (tmu_…) бар approved.
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 | — | шығу: жобаның студент аккаунтына рұқсаты тоқтайды |
/me/… бойынша 401 — студент рұқсатты қайтарып алды (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"