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&section=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&section=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&section=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).

Documents pareils