Sie können über diese Schnittstelle folgende Daten zum Modellbau des Kölner Domes auslesen:
| Komponente | Beschreibung | Befehl | Methode |
|---|---|---|---|
| Uhrzeit | Aktuelles Datum, Uhrzeit und Zeitzone am Standort des Miniatur-Domes. | time | GET |
| Kamera | Ein aktuelles Base64 kodiertes Bild des Livestreams. | kamera 1 | image | GET |
| Brunnen | Status des Springbrunnens am Westportal des Miniatur-Domes. | brunnen | GET |
| Glockenspiel | Status des Glockenspiels. | audio 1 | GET |
| Glockenspiel | Aktiver Lautsprecher des Glockenspiels. | audio 1 | speaker | GET |
| Orgel | Status und aktuelles Musikstück der Orgel. | audio 2 | GET |
| Hauptschiff 1 | Status der oberen Beleuchtung des Langhauses und Querschiffs. | licht 1 | GET |
| Hauptschiff 2 | Status der unteren Beleuchtung des Langhauses und Querschiffs. | licht 2 | GET |
| Straßenlaternen | Status der Straßenlaternen um den Dom. | licht 3 | GET |
| Flutlichtanlage | Status der Flutlichtanlage um den Dom. | licht 4 | GET |
| Bodenstrahler 1 | Status der Bodenstrahlergruppe 1 zur direkten Beleuchtung des Domes. | licht 5 | GET |
| Bodenstrahler 2 | Status der Bodenstrahlergruppe 2 zur indirekten Beleuchtung der Gartenanlage. | licht 6 | GET |
| Glocke 1A | Status der Glocke A im Turm 1. | glocke 1 | GET |
| Glocke 1B | Status der Glocke B im Turm 1. | glocke 2 | GET |
| Glocke 1C | Status der Glocke C im Turm 1. | glocke 3 | GET |
| Glocke 2A | Status der Glocke A im Turm 2. | glocke 4 | GET |
| Glocke 2B | Status der Glocke B im Turm 2. | glocke 5 | GET |
| Glocke 2C | Status der Glocke C im Turm 2. | glocke 6 | GET |
| Modus 1 | Zustand des frei programmierbaren Modus 1. | modus 1 | GET |
| Modus 2 | Zustand des frei programmierbaren Modus 2. | modus 2 | GET |
| Modus 3 | Zustand des frei programmierbaren Modus 3. | modus 3 | GET |
| Modus 4 | Zustand des frei programmierbaren Modus 4. | modus 4 | GET |
| Modus 5 | Zustand des frei programmierbaren Modus 5. | modus 5 | GET |
| Modus 6 | Zustand des frei programmierbaren Modus 6. | modus 6 | GET |
| Task | Alle automatisierten Programme, welche durch den KDSM hinterlegt wurden. | task all | GET |
Zusätzlich zu den bereits bestehenden Standard HTTP-Statuscodes, sind hier die folgenden erweiterten applikationsspezifischen Statusmeldungen angeführt. Die Schnittstelle kann folgende Statusmeldungen zurückgeben:
| Code | Status | Beschreibung |
|---|---|---|
| 1xx | - | Erfolgreiche Meldungen. |
| 2xx | - | Fehlerhafte Meldungen. |
| 100 | OK | Der Request wurde erfolgreich ausgeführt und hat eine valide Antwort zurückgegeben. |
| 200 | GENERAL_ERROR | Ein unbekannter Fehler ist während der Verarbeitung des Requests aufgetreten. |
| 201 | SERVICE_UNAVAILABLE | Das Service steht momentan nicht zur Verfügung, bitte versuchen Sie es später erneut. |
| 202 | HTTP_TIMEOUT | Es ist ein Timeout während der Verarbeitung des Requests aufgetreten. |
| 203 | CLIENT_UNAUTHORIZED | Der Client konnte sich nicht gegen die Schnittstelle authentifizieren und/oder autorisieren. |
| 204 | IP_VALIDATION_FAILED | Der angegebene Zugang ist auf IP-Adresse und/oder URL eingeschränkt. Die Validierung war jedoch nicht erfolgreich. |
| 205 | INSUFFICIENT_PERMISSION | Die Berechtigungen des Zugangs reichen für die angeforderte Ressource nicht aus. |
| 206 | UKNOWN_COMMAND | Der angeforderte Befehl ist ungültig oder existiert nicht. |
| 207 | METHOD_NOT_ALLOWED | Die angegebene Methode und/oder Anfragentyp ist nicht erlaubt oder implementiert. |
| 208 | HOST_VALIDATION_FAILED | Der angegebene Zugang ist auf IP-Adresse und/oder URL eingeschränkt. Die Validierung war jedoch nicht erfolgreich. |
In diesem Beispiel lesen wir den Status und das aktuell laufende Musikstück der Orgel aus. Um das folgende Beispiel besser zu verstehen, gehen wir Schritt für Schritt näher auf jeden Parameter des Befehls cURL ein.
Sie sehen unten angeführt den Befehl zum Auslesen des Zustandes der Orgel und das aktuell laufende Musikstück:
curl \
--get \
--header "x-kdrtwp-get-secret: <METHOD_SECRET>" \
--data-urlencode "command=audio 2" \
https://api.derkoelnerdom.at/<API_KEY>
Das Ergebnis der Anfrage wird in Form eines JSON-Objekts als Antwort zurückgegeben:
{
"meta": {
"health": {
"kdsm": 1
},
"time": {
"zone": "Europe/Vienna",
"syn": "06 Jan 2021 14:55:30",
"ack": "06 Jan 2021 14:55:30"
},
"status": {
"name": "OK",
"code": "100"
},
"request": {
"syn": {
"command": "audio 2"
},
"ack": {
"data": [
"play",
"FFFF FFFF FFFF FFFF",
"Klaus Wallrath - Es führt drei König Gottes Hand"
]
}
}
}
}
In der folgenden Tabelle werden die Details der Objektstruktur (Antwort) näher erläutert:
| Name | Pfad | Datentyp | Beschreibung |
|---|---|---|---|
| kdsm | meta > health > kdsm | Boolean | Zustand, ob der "Kölner Dom Steuerung Manager" kurz KDSM verbunden (1) oder getrennt (0) ist. |
| zone | meta > time > zone | String | Zeitzone am Standort des Kölner Miniatur-Domes. |
| syn | meta > time > syn | DateTime | Datum und Uhrzeit des Requests (Anfrage). |
| ack | meta > time > ack | DateTime | Datum und Uhrzeit des Response (Antwort). |
| name | meta > status > name | Enum | Statustext der applikationsspezifischen Statuscodes. |
| code | meta > status > code | Integer | Code (Return-Code) der applikationsspezifischen Statuscodes. |
| command | meta > request > syn > command | String | Enthält den im Request angeforderten Befehl. |
| data | meta > request > ack > data | Array | Besteht aus bis zu drei Elementen. Das erste Element ist der aktuelle Zustand der angeforderten Komponente (ok, on, off, play, stop). Das zweite der KDSCL-Befehl, dieser wird von der Zentralwarte (Domtechnik) und KDSM ausgewertet. Das letzte Element enthält weitere vorhandene Informationen (z. B. (String) Name des Orgel- oder Musikstücks, (Array) Geplante Programme). |