API-Doku
[stratum0-wiki.git] / Open%2FClose-Monitor%2FAPI.mw
1 Für den [[Open/Close-Monitor]] gibt es eine minimale API über HTTP, um die maschinelle Verarbeitung zu erleichtern.
2
3 == Formate ==
4 Es stehen folgende Formate zur Verfügung:
5 <ul><li>
6 {{WP|JSON}}, über die URL <tt>http://rohieb.name/stratum0/status.json</tt><br />
7 Beispiel:
8 <pre>
9 {
10 "version": "0.1",
11 "isOpen": false,
12 "since": "2012-01-30T03:54:38.804565"
13 }</pre>
14 </li><li>
15 {{WP|XML}}, über die URL <tt>http://rohieb.name/stratum0/status.xml</tt><br />
16 Beispiel:
17 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
18 <status version="0.1">
19 <isOpen>false</isOpen>
20 <since>2012-01-30T03:54:38.804565</since>
21 </status>
22 </li><li>
23 Schlüssel-Wert-Paare nach RFC 822, über die URL <tt>http://rohieb.name/stratum0/status.txt</tt><br />
24 Beispiel:
25 Version: 0.1
26 IsOpen: false
27 Since: 2012-01-30T03:54:38.804565
28 </li><li>
29 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.
30 </li></ul>
31
32 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.
33
34 Alternativ ist die Abfrage auch über HTTPS möglich.
35
36 == Datenfelder ==
37 === Versionsnummer ===
38 Versionsnummer der API, mit der die Abfrage generiert wurde
39 ;Datentyp: String der Form <tt>([0-9]+.){1-3}[0-9]+)</tt>
40 ;JSON: Attribut <tt>version</tt>
41 ;XML: Attribut <tt>version</tt> (CDATA) des Wurzelelementes <tt>&lt;status></tt>
42 ;RFC822: Feld <tt>Version</tt>
43 ;Anmerkungen: Die aktuelle Versionsnummer ist 0.1
44
45 === Öffnungsstatus ===
46 Der aktuelle Öffnungsstatus des Hackerspace
47 ;Datentyp: Boolean
48 :*<tt>''true''</tt>: Space is geöffnet
49 :*<tt>''false''</tt>: Space ist geschlossen
50 ;JSON: Attribut <tt>isOpen</tt>
51 ;XML: Text-Inhalt (CDATA) des Elements <tt>&lt;isOpen></tt>
52 ;RFC822: Feld <tt>IsOpen</tt>
53
54 === Änderungsdatum ===
55 Der Zeitpunkt, wann der Öffnungsstatus das letzte mal verändert wurde, in der lokalen Zeitzone (Europe/Berlin, {{WP|MEZ}}/{{WP|MESZ}})
56 ;Datentyp: String mit Datum nach ISO 8601 (''YYYY-MM-DDTHH:MM:SS.mmmmmm'')
57 ;JSON: Attribut <tt>since</tt>
58 ;XML: Text-Inhalt (CDATA) des Elements <tt>&lt;since></tt>
59 ;RFC822: Feld <tt>Since</tt>
60
61 [[Kategorie:Projekte]]
This page took 0.056476 seconds and 5 git commands to generate.