The json API
Transcription
The json API
The json API Généralités json/list Paramètres Exemple Exemple de recherche d'images: json/section Paramètres Exemples json/article Paramètres Exemples json/article-simple ( >= v1.1) Paramètres Exemples Tests Généralités Cette api permet de récupérer la quasi-totalité de nos contenus en json. Si un contenu n'est pas géré, étendre l'api plutôt que de faire un wireframe spécial. La version utilisée actuellement est la 1.1 json/list Fait une recherche solr dans la section demandée Paramètres nom valeur par défaut description type video type de contenu retourné (video, audio, image, broadcast, etc) page 1 numéro de page. Attention: toute page avec ce paramètre sera mise en cache 24h. Si ce n'est pas le comportement voulu pour l'application, utiliser le paramètre 'p' ci-dessous p 1 numéro de page, mais avec le cache par défaut de 15 minutes limit 10 nombre d'éléments par page (max 100) keyword "" mots clé pour la recherche (séparés par des "+") section section courante section où faire la recherche (images: 1256) w 125 Largeur de l'image du teaser ou du thumbnail h 70 Hauteur de l'image du teaser ou du thumbnail iw 1024 Largeur de l'image (type image uniquement) ih 578 Hauteur de l'image (type image uniquement) dbg - list: permet de voir un débug de la requête solr v - Version de l'API à utiliser order publishdate desc Critère de tri de la requête solr from * Filtre le résultat par date (format: yyyy-MM-dd HH:mm) to NOW/MINUTE Filtre le résultat par date (format: yyyy-MM-dd HH:mm) fq - ajout de critères (filter query) à la requête solr (ex: -type_text:live exclu les videos de type live) Exemple http://www.rts.ch/video/info/journal-19h30/?f=json/list&p=2&type=broadcast&limit=5 Exemple de recherche d'images: recherche de "concordia" dans la section Medias/images (1256): http://www.rts.ch/?f=json/list&p=1&type=image&limit=10&keyword=concordia§ion=1256 pareil avec deux mots clé (concordia et peur): http://www.rts.ch/?f=json/list&p=1&type=image&limit=10&keyword=concordia+peur§ion=1256 pareil dans la section Medias/images/rts (7147) uniquement: http://www.rts.ch/?f=json/list&p=1&type=image&limit=10&keyword=concordia§ion=7147 json/section Parcours les articles de la zone Paramètres nom valeur par défaut description zone content la zone où prendre les contenus v - Version de l'API à utiliser Exemples http://www.rts.ch/video/?f=json/section http://www.rts.ch/video/?f=json/section&zone=player En général, il faut spécifier la version : http://www.rts.ch/video/?f=json/section&zone=player&v=1.1 json/article Fait un article use sur l'id passé ou bien prends l'article ouvert Paramètres nom valeur par défaut description id article dans le scope request (article ouvert) id de l'article recherché vid et bcid - ids de la vidéo et de l'émission dans le cas d'une recherche de vidéo de Xobix w - largeur du média pour les audios et les vidéos h - hauteur du média pour les audios et les vidéos v - Version de l'API à utiliser Exemples http://www.rts.ch/video/info/flash/870448.html?f=json/article http://www.rts.ch/video/info/flash/?f=json/article&id=870448 En général, il faut spécifier la version : http://www.rts.ch/video/info/flash/?f=json/article&id=870448&v=1.1 json/article-simple ( >= v1.1) renvoie quelques informations de base sur l'article (uniquement vidéo ou audio). Paramètres nom valeur par défaut description id article dans le scope request (article ouvert) id de l'article recherché vid et bcid - ids de la vidéo et de l'émission dans le cas d'une recherche de vidéo de Xobix v - ( < 1.1 retourne une 404 ) Version de l'API à utiliser extra (N'existe plus en 5.4) - Si setté à 1, renvoie également les infos des articles non publiés Exemples http://www.rts.ch/video/info/flash/870448.html?f=json/article-simple&v=1.1 http://www.rts.ch/video/info/flash/?f=json/article&id=870448&v=1.1 http://www.rts.ch/a/870448.html?f=json/article-simple&v=1.1 Tests Les tests pour l'API JSON font partie de la procédure de QA et sont donc intégrés dans les scripts de QA. Pour tester l'API le script suivant doit être lancé à la racine de la publication rts (ex: /home/dumontlo/webapps/rts ou /opt/tomcat/webapps-pres04/rts): $ qa json-test Ce script va télécharger les résultats de plusieurs urls (liste modifiable dans /data/arteria/scripts/dev/qa-dependencies/qa-test-json) et sauver les résultats dans des fichiers (dans rts-ch/tests/json/sources/). En sortie, le script donne une url (ex: https://www.pres04.ecestage.rts.ch/rts/rts-ch/tests/json/?counter=10) pour charger les tests QUnit et voir les différences entre la prod et l'environnement sur lequel on est (dev ou staging).