API Calls - avinotec/Stundenplaner.FHE_EAH GitHub Wiki
Fetch Study Programs, Semester and Study Groups
https://stundenplanung.eah-jena.de/api/mobileapp/v1/studentset/list
Response in JSON:
Fetch Timetable
A timetable is determined by its study group (in german called "Set"). Thus, the study group id has to be specified in the API request. Note that this is an internal ID, not the former SPLUS ID.
https://stundenplanung.eah-jena.de/api/mobileapp/v1/studentset/{id}/detail
Response in JSON, collapsed (left) and partionally extended (right):
Fetch Events for My Schedule Composition
For composition of My Schedule, the user can request all timetable events of a whole semester to subscribe them. The semester is specified by its id (called "pos id")
https://stundenplanung.eah-jena.de/api/mobileapp/v1/pos/{posId}
Response in JSON, collapsed (left) and partionally extended (right):
Fetch Canteen
First, the available canteens are fetched to get the canteen IDs. http://app.fh-erfurt.de:8080/fheapp/api/eah/canteens/
Response in JSON:
Second, the menu of a canteen can be fetched. Note that the information is provided by the Hochschule Erfurt by parsing the canteen's website.
http://app.fh-erfurt.de:8080/fheapp/api/eah/canteens/{canteenId}
Response in JSON containing all future menus in a list (s. right) and thus have to be processed and filtered in the app:
Fetch Weather Data from EAH Weather Station
http://app.fh-erfurt.de:8080/fheapp/api/eah/weather
Fetch My Schedule Updates
Events are fetched by module. For each module id, the event sets of the module are fetched via https://stundenplanung.eah-jena.de/api/mobileapp/v1/module/{id}. Data of the event sets are then processed and compared to the local event sets of th subscribed event series' to detect changes.
Frontend
The module IDs are collected from the subscribed event series'.
Backend
In order to detect changes for all app user, all available module IDs are fetched by https://stundenplanung.eah-jena.de/api/mobileapp/v1/module.
To not spend unnecessary ressources, data of the fetched event sets are not compared in detail, only the checksum of the event set's data fetched in https://stundenplanung.eah-jena.de/api/mobileapp/v1/module/{id} is used.
Notes EAH API
Ansprechpartner Carsten: Ansprechpartner EAH-Server (Stand 2022) Katja Morgner-Pohl: Datenbank, Technik hinter dem Stundenplan
Dokumentation Dokumentation und bestehende API Requests