Vorlesungsverzeichnis Technische Universität Dresden
Was ist das hier?
Diese API erlaubt automatisierte Zugriffe auf die öffentlichen Daten des Vorlesungsverzeichnis der Technische Universität Dresden. Über diese Schnittstelle
lassen sich einfach automatisierte Zugriffe erstellen, die z. B. für selbstentwickelte Software zur Verfügung stehen.
Wie kann ich es benutzen?
Jeder, der Interesse an einem API-Zugang hat, kann uns über die
Kontaktseite erreichen und erhält einen API-Zugangsaccount. Mit diesem Account ist es dann möglich,
http://vvz.phil.tu-dresden.de/api
mit dem Parameter
?auth_code=$AUTH_CODE
aufzurufen.
Wie sind die Daten aufgebaut, die aus diesem API kommen?
Das normale Vorlesungsverzeichnis
Die Daten sind im JSON-Format. Im ersten Element stehen die jeweligen Überschriften, die sich immer
auf einzelne Veranstaltungen beziehen. Durch die Überschriften sind diese Spalten selbsterklärend.
Folgende Parameter können weiterhin hinzugefügt werden:
| Parameter |
Beschreibung |
notitle=1 |
Deaktiviert die Überschriften im ersten Element |
type=Seminar |
Listet je nur Veranstaltungen dieses Types.
|
gebaeude=BZW |
Listet je nur Veranstaltungen in diesem Gebäude. Als Bezeichnung muss die Abkürzung des Gebäudes gewählt werden. Eine Liste der Gebäude gibt es mit dem
Parameter ?auth_code=$AUTH_CODE&gebaeude_liste=1
|
first_name=Holm und last_name=Bräuer |
Listet nur Veranstaltungen dieser Dozenten auf. Beide Parameter müssen immer zusammen vorkommen.
Eine Liste der Dozenten gibt es mit dem Parameter ?auth_code=$AUTH_CODE&dozenten_liste=1
|
datetype=discordian |
Stellt die Datenausgaben auf den diskordianischen Kalendar um. |
datetype=unix |
Stellt die Datenausgaben als Unix-Zeitstempel dar. |
pruefungen=1 und studiengang=$STUDIENGANG |
Listet alle Prüfungsnummern und Prüfungstypen eines Studienganges auf. |
semester=1 |
Listet Veranstaltungen aus dem Semester mit der ID 1 auf (semester=current holt das aktuelle Semester). |
institut=1 |
Listet Veranstaltungen aus dem Institut mit der ID 1 auf. |
Die Daten müssen in der UTF8-Kodierung übergeben werden, werden aber im JSON-Format ASCII-kompatibel maschiert.
Liste aller Gebäude
Mit dem Parameter
?auth_code=$AUTH_CODE&gebaeude_liste=1
wird im JSON-Format eine Liste aller Gebäude zurückgegeben.
Diese besteht je aus dem Gebäudenamen und der Abkürzung.
Liste der Institute
Mit dem Parameter
?auth_code=$AUTH_CODE&institute_liste=1
wird im JSON-Format eine Liste aller Institute (bestehend aus ID und Name) zurückgegeben.
Liste der Semester
Mit dem Parameter
?auth_code=$AUTH_CODE&semester_liste=1
wird im JSON-Format eine Liste aller Semester (bestehend aus ID, Semesterjahr und Semestertyp) zurückgegeben.
Liste aller Studiengänge
Mit dem Parameter
?auth_code=$AUTH_CODE&studiengang_liste=1
wird im JSON-Format eine Liste aller Studiengänge und deren IDs zurückgegeben.
Liste aller Dozenten
Mit dem Parameter
?auth_code=$AUTH_CODE&dozenten_liste=1
wird im JSON-Format eine Liste aller Dozenten zurückgegeben.
Liste aller Veranstaltungstypen
Mit dem Parameter
?auth_code=$AUTH_CODE&veranstaltungstypen=1
wird im JSON-Format eine Liste aller Veranstaltungstypen zurückgegeben.
Was gibt es Neues? Nützliche Endpoints
Alle hier aufgelisteten Endpoints geben strukturierte JSON-Objekte mit klaren Feldnamen zurück und sind für Programmierer deutlich einfacher zu parsen als die Roh-Liste oben.
Stammdaten-Listen
| Parameter | Beschreibung |
raum_liste=1 | Liste aller Räume (ID, Gebäude, Raumnummer, Name, Kapazität, Barrierefreiheit). |
sprachen_liste=1 | Liste der unterstützten Sprachen. |
praesenztyp_liste=1 | Liste der Präsenztypen (Präsenz, Online, Hybrid, …). |
bezug_liste=1 | Liste der Veranstaltungs-Bezüge. |
wochentag_liste=1 | Liste der Wochentage. |
stunden_liste=1 | Liste der Unterrichtsstunden. |
wochenrhythmus_liste=1 | Liste der Wochenrhythmen (wöchentlich, 14-täglich, …). |
titel_liste=1 | Liste der Titel (Prof., Dr., …). |
bereich_liste=1 | Liste der Bereiche. |
fach_liste=1 | Liste der Fächer. |
pruefungstyp_liste=1 | Liste der Prüfungstypen. |
modul_liste=1 | Liste aller Module (mit Studiengang, Bereich, Fach, Semester, Modulbezeichnung). |
pruefungsnummer_liste=1 | Liste aller Prüfungsnummern (mit Modul, Studiengang, Prüfungstyp, Bereich, Status). |
Abfragen / Suchen
| Parameter | Beschreibung |
veranstaltung_details=42 | Alle Details zu einer Veranstaltung (Metadaten, Prüfungsnummern, Einzeltermine) — strukturiertes JSON. |
such_veranstaltung=Algo&limit=10 | Sucht Veranstaltungen nach Name (LIKE), liefert id/name/Semester/Dozent/Typ. |
such_dozent=Bräuer&limit=10 | Sucht Dozenten nach Vor- oder Nachname. |
stundenplan=42&semester=current | Stundenplan eines Dozenten (ID) optional für ein bestimmtes Semester. |
letzte_aenderungen=20 | Die 20 zuletzt geänderten Veranstaltungen (optional mit &letzte_aenderungen_semester=X filtern). |
Analyse & Audit
| Parameter | Beschreibung |
statistiken=1 | Aggregierte Zahlen: Veranstaltungen, Dozenten, Studiengänge, Module, Räume, Prüfungen, Sperrvermerk-Status. |
konflikte=1 | Zeitkonflikte im aktuellen Semester (gleicher Dozent/Wochentag/Stunde für mehrere Veranstaltungen). Optional &konflikte_semester=X . |
unvollstaendig=1 | Veranstaltungen mit fehlenden Pflichtfeldern (Wochentag, Raumwunsch, Prüfungsnummer, Hörerzahl, Hinweis). Optional &unvollstaendig_semester=X . |
Beispielaufruf
http://vvz.phil.tu-dresden.de/api?auth_code=$AUTH_CODE¬itle=1&first_name=Holm&last_name=Bräuer&gebaeude=BZW
Zeigt, ohne dass die Titel in der ersten Zeile sind, die Veranstaltungen von Holm Bräuer im BZW.
Beispiel: strukturierte Veranstaltungsdetails
http://vvz.phil.tu-dresden.de/api?auth_code=$AUTH_CODE&veranstaltung_details=42
Was gibt es für Beschränkungen?
Zwischen zwei Aufrufen der API müssen mindestens 10 Sekunden liegen, um die Datenbank nicht nutzlos zu belasten. Bei übermäßiger Benutzung behalten wir uns
vor, die API-Zugänge ohne Rückmeldung zu kündigen.
Fragen und Feature-Wünsche
Sollten Sie zur Benutzung der API Fragen haben oder benötigen Sie andere Daten, als die API sie gerade zur Verfügung stellt, zögern Sie nicht, uns zu
kontaktieren.