Open/Close-Monitor/API: Unterschied zwischen den Versionen

Aus Stratum 0
Wechseln zu:Navigation, Suche
(Notiz zur SpaceAPI)
(Merge branch 'master' into HEAD)
Zeile 1: Zeile 1:
 
Für den [[Open/Close-Monitor]] gibt es eine minimale API über HTTP, um die maschinelle Verarbeitung zu erleichtern.
 
Für den [[Open/Close-Monitor]] gibt es eine minimale API über HTTP, um die maschinelle Verarbeitung zu erleichtern.
  
;Randbemerkung: Ich ([[Benutzer:Daniel Bohrer|Daniel Bohrer]]) hatte damals™ eine eigene API für unsere minimalen Bedürfnisse entworfen. Später bin ich auf das Projekt [http://hackerspaces.nl/spaceapi SpaceAPI] von Hackerspaces.nl gestoßen, das darauf abzielt, viele Hackerspaces mit einer möglichst konsistenten API ansprechen zu können (z.&nbsp;B. hier eine [http://hackerspaces.me/wall Beispielanwendung], benötigt JavaScript). Die JSON-Version unter <tt>http://status.stratum0.org/status.json</tt> implementiert daher beide APIs, die SpaceAPI sowie die hier beschriebene.
+
;Randbemerkung: Ich ([[Benutzer:Daniel Bohrer|Daniel Bohrer]]) hatte damals™ eine eigene API für unsere minimalen Bedürfnisse entworfen. Später bin ich auf das Projekt [http://hackerspaces.nl/spaceapi SpaceAPI] von Hackerspaces.nl gestoßen, das darauf abzielt, viele Hackerspaces mit einer möglichst konsistenten API ansprechen zu können (z.&nbsp;B. hier eine [http://hackerspaces.me/wall Beispielanwendung], benötigt JavaScript). Die JSON-Version unter <tt>https://status.stratum0.org/status.json</tt> implementiert daher beide APIs, die SpaceAPI sowie die hier beschriebene.
  
 
== Formate ==
 
== Formate ==
 
Es stehen folgende Formate zur Verfügung:
 
Es stehen folgende Formate zur Verfügung:
 
<ul><li>
 
<ul><li>
{{WP|JSON}}, über die URL <tt>http://status.stratum0.org/status.json</tt><br />
+
{{WP|JSON}}, über die URL <tt>https://status.stratum0.org/status.json</tt><br />
 
Beispiel:
 
Beispiel:
 
<pre>
 
<pre>
Zeile 15: Zeile 15:
 
}</pre>
 
}</pre>
 
</li><li>
 
</li><li>
{{WP|XML}}, über die URL <tt>http://status.stratum0.org/status.xml</tt><br />
+
{{WP|XML}}, über die URL <tt>https://status.stratum0.org/status.xml</tt><br />
 
Beispiel:
 
Beispiel:
 
  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
 
  <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Zeile 23: Zeile 23:
 
  </status>
 
  </status>
 
</li><li>
 
</li><li>
Schlüssel-Wert-Paare nach RFC 822, über die URL <tt>http://status.stratum0.org/status.txt</tt><br />
+
Schlüssel-Wert-Paare nach RFC 822, über die URL <tt>https://status.stratum0.org/status.txt</tt><br />
 
Beispiel:
 
Beispiel:
 
  Version: 0.1
 
  Version: 0.1
Zeile 29: Zeile 29:
 
  Since: 2012-01-30T03:54:38.804565
 
  Since: 2012-01-30T03:54:38.804565
 
</li><li>
 
</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.
+
direkte Abfrage der PNG-Grafik, über die URL <tt>https://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>
 
</li></ul>
  

Version vom 4. Dezember 2013, 05:00 Uhr

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

Randbemerkung
Ich (Daniel Bohrer) hatte damals™ eine eigene API für unsere minimalen Bedürfnisse entworfen. Später bin ich auf das Projekt SpaceAPI von Hackerspaces.nl gestoßen, das darauf abzielt, viele Hackerspaces mit einer möglichst konsistenten API ansprechen zu können (z. B. hier eine Beispielanwendung, benötigt JavaScript). Die JSON-Version unter https://status.stratum0.org/status.json implementiert daher beide APIs, die SpaceAPI sowie die hier beschriebene.

Formate

Es stehen folgende Formate zur Verfügung:

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

Öffnungsstatus

Der aktuelle Öffnungsstatus des Hackerspace

Datentyp
Boolean
  • true: Space is geöffnet
  • false: Space ist geschlossen
JSON
Attribut isOpen
XML
Text-Inhalt (CDATA) des Elements <isOpen>
RFC822
Feld IsOpen

Änderungsdatum

Der Zeitpunkt, wann der Öffnungsstatus das letzte mal verändert wurde, in der lokalen Zeitzone (Europe/Berlin, Wikipedia-W.svgMEZ/Wikipedia-W.svgMESZ)

Datentyp
String mit Datum nach ISO 8601 (YYYY-MM-DDTHH:MM:SS.mmmmmm)
JSON
Attribut since
XML
Text-Inhalt (CDATA) des Elements <since>
RFC822
Feld Since