Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
fr:protocole_json [2016/01/25 11:37]
ben [Protocole pour webservice Calaos]
fr:protocole_json [2021/09/16 21:38] (current)
mifrey [Dans l'url avec HTTP GET]
Line 13: Line 13:
 Les requêtes sur la centrale se font grâce à l'url suivante: Les requêtes sur la centrale se font grâce à l'url suivante:
  
-  https://ip_centrale/api.php+  https://calaos_server_ip/api.php
      
 ===== Effectuer des tests ===== ===== Effectuer des tests =====
  
 +==== Wget ====
 Il est possible d'effectuer des requêtes de tests grâce à l'outil [[http://fr.wikipedia.org/wiki/Wget|Wget]] en ligne de commande. Il est possible d'effectuer des requêtes de tests grâce à l'outil [[http://fr.wikipedia.org/wiki/Wget|Wget]] en ligne de commande.
- 
-==== Exemple ==== 
  
 Les données à envoyer sont au format JSON dans le fichier //query.json// et le résultat se retrouvera dans //result.json//. Les données à envoyer sont au format JSON dans le fichier //query.json// et le résultat se retrouvera dans //result.json//.
  
-  wget --no-check-certificate --post-file query.json --output-document result.json https://addresse_ip/api.php+  wget --no-check-certificate --post-file query.json --output-document result.json https://calaos_server_ip/api.php 
 +   
 +   
 +==== Dans l'url avec HTTP GET ==== 
 + 
 +Les requêtes doivent se faire avec HTTP POST avec Calaos v2.  Calaos v3 supporte aussi HTTP GET et donc les requêtes peuvent être directement passées dans l'url. 
 + 
 +Exemple: 
 +  * Avoir toute la config : https://calaos_server_ip/api?cn_user=XXX&cn_pass=XXX&action=get_home 
 +  * Avoir l'image d'une camera : https://calaos_server_ip/api?cn_user=XXX&cn_pass=XXX&action=camera&type=get_picture&id=input_57_output_32 
 +  * Activer une sortie : https://calaos_server_ip/api?cn_user=XXX&cn_pass=XXX&action=set_state&id=output_7&value=true 
 +  * Activer une variable interne : https://calaos_server_ip/api?cn_user=XXX&cn_pass=XXX&action=set_state&id=intern_4&value=true 
 +  * Lire une variable : https://calaos_server_ip/api?cn_user=XXX&cn_pass=XXX&action=get_state&items=output_21,output_25 
 + 
 +Cela permet à un système externe ne supportant que HTTP GET de facilement communiquer avec Calaos. 
 +==== Page HTML ==== 
 + 
 +Calaos v3 inclu une page HTML permettant de tester des requêtes POST et Websocket. Elle permet de facilement vérifier le format des données JSON à envoyer. 
 + 
 +Il faut d'abord activer le mode debug avec la commande : 
 +<code> 
 +calaos_config set debug_enabled true 
 +</code> 
 +ou l'ajouter directement dans le fichier ///etc/calaos/local_config.xml//
 + 
 +On peut ensuite y accéder via: 
 +https://calaos_server_ip/debug/ ou http://calaos_server_ip:5454/debug/
 + 
 +{{ :fr:api_debug_html.png?nolink&600 |}} 
 + 
 +==== Utiliser l'API avec d'autres languages ==== 
 + 
 +  * [[json_python2|Python 2]] 
 +  * [[json_python3|Python 3]]
  
 ===== API Calaos Network ===== ===== API Calaos Network =====