Open/Close-Monitor/API: Unterschied zwischen den Versionen
(Notiz zur SpaceAPI) |
K (drei redirects weniger) |
||
(2 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
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 [ | + | {{Hinweis|Die in diesem Artikel beschriebene API wird auf lange Sicht nicht mehr fortgeführt, neuere Implementierungen sollten die [https://spaceapi.io/ SpaceAPI] verwenden.}} |
+ | ;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 [https://spaceapi.io/ 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 [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> | + | {{WP|JSON}}, über die URL <tt>https://status.stratum0.org/status.json</tt><br /> |
Beispiel: | Beispiel: | ||
<pre> | <pre> | ||
Zeile 15: | Zeile 16: | ||
}</pre> | }</pre> | ||
</li><li> | </li><li> | ||
− | {{WP|XML}}, über die URL <tt> | + | {{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 24: | ||
</status> | </status> | ||
</li><li> | </li><li> | ||
− | Schlüssel-Wert-Paare nach RFC 822, über die URL <tt> | + | 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 30: | ||
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> | + | 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> | ||
Aktuelle Version vom 8. Januar 2021, 03:36 Uhr
Für den Open/Close-Monitor gibt es eine minimale API über HTTP, um die maschinelle Verarbeitung zu erleichtern.
Die in diesem Artikel beschriebene API wird auf lange Sicht nicht mehr fortgeführt, neuere Implementierungen sollten die SpaceAPI verwenden.
- 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.
Inhaltsverzeichnis
Formate
Es stehen folgende Formate zur Verfügung:
-
JSON, über die URL https://status.stratum0.org/status.json
Beispiel:{ "version": "0.1", "isOpen": false, "since": "2012-01-30T03:54:38.804565" }
-
XML, über die URL https://status.stratum0.org/status.xml
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>
-
Schlüssel-Wert-Paare nach RFC 822, über die URL https://status.stratum0.org/status.txt
Beispiel:Version: 0.1 IsOpen: false Since: 2012-01-30T03:54:38.804565
-
direkte Abfrage der PNG-Grafik, über die URL https://status.stratum0.org/status.png. Die Grafik zeigt den Öffnungsstatus in Form einer roten bzw. grünen Grafik mit Aufschrift “OPEN” bzw. “CLOSED” auf 200×50 Pixeln an.
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, MEZ/MESZ)
- 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