API: Unterschied zwischen den Versionen
Sbiele (Diskussion | Beiträge) |
Sbiele (Diskussion | Beiträge) (→Siehe auch) |
||
(29 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
==Allgemein== | ==Allgemein== | ||
+ | Die API (application programming interface, wörtlich ‚Anwendungsprogrammierschnittstelle‘) ermöglicht es, dass andere Programme lesend (oder ggf. in definierten Ausnahmefällen schreibend) an TraiNex angebunden werden. Diese Schnittstelle zur Programmierung von Anwendungen kann von berechtigten Programmierenden der Hochschule genutzt werden, um Daten in strukturierter Form aus den TraiNex-Datenbanken auszulesen (oder ggf. in definierten Ausnahmefällen zu schreiben). Technische Details zur API werden NICHT hier im Wiki sondern in einem separaten Dokument beschrieben, was nur Kunden ausgehändigt wird.<BR> | ||
− | + | <BR> | |
+ | Folgende API-Aufrufe und Funktionen sind grob möglich<BR> | ||
+ | * Lesen von Stammdaten/Adress-Daten/Semesterangaben | ||
+ | * Lesen von Bewertungen/Noten | ||
+ | * Aktualisieren/Anlegen von Stammdaten | ||
+ | * Voreintragung von Bewertungen/Noten | ||
+ | * Download von vorbereitetem Prüfungstermin-XML | ||
+ | * weitere Funktionen sind in Entwicklung und beschrieben in der separaten Dokumentation | ||
− | + | == Haftung, Datenschutz, ADV == | |
+ | Mit der Übergabe der Zugangsdaten für die Schnittstelle, ist es möglich, lesend auf personenbezogene Daten der TraiNex-Nutzer zuzugreifen. Ebenfalls möglich kann es ein, dass Stamm-Daten für Bewerber oder andere Personen oder Noten geschrieben oder verändert oder geleert werden. | ||
+ | |||
+ | * Die TraiNings-Online GmbH hat Vorkehrungen getroffen, um einen Missbrauch der Schnittstelle zu verhindern. | ||
+ | * Die TraiNings-Online GmbH übernimmt keinerlei Haftung für eine Ausnutzung der Schnittstelle durch unberechtigte oder berechtigte Dritte. | ||
+ | * Die Vereinbarung zur Auftragsdatenvereinbarung sowie das Verfahrens-Verzeichnis der datenschutzrelevanten Prozesse sind seitens des Kunden (und nicht durch die TraiNings-Online GmbH) anzupassen. | ||
+ | * Ohne Zustimmung zum Haftungsausschluss kann die Schnittstelle aus haftungsrechtlichen Gründen nicht in Betrieb genommen werden. | ||
+ | |||
+ | |||
+ | == Aktivierung == | ||
+ | |||
+ | Die Aktivierung der API erfolgt auf Wunsch durch [[TrOn]] und ist eine der [[Zusatzleistungen]]. Zur Aktivierung erhalten Sie Zugriff auf ein Word-Dokument, das die Details der Nutzung sowie möglich Parameter beschreibt. Die Programmierung auf Seiten der Hochschule muss durch eine zuständige Person der Hochschule erfolgen. | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | + | ||
− | + | ==Aufruf der API== | |
− | + | Die API wird aufgerufen über eine externe Seite, die außerhalb des TraiNex-Servers, aber in Deutschland, liegt. | |
− | + | Die Seite kann in z.B. php, html oder ColdFusion geschrieben sein. Details sind beschrieben in der Dokumentation, die anforderbar ist. | |
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
==Sicherheit== | ==Sicherheit== | ||
− | Username und Passwort werden festgelegt durch [[TrOn]] und dem Kunden mitgeteilt. | + | Username und Passwort sowie API-ID werden festgelegt durch [[TrOn]] und dem Kunden mitgeteilt. |
− | Der Aufruf erzeugt Basic-Auth-Credentials. | + | Der Aufruf erzeugt Basic-Auth-Credentials. Jede Nutzung der API wird inkl. IP-Adresse registriert/protokolliert. Die aufrufende IP-Adresse kann definiert sein. Ein Aufruf von außerhalb Deutschlands/Östereichs ist erschwert und nicht automatisch möglich.<BR> |
− | + | Zeiten des Abrufs können festgelegt sein (z.B. nur abends zwischen 18 und 19 Uhr). Details sind beschrieben in der Dokumentation, die anforderbar ist. | |
− | Jede Nutzung der API wird inkl. IP-Adresse registriert. Die aufrufende IP-Adresse kann definiert sein. Ein Aufruf von | ||
− | Zeiten des Abrufs können festgelegt sein (z.B. nur abends zwischen 18 und 19 Uhr). | ||
==Output== | ==Output== | ||
Zeile 47: | Zeile 48: | ||
==Zusatzfelder== | ==Zusatzfelder== | ||
− | Der Output enthält nur die in Datenbanken gespeicherten Felder und keine berechneten Felder. Beispiel: Die Anzahl der Vorsemester ist in TraiNex gespeichert und kann direkt abgerufen werden. Die Anzahl der Fachsemester hingegen wird berechnet aus z.B. Studienstart, | + | Die API liefert Rohdaten in alternativen Formaten. Zu den Rohdaten gehören die Personal-Daten der Nutzenden wie Name, Geburtsdatum, Studiengruppenzugehörigkeit, Matrikelnummer oder Vorsemester. Der Output enthält nur die in Datenbanken gespeicherten Felder und keine berechneten Felder. Beispiel: Die Anzahl der Vorsemester ist in TraiNex gespeichert und kann direkt abgerufen werden. Die Anzahl der Fachsemester hingegen wird berechnet aus z.B. Studienstart, Studiengangssemester und Vorsemester etc. und kann nicht direkt abgerufen werden.<BR> |
− | Ebenfalls nicht direkt abgerufen werden können verbundene Tabellen. Beispiel: Das Modulthema einer Prüfung steht in einer Tabelle und die Noten | + | Ebenfalls nicht direkt abgerufen werden können verbundene Tabellen. Beispiel: Das Modulthema einer Prüfung steht in einer Tabelle und die Noten einer studierenden Person in einer anderen Tabelle. Wenn eine Liste mit "Noten der studierenden Person" über die API abgerufen werden können soll, so ist dies trainexseitig durch [[TrOn]] eine der [[Zusatzleistungen]]. |
+ | |||
+ | == Kundenindividuelle API == | ||
+ | Als Kunden können Sie eigene API (lesend) bauen, wenn Sie eine [[Server-Variante]] wählen, in der die Datenbank kundenseitig betrieben wird. | ||
+ | |||
+ | == Siehe auch == | ||
+ | *[[Schnittstelle]] | ||
+ | *[[Server-Variante]] | ||
+ | |||
+ | ==Letzte funktionale Änderungen== | ||
+ | *März 2023: Integration der [[API]] zu ChatGPT und anderen Open-AI-Sprachmodellen, um z.B. kreative Überschriftenvorschläge oder Anregungen für Titel oder Gliederungen zu erhalten | ||
+ | *Februar 2023: Neues Sonderrecht 98 für "[[API]]-Zusatzfunktionen". | ||
+ | *Dezember 2022: Erstellung einer Dokumentation, die separat von Kunden, die die API nutzen, angefordert werden kann. | ||
+ | *Oktober 2022: [[API]]: Möglichkeit, den datensparsamen Output durch Zusatzbefehle zu erweitern, um Details von Studiengang oder Studierenden im Output zu erhalten | ||
+ | *Oktober 2022: [[API]]: Möglichkeit, Noten von extern in die Noten-Voreintragstabelle in TraiNex einzutragen | ||
+ | *Oktober 2022: [[API]]: Integration des Leistungs-Stands/Einzel-Noten für den Export | ||
+ | *Oktober 2022: [[API]]: Möglichkeit, auf erzeugte [[Noten]]-Termine-json-Datei von extern zuzugreifen | ||
+ | *August 2021: [[API]]: Verbesserung der Anwendungsprogrammierschnittstelle, um Bewerber-Daten auch schreibend in TraiNex einfügen zu können | ||
+ | *Januar 2021: Verbesserung der Anwendungsprogrammierschnittstelle, um TraiNex-Daten automatisch-lesend von anderen berechtigten Anwendungen abfragen und verwenden zu lassen (Beispiel: Matrikelnummer-Namens-Liste) |
Aktuelle Version vom 18. Juli 2024, 06:04 Uhr
Inhaltsverzeichnis
Allgemein
Die API (application programming interface, wörtlich ‚Anwendungsprogrammierschnittstelle‘) ermöglicht es, dass andere Programme lesend (oder ggf. in definierten Ausnahmefällen schreibend) an TraiNex angebunden werden. Diese Schnittstelle zur Programmierung von Anwendungen kann von berechtigten Programmierenden der Hochschule genutzt werden, um Daten in strukturierter Form aus den TraiNex-Datenbanken auszulesen (oder ggf. in definierten Ausnahmefällen zu schreiben). Technische Details zur API werden NICHT hier im Wiki sondern in einem separaten Dokument beschrieben, was nur Kunden ausgehändigt wird.
Folgende API-Aufrufe und Funktionen sind grob möglich
- Lesen von Stammdaten/Adress-Daten/Semesterangaben
- Lesen von Bewertungen/Noten
- Aktualisieren/Anlegen von Stammdaten
- Voreintragung von Bewertungen/Noten
- Download von vorbereitetem Prüfungstermin-XML
- weitere Funktionen sind in Entwicklung und beschrieben in der separaten Dokumentation
Haftung, Datenschutz, ADV
Mit der Übergabe der Zugangsdaten für die Schnittstelle, ist es möglich, lesend auf personenbezogene Daten der TraiNex-Nutzer zuzugreifen. Ebenfalls möglich kann es ein, dass Stamm-Daten für Bewerber oder andere Personen oder Noten geschrieben oder verändert oder geleert werden.
- Die TraiNings-Online GmbH hat Vorkehrungen getroffen, um einen Missbrauch der Schnittstelle zu verhindern.
- Die TraiNings-Online GmbH übernimmt keinerlei Haftung für eine Ausnutzung der Schnittstelle durch unberechtigte oder berechtigte Dritte.
- Die Vereinbarung zur Auftragsdatenvereinbarung sowie das Verfahrens-Verzeichnis der datenschutzrelevanten Prozesse sind seitens des Kunden (und nicht durch die TraiNings-Online GmbH) anzupassen.
- Ohne Zustimmung zum Haftungsausschluss kann die Schnittstelle aus haftungsrechtlichen Gründen nicht in Betrieb genommen werden.
Aktivierung
Die Aktivierung der API erfolgt auf Wunsch durch TrOn und ist eine der Zusatzleistungen. Zur Aktivierung erhalten Sie Zugriff auf ein Word-Dokument, das die Details der Nutzung sowie möglich Parameter beschreibt. Die Programmierung auf Seiten der Hochschule muss durch eine zuständige Person der Hochschule erfolgen.
Aufruf der API
Die API wird aufgerufen über eine externe Seite, die außerhalb des TraiNex-Servers, aber in Deutschland, liegt. Die Seite kann in z.B. php, html oder ColdFusion geschrieben sein. Details sind beschrieben in der Dokumentation, die anforderbar ist.
Sicherheit
Username und Passwort sowie API-ID werden festgelegt durch TrOn und dem Kunden mitgeteilt.
Der Aufruf erzeugt Basic-Auth-Credentials. Jede Nutzung der API wird inkl. IP-Adresse registriert/protokolliert. Die aufrufende IP-Adresse kann definiert sein. Ein Aufruf von außerhalb Deutschlands/Östereichs ist erschwert und nicht automatisch möglich.
Zeiten des Abrufs können festgelegt sein (z.B. nur abends zwischen 18 und 19 Uhr). Details sind beschrieben in der Dokumentation, die anforderbar ist.
Output
Ein Output eines Studierenden im JSON-Format kann wie folgt aussehen.
Ein Output eines Studierenden im CSV-Format kann wie folgt aussehen.
Zusatzfelder
Die API liefert Rohdaten in alternativen Formaten. Zu den Rohdaten gehören die Personal-Daten der Nutzenden wie Name, Geburtsdatum, Studiengruppenzugehörigkeit, Matrikelnummer oder Vorsemester. Der Output enthält nur die in Datenbanken gespeicherten Felder und keine berechneten Felder. Beispiel: Die Anzahl der Vorsemester ist in TraiNex gespeichert und kann direkt abgerufen werden. Die Anzahl der Fachsemester hingegen wird berechnet aus z.B. Studienstart, Studiengangssemester und Vorsemester etc. und kann nicht direkt abgerufen werden.
Ebenfalls nicht direkt abgerufen werden können verbundene Tabellen. Beispiel: Das Modulthema einer Prüfung steht in einer Tabelle und die Noten einer studierenden Person in einer anderen Tabelle. Wenn eine Liste mit "Noten der studierenden Person" über die API abgerufen werden können soll, so ist dies trainexseitig durch TrOn eine der Zusatzleistungen.
Kundenindividuelle API
Als Kunden können Sie eigene API (lesend) bauen, wenn Sie eine Server-Variante wählen, in der die Datenbank kundenseitig betrieben wird.
Siehe auch
Letzte funktionale Änderungen
- März 2023: Integration der API zu ChatGPT und anderen Open-AI-Sprachmodellen, um z.B. kreative Überschriftenvorschläge oder Anregungen für Titel oder Gliederungen zu erhalten
- Februar 2023: Neues Sonderrecht 98 für "API-Zusatzfunktionen".
- Dezember 2022: Erstellung einer Dokumentation, die separat von Kunden, die die API nutzen, angefordert werden kann.
- Oktober 2022: API: Möglichkeit, den datensparsamen Output durch Zusatzbefehle zu erweitern, um Details von Studiengang oder Studierenden im Output zu erhalten
- Oktober 2022: API: Möglichkeit, Noten von extern in die Noten-Voreintragstabelle in TraiNex einzutragen
- Oktober 2022: API: Integration des Leistungs-Stands/Einzel-Noten für den Export
- Oktober 2022: API: Möglichkeit, auf erzeugte Noten-Termine-json-Datei von extern zuzugreifen
- August 2021: API: Verbesserung der Anwendungsprogrammierschnittstelle, um Bewerber-Daten auch schreibend in TraiNex einfügen zu können
- Januar 2021: Verbesserung der Anwendungsprogrammierschnittstelle, um TraiNex-Daten automatisch-lesend von anderen berechtigten Anwendungen abfragen und verwenden zu lassen (Beispiel: Matrikelnummer-Namens-Liste)