JSON 표기법
모든 서비스 인터페이스는 JSON을 사용합니다. 이 페이지에서는 공통적으로 사용되는 패턴을 설명합니다.
항구
| 항구 | 인터페이스 | 버전 |
|---|---|---|
| 10001 | HTTP REST + WebSocket (시뮬레이션 채널) | v3.1 (최신 버전) |
| 10020 | WebSocket (이벤트 채널, 읽기 전용) | — |
| 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": { … } }
]
}
서비스 → 클라이언트 (상태):
{
"session_id": 7,
"inverse3": [
{ "device_id": "049D", "config": { … }, "state": { … }, "status": { … } }
]
}
이 서비스의 첫 번째 메시지에는 다음이 포함되어 있습니다 config (전체 스냅샷); 이후
메시지에는 다음 내용만 포함됩니다 state 그리고 status. 참조
웹소켓 프로토콜 전체 워크플로를 보려면.
콘텐츠 유형
본문이 포함된 모든 HTTP 요청은 다음을 전송해야 합니다 Content-Type: application/json.
WebSocket 메시지는 항상 일반 텍스트 형식의 JSON 프레임입니다.
알 수 없는 키
알 수 없는 키는 아무런 알림 없이 무시됩니다
현재 이 서비스는 인식되지 않는 JSON 키를 오류 없이 무시합니다. 명령어가 아무런 효과가 없는 것처럼 보인다면, 서비스 로그를 확인하고 API 참조 문서를 참조하여 필드 이름을 확인해 보십시오. 향후 버전에서는 이 동작이 변경될 예정입니다(알 수 없는 키가 경고 이벤트를 발생시킵니다).