1 Für den [[Open/Close-Monitor]] gibt es eine minimale API über HTTP, um die maschinelle Verarbeitung zu erleichtern.
3 {{Hinweis|Die in diesem Artikel beschriebene API wird auf lange Sicht nicht mehr fortgeführt, neuere Implementierungen sollten die [https://spaceapi.io/ SpaceAPI] verwenden.}}
4 ;Randbemerkung: Ich ([[Benutzer:Daniel Bohrer|Daniel Bohrer]]) hatte damals™ eine eigene API für unsere minimalen Bedürfnisse entworfen. Später bin ich auf das Projekt [https://spaceapi.io/ 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 [http://hackerspaces.me/wall Beispielanwendung], benötigt JavaScript). Die JSON-Version unter <tt>https://status.stratum0.org/status.json</tt> implementiert daher beide APIs, die SpaceAPI sowie die hier beschriebene.
7 Es stehen folgende Formate zur Verfügung:
9 {{WP|JSON}}, über die URL <tt>https://status.stratum0.org/status.json</tt><br />
15 "since": "2012-01-30T03:54:38.804565"
18 {{WP|XML}}, über die URL <tt>https://status.stratum0.org/status.xml</tt><br />
20 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
21 <status version="0.1">
22 <isOpen>false</isOpen>
23 <since>2012-01-30T03:54:38.804565</since>
26 Schlüssel-Wert-Paare nach RFC 822, über die URL <tt>https://status.stratum0.org/status.txt</tt><br />
30 Since: 2012-01-30T03:54:38.804565
32 direkte Abfrage der PNG-Grafik, über die URL <tt>https://status.stratum0.org/status.png</tt>. Die Grafik zeigt den Öffnungsstatus in Form einer roten bzw. grünen Grafik mit Aufschrift “OPEN” bzw. “CLOSED” auf 200×50 Pixeln an.
35 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.
37 Alternativ ist die Abfrage auch über HTTPS möglich.
40 === Versionsnummer ===
41 Versionsnummer der API, mit der die Abfrage generiert wurde
42 ;Datentyp: String der Form <tt>([0-9]+.){1-3}[0-9]+)</tt>
43 ;JSON: Attribut <tt>version</tt>
44 ;XML: Attribut <tt>version</tt> (CDATA) des Wurzelelementes <tt><status></tt>
45 ;RFC822: Feld <tt>Version</tt>
46 ;Anmerkungen: Die aktuelle Versionsnummer ist 0.1
48 === Öffnungsstatus ===
49 Der aktuelle Öffnungsstatus des Hackerspace
51 :*<tt>''true''</tt>: Space is geöffnet
52 :*<tt>''false''</tt>: Space ist geschlossen
53 ;JSON: Attribut <tt>isOpen</tt>
54 ;XML: Text-Inhalt (CDATA) des Elements <tt><isOpen></tt>
55 ;RFC822: Feld <tt>IsOpen</tt>
57 === Änderungsdatum ===
58 Der Zeitpunkt, wann der Öffnungsstatus das letzte mal verändert wurde, in der lokalen Zeitzone (Europe/Berlin, {{WP|MEZ}}/{{WP|MESZ}})
59 ;Datentyp: String mit Datum nach ISO 8601 (''YYYY-MM-DDTHH:MM:SS.mmmmmm'')
60 ;JSON: Attribut <tt>since</tt>
61 ;XML: Text-Inhalt (CDATA) des Elements <tt><since></tt>
62 ;RFC822: Feld <tt>Since</tt>
64 [[Kategorie:Projekte]]