Projects
rEve API publique

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
//7
Title
1 get/activities
2 {activityId}/xml
3 get/activityTypes
4 get/domainCategories
5 get/activityTargets
6 get/activityTags
7 {periodId}/xml