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><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><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><since></tt> +;RFC822: Feld <tt>Since</tt> + +[[Kategorie:Projekte]] -- 2.20.1