Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

info_bs:api [2019/10/26 21:08] (Version actuelle)
Ligne 1: Ligne 1:
 +====== Spécification API ======
  
 +L'API du webservice réside à une url de base prédéfinie pour le webservice (''/​api''​ par exemple).
 +
 +L'API est spécifiée pour le contrôle d'un robot, on pourra donc gérer deux robots :
 +
 +  * soit en lançant deux API en spécifiant pour chacune le robot contrôlé (ID + serveur de données)
 +  * soit en modifiant l'url de base pour prendre en premier paramètre l'ID du robot en question
 +
 +Dans tous les cas, les points d'​entrée API peuvent retourner un code d'​erreur 504 (gateway timeout) dans le cas où le serveur de données du robot concerné n'est pas disponible.
 +===== Gestion des propriétés [x] =====
 +
 +  * Lister les propriétés : ''​GET /​properties''​
 +    * Code de retour :
 +      * 200 si tout s'est bien passé
 +    * Retour : ''​{ "​properties":​ { <​propriété>​ : <​valeur>​ } }''​
 +  * Modifier une propriété : ''​PATCH /​properties''​
 +    * Paramètres : ''​{ "​name":​ <​propriété>,​ "​value":​ <​valeur>​ }''​
 +    * Code de retour :
 +      * 200 si tout s'est bien passé
 +      * 400 si les paramètres sont invalides
 +      * 404 si la propriété n'​existe pas
 +    * Retour : ''​{ "​error":​ { <​propriété>​ : <message d'​erreur>​ } }''​ en cas d'​erreur
 +
 +===== Gestion de l'IA [ ] =====
 +
 +  * Lancer l'IA : ''​POST /​ai''​
 +    * Paramètres : aucun
 +    * Code de retour :
 +      * 200 si tout s'est bien passé
 +      * 412 si l'IA est déjà lancée
 +      * 410 si l'IA ne fonctionne pas
 +    * Retour : ''​{ "​error"​ : <message d'​erreur>​ }''​ en cas d'​erreur
 +  * Arrêter un simulateur : ''​DELETE /​ai''​
 +    * Paramètres : aucun
 +    * Code de retour :
 +      * 200 si tout s'est bien passé
 +      * 412 si l'IA n'est pas lancée
 +    * Retour : ''​{ "​error"​ : <message d'​erreur>​ }''​ en cas d'​erreur
 +
 +===== Gestion des simulateurs [x] =====
 +
 +  * Lister les simulateurs : ''​GET /​simulators''​
 +    * Retour : ''​{ "​simulators":​ <liste des simulateurs>​ }''​
 +  * Lancer un simulateur : ''​POST /​simulators/<​simulateur>''​
 +    * Paramètres : aucun
 +    * Code de retour :
 +      * 200 si tout s'est bien passé
 +      * 412 si le simulator est déjà lancé
 +      * 404 si le simulateur n'​existe pas
 +    * Retour : ''​{ "​error"​ : <message d'​erreur>​ }''​ en cas d'​erreur
 +  * Arrêter un simulateur : ''​DELETE /​simulators/<​simulateur>''​
 +    * Paramètres : aucun
 +    * Code de retour :
 +      * 200 si tout s'est bien passé
 +      * 412 si le simulator n'est pas lancé
 +      * 404 si le simulateur n'​existe pas
 +    * Retour : ''​{ "​error"​ : <message d'​erreur>​ }''​ en cas d'​erreur