API-Doku
authorDaniel Bohrer <Daniel Bohrer@stratum0.org/mediawiki/>
Mon, 30 Jan 2012 04:36:36 +0000 (04:36 +0000)
committerDaniel Bohrer <Daniel Bohrer@stratum0.org/mediawiki/>
Mon, 30 Jan 2012 04:36:36 +0000 (04:36 +0000)
Open%2FClose-Monitor%2FAPI.mw [new file with mode: 0644]

diff --git a/Open%2FClose-Monitor%2FAPI.mw b/Open%2FClose-Monitor%2FAPI.mw
new file mode 100644 (file)
index 0000000..4f77537
--- /dev/null
@@ -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]]
This page took 0.025561 seconds and 4 git commands to generate.