Projects
rEve API privée get/rooms

Description

Le service get/rooms permet de récupérer de l'information sur les classes d'un partenaire qui correspond à une école, durant le cycle scolaire en cours au moment de l'appel, ou, à défaut, le dernier cycle scolaire défini sur l'école.

Il ne peut être appelé que par un administrateur ou un partenaire.

Type de requête

Requête HTTP GET

Données en entrée

Ce type de requête accepte le paramètre partnerId en entrée.

{siteUrl}/get/rooms?partnerId=1234

Ensuite, 2 paramètres optionnels peuvent être renseignés: depth et attendances.

Paramètre « depth »

Le paramètre depth se réfère à la profondeur de l'information retournée. il peut valoir de 0 à 3, 0 étant la valeur par défaut. Voici la signification de chaque niveau.

Niveau Signification Défaut?
0 L'information de chaque classe est retournée, sans plus de détail. Oui
1 En plus de l'information de niveau 0, ce niveau ajoute, pour chaque classe, ses fréquentations. Une fréquentation est définie comme la présence d'un enfant dans la classe pendant une période donnée, définie par un intervalle de temps (date de début, date de fin). Non
2 En plus de l'information de niveau 1, ce niveau ajoute, pour chaque fréquentation, des détails au sujet de l'enfant. Non
3 En plus de l'information de niveau 2, ce niveau ajoute, pour chaque enfant, des détails au sujet du parent. Non

Il se peut qu'il y ait des doublons dans les données retournées: un enfant peut potentiellement être référencé par plusieurs fréquentations (bien que ce cas soit essentiellement théorique, lire plus bas); un parent peut être référencé par plusieurs enfants. Quand pareil cas de figure se produit, seule la première entrée sera complète. Les autres entrées mentionneront uniquement l'identifiant (tag iid) de l'enfant ou du parent déjà rencontré.

Si vous appelez get/rooms uniquement dans le but de récupérer les identifiants des classes à mentionner dans un appel au service create/activity, spécifiez une profondeur de 0: dans ce cas, une profondeur plus importante consommerait inutilement de la puissance de calcul et de la bande passante.

Paramètre « attendances »

Le paramètre attendances permet de filtrer la liste des fréquentations retournées pour chaque classe. Voici les valeurs possibles.

Valeur Signification Défaut?
all Toutes les fréquentations de chaque classe sont retournées Oui
now Pour chaque classe, seules les fréquentations d'actualité au moment de l'appel seront retournées. Non
period Pour chaque classe, seules les fréquentations applicables à la période donnée en paramètre sont retournées. Ce paramètre accepte donc un argument: un identifiant de période, qui s'accolle au nom du paramètre via un underscore, comme sur cet exemple: period_45261:2. L'identifiant de période y référence la troisième période interne définie sur l'activité dont l'identifiant entier (iid) est 45261. L'identifiant d'une période externe est un simple identifiant entier (iid). Non
interval Pour chaque classe, seules les fréquentations applicables à l'intervalle temporel défini par les arguments (dates de début et date de fin) sont retournées. Chacun de ces arguments est de la forme YYYYMMDD et est accollé à l'élément précédent via un underscore, comme sur cet exemple: interval_20260710_20260712, qui définit l'intervalle du 10 au 12 juillet 2026. Non

Données de retour

Toute donnée de retour représentant une erreur respectera le format de retour standard. Les sous-sections suivantes décrivent les données de retour en cas de succès, pour chaque niveau de profondeur.

Profondeur 0

Les données de retour pour une profondeur 0 ont un format tel qu'illustré ci-dessous. Cet exemple est tronqué et ne reprend que les 3 premières classes sur les 18 existantes.

<rooms type="list" count="18">
 <e type="object" className="Object">
  <iid type="int">61882</iid>
  <code>M0/M1A</code>
  <description/>
  <level>m1</level>
  <childrenCount type="int">4</childrenCount>
  <cycle>2025 · 2026</cycle>
 </e>
 <e type="object" className="Object">
  <iid type="int">61883</iid>
  <code>M1B</code>
  <description/>
  <level>m1</level>
  <childrenCount type="int">13</childrenCount>
  <cycle>2025 · 2026</cycle>
 </e>
 <e type="object" className="Object">
  <iid type="int">61884</iid>
  <code>P1A</code>
  <description/>
  <level>p1</level>
  <childrenCount type="int">21</childrenCount>
  <cycle>2025 · 2026</cycle>
 </e>
...
</rooms>

Chaque classe dispose d'un identifiant (tag iid), qui doit notamment être utilisé dans le cadre du service create/activity, dans le tag rooms.

Le niveau scolaire auquel correspond la classe est repris dans le tag level, et est généralement incrusté dans le tag code également. Ce dernier tag représente une sorte de nom court ayant du sens pour l'utilisateur final. La liste de tous les niveaux scolaires existants est listée ici.

Une description (optionnelle) de la classe peut être fournie.

Le nombre d'enfants dans cette classe est repris sous le tag childrenCount. Pour être plus précis, il ne s'agit pas réellement du nombre d'enfants, mais du nombre de fréquentations. Une fréquentation se définit comme la présence d'un enfant dans une classe, depuis une date de début jusqu'à une date de fin; classe appartenant à un certain niveau scolaire au sein d'une école. Ce compte est donc une approximation, car il compte également les fréquentations qui ne sont plus d'actualité (enfants ayant quitté la classe à partir d'une date appartenant au passé). Par ailleurs, il pourrait compter un enfant en double: c'est théoriquement possible si l'enfant est présent dans la classe, par exemple en début d'année, puis change de classe ou d'école pour, au final, revenir dans sa classe initiale. Dans ce cas, il existerait 2 fréquentations concernant le même enfant et elles seraient toutes deux comptées.

Le cycle scolaire auquel appartient la classe fait l'objet du tag cycle.

Profondeur 1

Les données de retour pour une prodondeur 1 ajoutent, pour chaque classe, ses fréquentations via le tag attendances, comme illustré ci-dessous.

<rooms type="list" count="18">
 <e type="object" className="Object">
  <iid type="int">61882</iid>
  <code>M0/M1A</code>
  <description/>
  <level>m1</level>
  <childrenCount type="int">4</childrenCount>
  <cycle>2025 · 2026</cycle>
  <attendances type="list" count="4">
   <e type="object" className="Object">
    <iid type="int">61901</iid>
    <start type="DateTime">2025/08/01 00:00:00 GMT+2</start>
    <end type="DateTime">2026/07/03 00:00:00 GMT+2</end>
    <child type="int">61900</child>
   </e>
  </e>
 ...
</rooms>

L'exemple est tronqué: pour la première classe, il ne montre que la première des 4 fréquentations de la classe, ce qui est bien entendu non représentatif d'une quelconque réalité (une classe de 4 enfants, c'est tout de même assez rare...).

Une fréquentation est définie par un identifiant technique (le tag iid), une date de début et de fin (dont l'heure est non représentative et à ignorer) via les tags start et end, et la mention de l'enfant lié, via son identifiant technique emballé dans le tag child.

Pour être plus précis, le tag child contient l'identifiant de l'enfant dans ces 2 cas de figure:

  • la profondeur est limitée à 1,
  • la profondeur est supérieure, mais les informations au sujet de l'enfant sont déjà présentes in extenso dans une entrée précédente de la réponse XML.

Profondeur 2

Les données de retour pour une profondeur 2 ajoutent, pour chaque fréquentaton de chaque classe, les données de l'enfant lié au sein du tag child, comme illustré ci-dessous.

<rooms type="list" count="18">
 <e type="object" className="Object">
  <iid type="int">61882</iid>
  ...
  <attendances type="list" count="4">
   <e type="object" className="Object">
    <iid type="int">61901</iid>
    ...
    <child type="object" className="Object">
     <genre>m</genre>
     <firstName>Johnn</firstName>
     <name>Cage</name>
     <birthDate type="DateTime">1975/12/11 00:00:00 GMT+1</birthDate>
     <nrn>75121115880</nrn>
     <officialId/>
     <parent type="int">50098</parent>
    </child>
   </e>
 ...
</rooms>

Une entrée au sujet d'un enfant contient les données suivantes.

  • son genre, dans le tag du même nom, qui, erronément, correspond au terme en français et non en anglais comme c'est le cas de tous les autres tags. Les valeurs possibles de ce tag sont: m (garçon), f (fille) ou x (non binaire) [obligatoire];
  • ses nom et prénom, dans les tags name et firstName [obligatoire];
  • sa date de naissance, au sein du tag birthDate, dont la partie horaire est à ignorer [obligatoire];
  • son numéro de registre national, via le tag nrn [obligatoire];
  • un autre identifiant officiel pour l'enfant, via le tag officialId [optionnel];
  • la mention du parent, via son identifiant technique emballé dans le tag parent.

Pour être plus précis, le tag parent contient l'identifiant du parent dans ces 2 cas de figure:

  • la profondeur est limitée à 2,
  • la profondeur est supérieure, mais les informations au sujet du parent sont déjà présentes in extenso dans une entrée précédente de la réponse XML.

Profondeur 3

Les données de retour pour une profondeur 3 ajoutent, pour chaque enfant, les données du parent lié au sein du tag parent, comme illustré ci-dessous.

<rooms type="list" count="18">
 <e type="object" className="Object">
  <iid type="int">61882</iid>
  ...
  <attendances type="list" count="4">
   <e type="object" className="Object">
    <iid type="int">61901</iid>
    ...
    <child type="object" className="Object">
     <genre>m</genre>
     ...
     <parent type="object" className="Object">
      <genre>m</genre>
      <firstName>Iannis</firstName>
      <name>Xenakis</name>
      <nrn>47101565689</nrn>
      <officialId/>
      <address>Avenue électro-acoustique</address>
      <number>6</number>
      <box/>
      <postalCode>1030</postalCode>
      <city>Schaerbeek</city>
      <mobilePhone>0486/69.36.84</mobilePhone>
      <phone/>
     </parent>
    </child>
   </e>
 ...
</rooms>

Une entrée au sujet d'un parent contient les données suivantes.

  • son genre, dans le tag du même nom, qui, erronément, correspond au terme en français et non en anglais comme c'est le cas de tous les autres tags. Les valeurs possibles de ce tag sont: m (homme), f (femme) ou x (non binaire) [obligatoire];
  • ses nom et prénom, dans les tags name et firstName [obligatoire];
  • son numéro de registre national, via le tag nrn [optionnel];
  • un autre identifiant officiel pour le parent, via le tag officialId [optionnel];
  • son adresse postale, via les tags address [obligatoire], contenant le nom de la rue, number [obligatoire], contenant le n° de rue, box [optionnel], contenant un éventuel complément d'adresse (étage, etc), postalCode [obligatoire], contenant le code postal, et city [obligatoire], contenant la localité.
  • son n° de GSM, au sein du tag mobilePhone [optionnel];
  • son n° de téléphone fixe, au sein du tag phone [optionnel].