Logo, Link zur Startseite

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

ParameterBeschreibung
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

ParameterBeschreibung
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

ParameterBeschreibung
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&notitle=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.