Spécifications JSON
Toutes les interfaces de service utilisent le format JSON. Cette page présente les modèles courants.
Port
| Port | Interface | Version |
|---|---|---|
| 10001 | HTTP REST + WebSocket (canal de simulation) | v3.1 (version actuelle) |
| 10020 | WebSocket (canal d'événements, en lecture seule) | — |
| 10000 | WebSocket hérité (v3.0 — suppression prévue dans la version v4.0) | v3.0 |
Enveloppe de réponse HTTP
Toutes les réponses HTTP utilisent la même enveloppe :
Succès (données disponibles) :
{ "ok": true, "data": { … } }
Succès (aucune donnée — point de terminaison réservé aux modifications) :
{ "ok": true }
Erreur :
{ "ok": false, "error": "reason string" }
Points de terminaison déconseillés :
{ "ok": true, "deprecation_warning": "This route is deprecated. Use …" }
Codes d'état HTTP
| Code | Signification |
|---|---|
200 | Succès |
400 | Requête non valide — Contenu invalide, sélecteur ambigu, champs obligatoires manquants |
404 | Le périphérique, la session ou la ressource est introuvable. |
405 | La méthode n'est pas autorisée |
Format des messages WebSocket
Le message est un objet JSON. La clé de niveau supérieur correspond au nom du groupe d'appareils (inverse3,verse_grip,wireless_verse_grip) ainsi que les options pour les commandes au niveau de la session session C'est la clé.
Client → Service (commande) :
{
"session": { "configure": { … } },
"inverse3": [
{ "device_id": "049D", "configure": { … }, "commands": { … } }
]
}
Services → Client (état) :
{
"session_id": 7,
"inverse3": [
{ "device_id": "049D", "config": { … }, "state": { … }, "status": { … } }
]
}
Le premier message envoyé par le service contient config(un instantané complet) est inclus, et les messages suivants contiennent state et status Seuls ces éléments sont inclus. Pour connaître le déroulement complet du processus,Protocole WebSocket Veuillez consulter [...].
Type de contenu
Toutes les requêtes HTTP accompagnées d'un corps de message sont,Content-Type: application/json Il faut les envoyer. Les messages WebSocket sont toujours des trames JSON en texte clair.
Clé inconnue
Actuellement, le service ignore sans générer d'erreur les clés JSON non reconnues. Si une commande semble ne pas produire l'effet escompté, veuillez consulter les journaux du service et vérifier que les noms de champs correspondent à ceux indiqués dans la documentation de l'API. Ce comportement devrait être modifié dans une prochaine version (les clés inconnues déclencheront alors un événement d'avertissement).