Этот API предоставляет возможность генерировать расписание в формате JSON или iCalendar (ICS), используя данные, предоставляемые системой КИС ВГЛТУ.
Зачем?
- Потому что можно не ждать загрузки сайта, а посмотреть на виджет в телефоне.
- Кешируется, и если интернета нету, то последнее известное расписание будет у вас в телефоне без него.
- Тортик это ложь.
Как этим пользоваться?
Все начинается с того на какой платформе вы хотите использовать мое поделие
- Android c использованием Google Календаря
- Android с внешним приложением (ICS-подписка)
- Samsung (через встроенное приложение Календарь)
- iPhone/iOS
- iMac/MacBook - macOS
Основные маршруты
GUI
Для удобной генерации ответов с API доступен графический интерфейс по адресу api.durka.su/gui. Интерфейс позволяет выбирать параметры запроса, такие как группа, формат, дата, подгруппа и другие, а также генерировать ссылки для получения расписания.
Проект находится на GitHub
'GET /gen'
Генерация расписания для указанной группы в формате JSON или ICS.
Параметры запроса:
- 'group' (обязательный): Название группы.
- 'type' (обязательный): Формат ответа. Возможные значения:
- 'json': Возвращает расписание в формате JSON.
- 'ics': Возвращает расписание в формате ICS для одного дня.
- 'ics-week': Возвращает расписание в формате ICS на неделю.
- 'date' (опциональный): Дата в формате 'YYYY-MM-DD'. Если не указана, используется текущая дата.
- 'tomorrow' (опциональный): Если установлено в 'true', используется завтрашняя дата.
- 'subgroup' (опциональный): Подгруппа (если применимо).
Пример запроса:
GET /gen?group=ИС2-244-ОБ&type=json&date=2023-10-01 Получаем расписание групыы 'ИС2-244-ОБ' в виде json на неделю, начиная с даты '2023-10-01' Формат даты всегда YYYY-MM-DD через чёрточки, без пробелов.
Пример ответа (JSON):
[ { "time": "10:00-11:30", "name": "Математика", "type": "Лекция", "teacher": "Иванов И.И.", "classroom": "Ауд. 101", "subgroup": null } ]
Пример ответа (ICS):
Файл '.ics' с событиями, соответствующими расписанию.
Особенности
- Поддержка временной зоны 'Europe/Moscow' через 'TZID'.
- Возможность генерации расписания на один день или на неделю.
- Фильтрация занятий по наличию времени ('time').
- Удобный экспорт расписания в формате iCalendar для интеграции с календарями.
'GET /gen-teach'
Генерация расписания для указанного преподавателя в формате JSON или ICS.
Параметры запроса:
- 'teacher' (обязательный): Имя препода в формате с /?Teachers напрмиер - (Павлов А. Ю.) .
- 'type' (обязательный): Формат ответа. Возможные значения:
- 'json': Возвращает расписание в формате JSON.
- 'json-week Возвращает расписание в формате JSON на неделю.
- 'ics': Возвращает расписание в формате ICS для одного дня.
- 'ics-week': Возвращает расписание в формате ICS на неделю.
- 'date' (опциональный): Дата в формате 'YYYY-MM-DD'. Если не указана, используется текущая дата. Указывает С какой даты вернется расписание.
- 'tomorrow' (опциональный): Если установлено в 'true', расписание вернется начиная с завтрашней даты по МСК.
Пример запроса:
GET /gen_teach?teacher=Павлов А. Ю.&type=json-week Получаем расписание преподователя Павлов А. Ю. ,на неделю, в виде json.
Пример ответа (JSON):
{ "2025-08-19": { "date": "19 мая 2025", "dayOfWeek": "вторник", "lessons": [ { "status": "Нет пар" } ] } }