# StattBuchung Hilfezentrum : Technische Dokumentation API

Created by Thomas Mack, last modified by Benedikt Wismans on Sep 21, 2017

Diese Dokumentation richtet sich an Programmierer, die eigene Anwendungen bauen wollen und dabei auf Daten und Funktionen des Applicationservers von StattBuchungWeb über eine der definierten APIs zugreifen wollen.

API: Application programming interface, auf Deutsch Schnittstelle für die Programmierung von Anwendungssystemen

Der Applicationserver von StattBuchungWeb bietet 2 APIs an: Eine für den Zugriff authorisierter Clients, kurz PrivateAPI genannt, und eine öffentlich, unauthorisiert aufrufbare Variante, kurz PublicAPI genannt.

Über die privateAPI werden diejenigen Clients bedient, die in den Büros der Stattreisenanbieter und durch die freien Mitarbeiter genutzt werden. Die Nutzung dieser API ist sessionorientiert: Anmelden / API-Aufrufe / Abmelden.

Ein voll funktionsfähiges Beispiel in Form eines Java-Programms, das den Veranstaltungskalender über die private-API ausliest ist verfügbar. Dort verwendete Basisklassen sind ebenfalls dokumentiert.

Eine Implementierung in PHP unter Verwendung der CURL-Bibliothek.

Die publicAPI stellt dagegen alle öffentlich zugänglichen Informationen des Stattreisenanbieters zur Verfügung. Hier ist insbesondere das aktuelle Programm in Listen- oder Kalenderform zu nennen. Diese API kann sowohl von den Stattreiseanbietern selber genutzt werdne, um aktuelle Daten in ihren eigenen Webauftritt einzubinden, als auch von Dritten, z.B. eigenständige Vorverkaufsstellen.

Folgende Standards gelten für beide APIs:

- Der Aufruf erfolgt ausschließlich über https. Ein Zugriff auf Ressourcen mit http ist nicht möglich.
- Die Payload im Postbody sowie alle Rückgabewerte sind immer im JSON-Format.
- Zeichenkodierung ist immer UTF-8
- Datum, Zeit und Zeitstempel werden im JSON immer gemäß ISO 8601 formatiert. Die Angabe der Zeitzone ist optional, wird im Allgemeinen aber nicht genutzt