Für den [[Open/Close-Monitor]] gibt es eine minimale API über HTTP, um die maschinelle Verarbeitung zu erleichtern.

== Formate ==
Es stehen folgende Formate zur Verfügung:
<ul><li>
{{WP|JSON}}, über die URL <tt>http://status.stratum0.org/status.json</tt><br />
Beispiel:
<pre>
{
  "version": "0.1", 
  "isOpen": false, 
  "since": "2012-01-30T03:54:38.804565"
}</pre>
</li><li>
{{WP|XML}}, über die URL <tt>http://status.stratum0.org/status.xml</tt><br />
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>
</li><li>
Schlüssel-Wert-Paare nach RFC 822, über die URL <tt>http://status.stratum0.org/status.txt</tt><br />
Beispiel:
 Version: 0.1
 IsOpen: false
 Since: 2012-01-30T03:54:38.804565
</li><li>
direkte Abfrage der PNG-Grafik, über die URL <tt>http://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.
</li></ul>

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 <tt>([0-9]+.){1-3}[0-9]+)</tt>
;JSON: Attribut <tt>version</tt>
;XML: Attribut <tt>version</tt> (CDATA) des Wurzelelementes <tt>&lt;status></tt>
;RFC822: Feld <tt>Version</tt>
;Anmerkungen: Die aktuelle Versionsnummer ist 0.1

=== Öffnungsstatus ===
Der aktuelle Öffnungsstatus des Hackerspace
;Datentyp: Boolean
:*<tt>''true''</tt>: Space is geöffnet
:*<tt>''false''</tt>: Space ist geschlossen
;JSON: Attribut <tt>isOpen</tt>
;XML: Text-Inhalt (CDATA) des Elements <tt>&lt;isOpen></tt>
;RFC822: Feld <tt>IsOpen</tt>

=== Änderungsdatum ===
Der Zeitpunkt, wann der Öffnungsstatus das letzte mal verändert wurde, in der lokalen Zeitzone (Europe/Berlin, {{WP|MEZ}}/{{WP|MESZ}})
;Datentyp: String mit Datum nach ISO 8601 (''YYYY-MM-DDTHH:MM:SS.mmmmmm'')
;JSON: Attribut <tt>since</tt>
;XML: Text-Inhalt (CDATA) des Elements <tt>&lt;since></tt>
;RFC822: Feld <tt>Since</tt>

[[Kategorie:Projekte]]