Les API Brightspace exposent des fonctionnalités permettant aux utilisateurs d’ajouter et de supprimer du contenu des cours. Les exemples suivants montrent comment ces API peuvent être utilisées pour créer un plan standard pour un cours.
Supposons que tous les cours doivent comporter les modules suivants :
- Introduction
- Schéma de marquage
- Examen à mi-parcours
- Révision de l’examen
Si nous avons une liste de cours identifiés par leur ID d’unité d’organisation, nous pouvons vérifier s’il y a du contenu attribué et les modifier au besoin.
Nous pouvons consulter la documentation de Valence pour les itinéraires qui nous permettent de manipuler le cours contenudes cours.
Nous allons d’abord récupérer le contenu actuel d’un cours avec un ID d’unité d’organisation de 121535.
GET /d2l/api/le/1.0/121535/content/root/200 OK[{"Structure » : [],"ModuleStartDate » : null,"ModuleEndDate » : null,"IsHidden » : false,"IsLocked » : false,"Id » : 97657,"Title » : « Customs »,"ShortTitle » : « »,"Type » : 0}]
Il semble qu’un module ait déjà été créé pour ce cours. Supprimons-le avant d’ajouter nos propres modules.
DELETE /d2l/api/le/1.0/121535/content/modules/97657200 OK
Si nous vérifions à nouveau la racine du contenu du cours, nous devrions recevoir un tableau vide.
GET /d2l/api/le/1.0/121535/content/root/200 OK[]
Nous sommes maintenant prêts à ajouter nos propres modules.
POST /d2l/api/le/1.0/121535/content/root/{"Structure » : [],"ModuleStartDate » : null,"ModuleEndDate » : null,"IsHidden » : false,"IsLocked » : false,"Id » : null,"Title » : « Marking Scheme »,"ShortTitle » : « »,"Type » : 0}200 OKPOST /d2l/api/le/1.0/121535/content/root/{"Structure » : [],"ModuleStartDate » : null,"ModuleEndDate » : null,"IsHidden » : false,"IsLocked » : false,"Id » : null,"Title » : « Introduction »,"ShortTitle » : « »,"Type » : 0}200 OKPOST /d2l/api/le/1.0/121535/content/root/{"Structure » : [],"ModuleStartDate » : null,"ModuleEndDate » : null,"IsHidden » : false,"IsLocked » : false,"Id » : null,"Title » : « Midterm Review »,"ShortTitle » : « »,"Type » : 0}200 OKPOST /d2l/api/le/1.0/121535/content/root/{"Structure » : [],"ModuleStartDate » : null,"ModuleEndDate » : null,"IsHidden » : false,"IsLocked » : false,"Id » : null,"Title » : « Examen »,"ShortTitle » : « »,"Type » : 0}200 OK
Maintenant, nous pouvons revérifier la racine du contenu du cours et récupérer les IDs du module. (Si vous passez des appels sur un environnement d’apprentissage de version 10.2.0 ou version ultérieure, les appels pour créer des rubriques et des modules doivent vous renvoyer des informations sur chaque structure au fur et à mesure que vous les créez, de sorte que vous aurez la valeur Module ou ID de sujet à ce stade.)
GET /d2l/api/le/1.0/121535/content/root/200 OK[{"Structure » : [],"ModuleStartDate » : null,"ModuleEndDate » : null,"IsHidden » : false,"IsLocked » : false,"Id » : 97657,"Title » : « Introduction »,"ShortTitle » : « »,"Type » : 0},{"Structure » : [],"ModuleStartDate » : null,"ModuleEndDate » : null,"IsHidden » : false,"IsLocked » : false,"Id » : 97658,"Title » : « Marking Scheme »,"ShortTitle » : « »,"Type » : 0},{"Structure » : [],"ModuleStartDate » : null,"ModuleEndDate » : null,"IsHidden » : false,"IsLocked » : false, » Id » : 97659,"Title » : « Midterm Review »,"ShortTitle » : « »,"Type » : 0},{"Structure » : [],"ModuleStartDate » : null,"ModuleEndDate » : null,"IsHidden » : false,"IsLocked » : false,"Id » : 97660,"Title » : « Exam Review »,"ShortTitle » : « »,"Type » : 0}]
Maintenant, le cours a un ensemble standard de modules créés. Définissons les dates de début et de fin du module d’introduction.
PUT /d2l/api/le/1.0/121535/content/modules/97657{"Structure » : [],"ModuleStartDate » : « 2013-05-20T13:00:00.000Z »,"ModuleEndDate » : « 2013-05-24T22:00:00.000Z »,"IsHidden » : false,"IsLocked » : false,"Id » : 97657,"Title » : « Introduction »,"ShortTitle » : « »,"Type » : 0}200 OK
Comme dernière étape, ajoutons un sous-module à l’introduction. (Edit : Correction de l’itinéraire ci-dessous vers POST, plutôt que PUT.)
POST /d2l/api/le/1.0/121535/content/modules/97657/structure/{"Structure » : [],"ModuleStartDate » :null,"ModuleEndDate » : null,"IsHidden » : false,"IsLocked » : false,"Id » : null,"Title » : « Professor-Student Mixer »,"ShortTitle » : « »,"Type » : 0}200 OK
Cela couvre les bases de la manipulation de modules dans un cours.