Passer directement au contenu principal

Spécifications JSON

Toutes les interfaces de service utilisent le format JSON. Cette page présente les modèles courants.

Port​

PortInterfaceVersion
10001HTTP REST + WebSocket (canal de simulation)v3.1 (version actuelle)
10020WebSocket (canal d'événements, en lecture seule)—
10000WebSocket 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​

CodeSignification
200Succès
400Requête non valide — Contenu invalide, sélecteur ambigu, champs obligatoires manquants
404Le périphérique, la session ou la ressource est introuvable.
405La 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​

Les clés inconnues sont ignorées sans avertissement.

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).