Open/Close-Monitor/API
Für den Open/Close-Monitor gibt es eine minimale API über HTTP, um die maschinelle Verarbeitung zu erleichtern.
Die in diesem Artikel beschriebene API wird auf lange Sicht nicht mehr fortgeführt, neuere Implementierungen sollten die SpaceAPI verwenden.
- Randbemerkung
- Ich (Daniel Bohrer) hatte damals™ eine eigene API für unsere minimalen Bedürfnisse entworfen. Später bin ich auf das Projekt SpaceAPI von Hackerspaces.nl gestoßen, das darauf abzielt, viele Hackerspaces mit einer möglichst konsistenten API ansprechen zu können (z. B. hier eine Beispielanwendung, benötigt JavaScript). Die JSON-Version unter https://status.stratum0.org/status.json implementiert daher beide APIs, die SpaceAPI sowie die hier beschriebene.
Inhaltsverzeichnis
Formate
Es stehen folgende Formate zur Verfügung:
-
JSON, über die URL https://status.stratum0.org/status.json
Beispiel:{ "version": "0.1", "isOpen": false, "since": "2012-01-30T03:54:38.804565" }
-
XML, über die URL https://status.stratum0.org/status.xml
Beispiel:<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <status version="0.1"> <isOpen>false</isOpen> <since>2012-01-30T03:54:38.804565</since> </status>
-
Schlüssel-Wert-Paare nach RFC 822, über die URL https://status.stratum0.org/status.txt
Beispiel:Version: 0.1 IsOpen: false Since: 2012-01-30T03:54:38.804565
-
direkte Abfrage der PNG-Grafik, über die URL https://status.stratum0.org/status.png. Die Grafik zeigt den Öffnungsstatus in Form einer roten bzw. grünen Grafik mit Aufschrift “OPEN” bzw. “CLOSED” auf 200×50 Pixeln an.
Um eine hohe Last durch Anfragen zu vermeiden, wird der HTTP-Client über die HTTP-Header "Expires" und "Cache-Control" angewiesen, die Ergebnisse der Anfragen für 5 Minuten zwischenzuspeichern.
Alternativ ist die Abfrage auch über HTTPS möglich.
Datenfelder
Versionsnummer
Versionsnummer der API, mit der die Abfrage generiert wurde
- Datentyp
- String der Form ([0-9]+.){1-3}[0-9]+)
- JSON
- Attribut version
- XML
- Attribut version (CDATA) des Wurzelelementes <status>
- RFC822
- Feld Version
- Anmerkungen
- Die aktuelle Versionsnummer ist 0.1
Öffnungsstatus
Der aktuelle Öffnungsstatus des Hackerspace
- Datentyp
- Boolean
- true: Space is geöffnet
- false: Space ist geschlossen
- JSON
- Attribut isOpen
- XML
- Text-Inhalt (CDATA) des Elements <isOpen>
- RFC822
- Feld IsOpen
Änderungsdatum
Der Zeitpunkt, wann der Öffnungsstatus das letzte mal verändert wurde, in der lokalen Zeitzone (Europe/Berlin, MEZ/MESZ)
- Datentyp
- String mit Datum nach ISO 8601 (YYYY-MM-DDTHH:MM:SS.mmmmmm)
- JSON
- Attribut since
- XML
- Text-Inhalt (CDATA) des Elements <since>
- RFC822
- Feld Since