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/07/28 13:14]
mifrey [Exemple]
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 ====
  
-==== Effectuer des requêtes avec d'autres languages ====+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]]   * [[json_python3|Python 3]]
 +
 ===== API Calaos Network ===== ===== API Calaos Network =====