REST-API
| REST-API | |
|---|---|
| Zustandslose API, die Infos rund um den Hickerspace bereitstellt. | |
| Status | Läuft |
| OrganisatorIn | Basti |
| InteressentInnen | |
| Version | 0.51 |
| Download:
Download (extern) | |
Die Hicker-REST-API stellt einige Informationen über Wiki, Multi-User-Chat, Raum, Mate-O-Meter und Ampel zur Verfügung. Außerdem können Nachrichten per Audio-Durchsage und LED-Ticker wiedergegeben werden. Sie ist in Python (mit Flask) geschrieben und läuft auf einem gunicorn-Server.
Das Ausgabeformat ist momentan auf JSON beschränkt. Die schreibenden Methoden benötigen API-User und API-Key zur Authentifizierung (Nachricht an Basti).
Inhaltsverzeichnis |
GET /api/info/ bzw. /api/room_extended/
Stellt allgemeine Informationen (inkl. Raumstatus) zur Verfügung. API Version 0.12. Dokumentation hier und hier.
GET /api/room/
Gibt den aktuellen Raumstatus und den Zeitpunkt der letzten Änderung zurück.
| Rückgabewerte: | Name | Typ | Beschreibung |
| roomStatus | string | Raumstatus (open/closed) | |
| since | integer | Unix Timestamp der letzten Aktualisierung |
GET /api/muc/
Stellt Informationen über den Multi-User Chat zur Verfügung (Aktualisierungsintervall: 2 Minuten).
| Rückgabewerte: | Name | Typ | Beschreibung |
| botOnline | boolean | Status des Hickerbots | |
| mucUsers | integer | Anzahl der Nutzer im Multi-User Chat (ohne den Hickerbot) | |
| lastUpdate | integer | Unix Timestamp der letzten Aktualisierung |
GET /api/mate-o-meter/
Gibt unseren aktuellen Matevorrat zurück (Aktualisierungsintervall: 5 Minuten).
| Rückgabewerte: | Name | Typ | Beschreibung |
| bottles | integer | Anzahl der Flaschen in der Kiste (0-20) | |
| lastUpdate | integer | Unix Timestamp der letzten Aktualisierung |
GET /api/ampel/
Gibt den aktuellen Status unserer Ampel zurück.
| Rückgabewerte: | Name | Typ | Beschreibung |
| red | boolean | Status der roten Lampe (beim "mode" random immer false) | |
| yellow | boolean | Status der gelben Lampe (beim "mode" random immer false) | |
| green | boolean | Status der grünen Lampe (beim "mode" random immer false) | |
| mode | string | Ampelmodus (all off/all on/red/yellow/green/random/traffic light) | |
| lastUpdate | integer | Unix Timestamp der letzten Aktualisierung |
GET /api/poll/ampel/
Gibt den aktuellen Status unserer Ampel nach dem Long-Polling-Prinzip zurück (Timeout: 120 Sekunden).
| Rückgabewerte: | Name | Typ | Beschreibung |
| red | boolean | Status der roten Lampe (beim "mode" random immer false) | |
| yellow | boolean | Status der gelben Lampe (beim "mode" random immer false) | |
| green | boolean | Status der grünen Lampe (beim "mode" random immer false) | |
| mode | string | Ampelmodus (all off/all on/red/yellow/green/random/traffic light) | |
| lastUpdate | integer | Unix Timestamp der letzten Aktualisierung |
Wiki-Informationen
GET /api/wiki/new/
Neueste Wiki-Artikel in Listenform.
| Rückgabewerte: | Name | Typ | Beschreibung |
| title | string | Titel des Wiki-Artikels | |
| author | string | Name des Autors | |
| description | string | HTML-Link zum Artikel kombiniert mit dem Autor | |
| link | string | Link zum Artikel | |
| pubDate | string | Datum und Uhrzeit des Erstellungszeitpunkts | |
| timestamp | integer | UNIX-Timestamp des Erstellungszeitpunkts |
GET /api/wiki/updated/
Zuletzt aktualisierte Wiki-Artikel in Listenform.
| Rückgabewerte: | Name | Typ | Beschreibung |
| title | string | Titel des Wiki-Artikels | |
| author | string | Name des Autors | |
| description | string | HTML-Link zum Artikel kombiniert mit dem Autor | |
| link | string | Link zum Artikel | |
| pubDate | string | Datum und Uhrzeit des Erstellungszeitpunkts | |
| timestamp | integer | UNIX-Timestamp des Erstellungszeitpunkts |
GET /api/wiki/userspace/
Zuletzt erstellte oder aktualisierte Wiki-Artikel im Userspace in Listenform.
| Rückgabewerte: | Name | Typ | Beschreibung |
| title | string | Titel des Wiki-Artikels | |
| author | string | Name des Autors | |
| description | string | HTML-Link zum Artikel kombiniert mit dem Autor | |
| link | string | Link zum Artikel | |
| pubDate | string | Datum und Uhrzeit des Erstellungszeitpunkts | |
| timestamp | integer | UNIX-Timestamp des Erstellungszeitpunkts |
Schreibende Methoden
POST /api/announce/ (Authentifizierung erforderlich)
Sendet (bei offenem Raum) eine Audio-Durchsage mit gegebenem Inhalt.
| Parameter: | Name | Typ | Beschreibung |
| text | string | Durchzusagender Text | |
| lang | string | Sprache des Textes (de oder en) |
| Rückgabewerte: | Name | Typ | Beschreibung |
| success | boolean | Erfolgsstatus | |
| status | string | Fehlermeldung (nicht zwingend und nur wenn success false) |
POST /api/ledticker/ (Authentifizierung erforderlich)
Sendet (bei offenem Raum) eine Nachricht an unseren LED-Ticker.
| Parameter: | Name | Typ | Beschreibung |
| text | string | Anzuzeigender Text | |
| lowpriority | boolean | Wenn true und Nachrichten in der Warteschlange kann diese Nachricht ignoriert werden (standardmäßig false) |
| Rückgabewerte: | Name | Typ | Beschreibung |
| success | boolean | Erfolgsstatus | |
| status | string | Fehlermeldung (nicht zwingend und nur wenn success false) |