Cette page dĂ©crit lâinterface HTTP/XML publique offerte par rEve.
Principes de l'intégration
Un systĂšme tiers peut interagir avec rEve via des requĂȘtes de type HTTP GET retournant des rĂ©ponses au format XML. Les requĂȘtes de l'API publique d'un site rEve permettent de consulter, via requĂȘtes HTTP/XML, le mĂȘme contenu que celui disponible via le site sans ĂȘtre authentifiĂ©, câest-Ă -dire la liste des activitĂ©s actuellement publiĂ©es.
Authentification
Les requĂȘtes publiques de rEve ne nĂ©cessitent pas dâauthentification.
Les requĂȘtes HTTP
Toutes les requĂȘtes sont de type GET et retournent une rĂ©ponse au format XML. Dans cette rĂ©ponse, certains champs pourront contenir des URLs vers dâautres requĂȘtes, permettant de complĂ©ter lâinformation rĂ©ceptionnĂ©e par la premiĂšre requĂȘte.
Fichiers binaires
Les fichiers binaires exposĂ©s via l'interface, tels les images des activitĂ©s, le sont au sein mĂȘme des charges utiles XML, Ă l'intĂ©rieur desquelles des tags contiendront tout ou partie des fichiers binaires, encodĂ©s en Base64.
Partons d'un exemple, au sein duquel les parties encodées en Base64 ont été tronquées.
<picture type="file" mimeType="image/png" name="LibreOffice.png">
<part type="base64" number="1">iVBORw0KGgoAAAANSUhEUgAAA...</part>
<part type="base64" number="2">rsnY99YHNva8QBcCTUSEcYClG8RKJv2XU...</part>
</picture>
Le tag principal, nommé ici picture, doit contenir les métadonnées suivantes: un type (valant "file", comme sur l'exemple), le type MIME du fichier et un nom polissé (attribut name).
Ensuite, un ou plusieurs sous-tags nommĂ©s part doivent charrier le contenu du fichier, dĂ©cupĂ©s en morceaux si la taille du fichier dĂ©passe une taille limite dĂ©finie en interne. Chaque partie doit mentionner son type valant "base64" et son numĂ©ro d'ordre (attribut number, dont la premiĂšre manifestation est 1 et non 0) parmi la sĂ©quence des parties du mĂȘme fichier. Quant au contenu du tag, il s'agit de l'encodage en Base64 de la partie du fichier. Pourquoi dĂ©couper ces fichiers binaires en morceaux? Le constat est que dĂ©coder des bouts courts de chaĂźnes encodĂ©es en Base64 et les concatĂ©ner ensuite est plus performant qu'un dĂ©codage d'une chaĂźne unique plus longue.
Notation
L'URL de base du site sera notée {siteUrl}.
Services
Les services disponibles sont listés dans le tableau ci-dessous.
| Service |
Description |
Type de requĂȘte |
| get/activities |
RécupÚre la liste des activités actuellement publiées |
GET |
| {activityId}/xml |
RécupÚre le détail d'une activité dont l'identifiant est activityId |
GET |
| get/activityTypes |
RécupÚre les types d'activités actif sur un site rEve |
GET |
| get/domainCategories |
RécupÚre les catégories de domaines actives |
GET |
| get/activityTargets |
RécupÚre les publics-cibles actif actuellement définis |
GET |
| get/activityTags |
RécupÚre les tags actuellement définis |
GET |
| {periodId}/xml |
RécupÚre les détails au sujet d'une période externe, dont l'identifiant est periodIdi référencée par une activité |
GET |