From d39dfdc03187bcc98575b59e5fdb4eaa8a33f454 Mon Sep 17 00:00:00 2001
From: Daniel Bohrer <Daniel Bohrer@stratum0.org/mediawiki/>
Date: Mon, 30 Jan 2012 04:36:36 +0000
Subject: [PATCH] API-Doku

---
 Open%2FClose-Monitor%2FAPI.mw | 61 +++++++++++++++++++++++++++++++++++
 1 file changed, 61 insertions(+)
 create mode 100644 Open%2FClose-Monitor%2FAPI.mw

diff --git a/Open%2FClose-Monitor%2FAPI.mw b/Open%2FClose-Monitor%2FAPI.mw
new file mode 100644
index 000000000..4f775370e
--- /dev/null
+++ b/Open%2FClose-Monitor%2FAPI.mw
@@ -0,0 +1,61 @@
+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://rohieb.name/stratum0/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://rohieb.name/stratum0/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://rohieb.name/stratum0/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://rohieb.name/stratum0/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]]
-- 
2.20.1