Chapitre 11 GET POST

getRecordings – Récupérer les enregistrements

Le point de terminaison getRecordings renvoie une liste des enregistrements de votre serveur BigBlueButton, filtrés par ID de réunion, ID d’enregistrement ou état. Il prend en charge la pagination à partir de BBB 2.7, ce qui facilite la récupération de grands ensembles d’enregistrements en segments gérables.

Point de terminaison

GET/POST https://api-guide.bbbserver.com/bigbluebutton/api/getRecordings?<parameters>&checksum=replace-with-checksum

Paramètres

Paramètre Type Obligatoire Par défaut Description
meetingID String Liste d’ID de réunion séparés par des virgules. Ignorée lorsque recordID est fourni. Si omis, tous les enregistrements sont renvoyés.
recordID String Liste d’ID d’enregistrement séparés par des virgules. A priorité sur meetingID. Prend en charge la correspondance par préfixe — par exemple, 652c9eb4 correspond à tous les enregistrements dont l’ID commence par ce préfixe.
state String published,unpublished Filtre d’état séparé par des virgules. Valeurs valides : processing, processed, published, unpublished, deleted. Utilisez any pour renvoyer tous les états.
meta String Filtre de métadonnées utilisant le même format que dans l’appel create (par ex. meta_presenter=John).
offset Integer 0 Index de départ pour la pagination. Ne prend effet que lorsque limit est également fourni. BBB 2.7+
limit Integer Nombre maximal d’enregistrements par réponse (de 1 à 100). Les valeurs en dehors de cette plage sont automatiquement ramenées dans les limites. BBB 2.7+

Aucun des paramètres n’est requis. L’appel de getRecordings sans filtre renvoie tous les enregistrements published et unpublished du serveur.

États des enregistrements

État Description
processing L’enregistrement est actuellement en cours de traitement.
processed Le traitement est terminé, mais l’enregistrement n’a pas encore été publié.
published L’enregistrement est publié et accessible aux utilisateurs.
unpublished L’enregistrement existe, mais n’est pas accessible aux utilisateurs.
deleted L’enregistrement a été marqué pour suppression.

Le filtre d’état par défaut inclut uniquement les enregistrements published et unpublished. Pour voir les enregistrements encore en cours de traitement ou ayant été supprimés, vous devez définir explicitement le paramètre state.

Champs de réponse

Champ Type Description
recordID String Identifiant unique de l’enregistrement.
meetingID String L’ID de réunion externe associé à cet enregistrement.
internalMeetingID String L’ID interne de réunion utilisé par BigBlueButton.
name String Le nom de la réunion au moment où elle a été enregistrée.
isBreakout Boolean Indique si cet enregistrement provient d’une salle de répartition.
published Boolean Indique si l’enregistrement est actuellement publié.
state String État actuel de l’enregistrement (processing, processed, published, unpublished, deleted).
startTime Long Horodatage Unix en millisecondes indiquant le début de la réunion.
endTime Long Horodatage Unix en millisecondes indiquant la fin de la réunion.
participants Integer Nombre de participants à la réunion.
rawSize Long Taille des données brutes de l’enregistrement en octets.
size Long Taille de l’enregistrement traité en octets.
metadata Object Paires clé-valeur de métadonnées personnalisées associées à l’enregistrement.
playback Object Détails du format de lecture, y compris l’URL, le temps de traitement, la durée, la taille et les miniatures d’aperçu.
totalElements Integer Nombre total d’enregistrements correspondants. Présent uniquement lorsque des paramètres de pagination sont utilisés. BBB 2.7+

Exemple de requête

Tous les enregistrements publiés

getRecordings?checksum=replace-with-checksum

Enregistrements pour une réunion spécifique

getRecordings?meetingID=replace-with-meeting-id&checksum=replace-with-checksum

Plusieurs réunions

getRecordings?meetingID=replace-with-meeting-id-1,replace-with-meeting-id-2&checksum=replace-with-checksum

Par ID d’enregistrement

getRecordings?recordID=replace-with-recording-id&checksum=replace-with-checksum

Tous les états

getRecordings?state=any&checksum=replace-with-checksum

Requête paginée (enregistrements 21 à 30)

getRecordings?state=published&offset=20&limit=10&checksum=replace-with-checksum

Exemple de réponse

<response>
  <returncode>SUCCESS</returncode>
  <recordings>
    <recording>
    <recordID>replace-with-recording-id</recordID>
    <meetingID>replace-with-meeting-id</meetingID>
    <internalMeetingID>replace-with-internal-meeting-id</internalMeetingID>
      <name>Project Meeting</name>
      <isBreakout>false</isBreakout>
      <published>true</published>
      <state>published</state>
      <startTime>1462283509434</startTime>
      <endTime>1462284509434</endTime>
      <participants>5</participants>
      <metadata>
        <bbb-origin>greenlight</bbb-origin>
      </metadata>
      <rawSize>123456789</rawSize>
      <size>98765432</size>
      <playback>
        <format>
          <type>presentation</type>
                    <url>https://api-guide.bbbserver.com/playback/presentation/2.3/replace-with-recording-id</url>
          <processingTime>62890</processingTime>
          <length>45</length>
          <size>98765432</size>
          <preview>
            <images>
              <image width="176" height="136" alt="Welcome">
                                https://api-guide.bbbserver.com/presentation/replace-with-recording-id/thumbnail_0.png
              </image>
            </images>
          </preview>
        </format>
      </playback>
    </recording>
  </recordings>
</response>

Pagination BBB 2.7+

Lorsque vous incluez les paramètres offset et/ou limit, la réponse contient un champ supplémentaire totalElements indiquant le nombre total d’enregistrements correspondants. Cela vous permet de calculer le nombre total de pages et de créer des contrôles de pagination dans votre application.

<response>
  <returncode>SUCCESS</returncode>
  <totalElements>42</totalElements>
  <recordings>
    <!-- recording elements -->
  </recordings>
</response>
bbbserver.de — Sur bbbserver.de, le point de terminaison getRecordings est entièrement disponible via l’API. La pagination est prise en charge sur toutes les offres serveur actuelles exécutant BBB 2.7 ou une version ultérieure.

Conseils

  • Utilisez recordID avec un préfixe pour rechercher des enregistrements lorsque vous ne disposez que d’un ID partiel — BigBlueButton fait correspondre tous les enregistrements dont l’ID commence par la chaîne fournie.
  • Spécifiez toujours explicitement le paramètre state si vous devez voir des enregistrements encore en cours de traitement ou qui ont été supprimés, car ceux-ci sont exclus par défaut.
  • Combinez meetingID avec state pour affiner efficacement les résultats — par exemple, pour trouver uniquement les enregistrements publiés d’une réunion spécifique.
  • Pour les déploiements importants avec de nombreux enregistrements, utilisez la pagination afin d’éviter les délais d’attente et de réduire la taille des réponses.
  • Utilisez des filtres de métadonnées (paramètres meta_) pour trouver des enregistrements en fonction d’attributs personnalisés définis lors de la création de la réunion.

Foire aux questions

Le point de terminaison renvoie tous les enregistrements dont l’état est published ou unpublished. Les enregistrements encore en cours de traitement ou marqués pour suppression ne sont pas inclus, sauf si vous définissez explicitement le paramètre state.

Lorsque vous fournissez un ID d’enregistrement partiel, BigBlueButton fait correspondre tous les enregistrements dont l’ID complet commence par la chaîne fournie. Par exemple, passer 652c9eb4 renverra chaque enregistrement dont l’ID commence par ce préfixe. Cela est parfois appelé correspondance générique dans la documentation officielle, mais il s’agit strictement d’une correspondance par préfixe (startsWith), et non d’une correspondance par sous-chaîne.

Oui. Utilisez le paramètre meta avec les mêmes noms de clé que ceux définis lors de la création de la réunion. Par exemple, si vous avez passé meta_presenter=John lors de la création de la réunion, vous pouvez filtrer avec la même paire clé-valeur dans getRecordings. Notez que le comportement exact de correspondance des filtres de métadonnées n’est pas entièrement spécifié dans la documentation officielle.

Le meetingID est l’identifiant externe que vous avez attribué lors de la création de la réunion. Une seule réunion peut produire plusieurs enregistrements. Le recordID est un identifiant unique pour chaque enregistrement individuel. Lorsque les deux sont fournis, recordID a priorité et meetingID est ignoré.

La pagination nécessite BBB 2.7 ou une version ultérieure. Définissez le paramètre limit pour contrôler combien d’enregistrements sont renvoyés par requête (de 1 à 100), et utilisez offset pour ignorer un certain nombre de résultats. La réponse inclura un champ totalElements afin que vous puissiez calculer le nombre total de pages. Le paramètre offset n’a aucun effet sauf si limit est également spécifié.

BigBlueButton borne automatiquement la valeur à la plage autorisée. Si vous transmettez une valeur supérieure à 100, elle est traitée comme 100. Si vous transmettez une valeur inférieure à 1, elle est traitée comme 1. Aucune erreur n’est renvoyée.

Oui. Les enregistrements des salles de répartition sont inclus et peuvent être identifiés par le champ isBreakout défini à true. Ils peuvent également contenir des champs supplémentaires tels que l’ID de la réunion parente et le numéro de séquence de la salle de répartition.