Zum Haupttext springen

Allgemeine JSON-Regeln

Alle Service-Schnittstellen verwenden JSON. Auf dieser Seite werden gängige Muster erläutert.

Hafen​

HafenSchnittstelleVersion
10001HTTP REST + WebSocket (Simulationskanal)v3.1 (aktuell)
10020WebSocket (Ereigniskanal, schreibgeschützt)—
10000Legacy-WebSocket (v3.0 – wird in v4.0 entfernt)v3.0

HTTP-Antwort-Envelope​

Alle HTTP-Antworten verwenden denselben Envelope:

Erfolg (einschließlich Daten):

{ "ok": true, "data": { … } }

Erfolg (keine Daten, Endpunkt nur für Änderungen):

{ "ok": true }

Fehler:

{ "ok": false, "error": "reason string" }

Nicht mehr verwendete Endpunkte:

{ "ok": true, "deprecation_warning": "This route is deprecated. Use …" }

HTTP-Statuscodes​

CodeBedeutung
200Erfolg
400Fehlerhafte Anfrage – Der Text ist fehlerhaft, der Selektor ist mehrdeutig oder ein Pflichtfeld fehlt.
404Gerät, Sitzung oder Ressource nicht gefunden
405Unzulässige Methode

WebSocket-Nachrichtenformat​

Die Nachricht ist ein JSON-Objekt. Der oberste Schlüssel ist der Name der Gerätegruppe (inverse3, verse_grip, wireless_verse_grip) sowie eine optionale Funktion für Befehle auf Sitzungsebene session Sie können die Taste verwenden.

Client → Dienst (Befehl):

{
"session": { "configure": { … } },
"inverse3": [
{ "device_id": "049D", "configure": { … }, "commands": { … } }
]
}

Dienst → Client (Status):

{
"session_id": 7,
"inverse3": [
{ "device_id": "049D", "config": { … }, "state": { … }, "status": { … } }
]
}

Die erste Nachricht, die vom Dienst gesendet wird, enthält config(Gesamt-Snapshot) ist enthalten. In den nachfolgenden Nachrichten steht stateWow status… sind enthalten. Der gesamte Arbeitsablauf umfasst WebSocket-ProtokollSiehe dazu.

Inhaltstyp​

Jede HTTP-Anfrage mit Textinhalt ist Content-Type: application/jsonmüssen übertragen werden. WebSocket-Nachrichten sind immer JSON-Frames im Klartext.

Unbekannter Schlüssel​

Unbekannte Tasten werden einfach ignoriert.

Der Dienst ignoriert derzeit nicht erkannte JSON-Schlüssel ohne Fehlermeldung. Sollte der Befehl keine Wirkung zu zeigen scheinen, überprüfen Sie bitte das Dienstprotokoll und vergewissern Sie sich, dass die Feldnamen mit der API-Referenzübereinstimmen. Dieses Verhalten wird sich in zukünftigen Versionen ändern (unbekannte Schlüssel werden dann eine Warnmeldung auslösen).