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
Next revision Both sides next revision
protocole_json [2011/01/17 18:31]
admin
protocole_json [2011/04/26 16:32]
admin [get_home]
Line 159: Line 159:
             "volume": "0",             "volume": "0",
             "time_elapsed": "0",             "time_elapsed": "0",
 +            "playlist_size": "5",
 +            "playlist_current_track": "0",
             "cover_url": "https://127.0.0.1/music.php?player_id=0",             "cover_url": "https://127.0.0.1/music.php?player_id=0",
             "current_track": {             "current_track": {
Line 320: Line 322:
 La réponse contient la liste des pistes avec les informations complémentaire si elles sont diponibles (artiste, album, titre, ...). La réponse contient la liste des pistes avec les informations complémentaire si elles sont diponibles (artiste, album, titre, ...).
  
 +==== poll_listen ====
 +
 +Cette commande permet de faire du polling pour récupérer les changements d'état des E/S de la centrale. Chaque appel va permettre de récupérer uniquement les changements. Il va falloir auparavant demander un identifiant pour s'enregistrer sur la centrale en tant que participant d'écoute.
 +
 +=== Enregistrement ===
 +
 +Pour s'enregistrer et récupérer un identifiant il faut envoyer la requête:
 +  {
 +      "cn_user": "mail@example.com",
 +      "cn_pass": "the_password",
 +      "action": "poll_listen",
 +      "type": "register"
 +  }
 +
 +On recevra en réponse l'identifiant:
 +  {
 +      "uuid": "abbcaa23-17f7-430f-a30a-221f55077408"
 +  }
 +
 +Cette identifiant unique est valable tant qu'on l'utilise. Si on ne l'utilise pas il devient automatiquement invalide après 5 min.
 +
 +=== Suppression ===
 +
 +A la fin de l'utilisation, on peut supprimer l'identifiant pour le rendre invalide. Cette suppression n'est pas obligatoire, et se fait automatiquement après 5 min d'inactivité avec l'identifiant.
 +
 +Données JSON à envoyer:
 +  {
 +      "cn_user": "mail@example.com",
 +      "cn_pass": "the_password",
 +      "action": "poll_listen",
 +      "type": "unregister",
 +      "uuid": "abbcaa23-17f7-430f-a30a-221f55077408"
 +  }
 +
 +Réponse:
 +  {
 +      "success": "true"
 +  }
 +
 +=== Récupération des évènements ===
 +
 +Une fois l'enregistrement fait et l'identifiant récupéré, on peut interroger la centrale à intervalle régulière (< 5 min) pour avoir les évènements intervenues. Les réponses sont similaires à la commande //listen// du mode TCP.
 +
 +Données JSON à envoyer:
 +  {
 +      "cn_user": "mail@example.com",
 +      "cn_pass": "the_password",
 +      "action": "poll_listen",
 +      "type": "get",
 +      "uuid": "abbcaa23-17f7-430f-a30a-221f55077408"
 +  }
 +
 +Réponse:
 +  {
 +      "success": "true",
 +      "events": [
 +          "input input_0 state%3Atrue",
 +          "output output_0 state%3Atrue",
 +          "output output_1 state%3Atrue"
 +      ]
 +  }