メインコンテンツへスキップ

JSONの規約

すべてのサービスインターフェースはJSONを使用しています。このページでは、共通のパターンについて説明します。

ポート​

ポートインターフェースバージョン
10001HTTP REST + WebSocket(シミュレーションチャネル)v3.1(最新版)
10020WebSocket(イベントチャネル、読み取り専用)—
10000レガシーWebSocket (v3.0 — v4.0で廃止予定)v3.0

HTTPレスポンスの構造​

HTTPからの応答はすべて、同じ構造になっています:

(データに基づく)成功:

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

成果(データなし – 変更点のみ):

{ "ok": true }

エラー:

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

廃止されたエンドポイント:

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

HTTPステータスコード​

コード意味
200成功
400無効なリクエスト — リクエスト本文が無効、セレクタが曖昧、必須フィールドが欠落しています
404デバイス、セッション、またはリソースが見つかりません
405このメソッドは使用できません

WebSocketメッセージ形式​

ニュースはJSONオブジェクトです。最上位のキーはデバイスグループ名です (inverse3, verse_grip, wireless_verse_grip) およびオプションのキー session セッション関連のコマンド用。

クライアント → サービス(コマンド):

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

Dienst → クライアント(状態):

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

このサービスからの最初のメッセージには、以下の内容が含まれています config (完全なスナップショット);その後の メッセージには以下の内容のみが含まれています state und status. 参照 WebSocketプロトコル 詳細な手順については。

コンテンツタイプ​

本文を含むすべてのHTTPリクエストは、 Content-Type: application/json 送信。 WebSocketメッセージは、常に単純な平文のJSONフレームです。

不明な鍵​

未知のキーは黙って無視されます

現在、このサービスは未知のJSONキーをエラーを発生させることなく無視します。 コマンドが効果を発揮していないように見える場合は、サービスのログを確認し、フィールド名を APIリファレンスと照らし合わせてみてください。 この動作は今後のバージョンで変更される予定です(その際は、未知のキーが 警告イベントを発生させるようになります)。