Nous allons montrer un exemple en utilisant différentes requêtes de l'API pour créer un cours par thèmes.
Pour cela, nous utilisons la requête POST content. Vous pouvez trouver l'explication et l'exemple de la requête dans notre documentation de l'API dans la section “CONTENT” -> “Content General” -> “Créer un content”.
POST https://www.apiclassonlive.com/api/v1/eyJhzI1NiJ9.eyjUzLjUz.../content
Cette méthode doit inclure dans son corps de requête le titre du cours et le type de cours. Dans notre cas “Temas”:
{
"title": "Titre d'exemple",
"type": "Temas"
}
Si tout s'est bien passé, cette requête nous renvoie un objet avec la structure suivante:
{
"ok": true,
"contentId": 33078
}
Cet objet contiendra la clé “contentId” qui identifiera désormais le cours créé.
Maintenant que le cours est créé, nous allons lui ajouter un thème. Pour cela, vous pouvez voir l'exemple dans notre documentation à la section “CONTENT” -> “Thèmes” -> “Ajouter un thème à un cours”.
POST https://www.apiclassonlive.com/api/v1/ eyJhzI1NiJ9.eyjUzLjUz.../theme
Son corps de requête correspondant serait le suivant:
{
"title":"Titre du thème"
"description":"Description du thème"
"contentId":33078 // contentId reçu de la réponse précédente
"order":1 // Position qu'occupera le thème créé
}
La réponse que nous recevrons sera la suivante:
{
"ok": true,
"themeId": 38
}
Où “themeId” sera l'identifiant qui fait référence au nouveau thème créé.
Avec cette requête, nous pouvons créer autant de thèmes que nécessaire pour notre cours.
Un thème en soi ne peut stocker aucun type de ressource pour l'élève. Les thèmes contiennent des modules. Lesquels stockent à leur tour le contenu que l'élève pourra visualiser.
L'étape suivante consiste à créer un module associé au thème. Pour cela, consultez comment créer un module dans la section “CONTENT” -> “Thèmes” -> “Ajouter un module à un thème” dans la documentation.
POST https://www.apiclassonlive.com/api/v1/eyJhzI1NiJ9.eyjUzLjUz.../theme/addModule
Dont le corps de requête sera similaire au suivant:
{
"title":"Titre du module"
"description":"Description du nouveau module"
"themeId":38,
"contentId":33078
"order":1 // Position qu'occupera le module au sein du thème
}
À la suite de cette requête, nous recevrons un objet avec la structure suivante:
{
"ok": true,
"moduleId": 60
}
Notre cours contient maintenant un thème qui contient à son tour un module.
Pour ajouter du matériel à ce module, il n'existe pas encore de méthodes disponibles dans notre API ; l'ajout de matériel doit donc se faire depuis notre site web.
Une fois notre cours prêt, l'étape suivante consiste à y ajouter des élèves.
Pour cela, nous disposons de la requête content/student. Vous trouverez plus d'informations à son sujet dans la section de l'API “UTILISATEURS” -> “Applicant/élève” -> “Ajouter un élève à un content”.
POST https://www.apiclassonlive.com/api/v1/eyJhzI1NiJ9.eyjUzLjUz.../content/student
Avec son corps de requête correspondant:
{
"email": "[email protected]",
"contentId": 33078,
"name": "nom de l'élève",
"themes": ["38"],
}
La clé “themes” est optionnelle. Elle ne sert que lorsque des élèves sont ajoutés à un cours de type “Temas”. Elle permet d'ajouter un élève à un cours par thèmes sans lui donner accès à tous les thèmes du cours. Si c'est le cas, il faut indiquer dans le tableau les “themeId” auxquels on souhaite ajouter l'élève.
Dans le cas contraire, si l'on souhaite que l'élève accède à tous les thèmes, il n'est pas nécessaire d'ajouter cette clé.
Si tout s'est bien passé, la réponse suivante est reçue:
{
"link": "https://subdomain.classonlive.com/sala-webinar/titulo-de-ejemplo?code=Xs9JH7T/neCiFL93TWAQfQ==", // Le lien d'accès à la salle n'est renvoyé que si le cours est Session unique ou Session multiple
"name": "nom de l'élève",
"email": "[email protected]",
"applicantId": 142829,
"ok": true,
"isNewUser": true,
"password": "8476235" // Uniquement renvoyé s'il s'agit d'un nouvel utilisateur
}
Avec cette méthode, nous pouvons ajouter autant d'élèves que souhaité.
Nous allons maintenant récupérer les ressources ajoutées précédemment depuis le site afin que l'élève du cours puisse les consulter.
Comme il s'agit d'un cours par thèmes, nous devons nous rendre dans la section “CONTENT RESOURCES” -> “Ressource thèmes/modules” -> “Recevoir les ressources d'un module”.
GET https://www.apiclassonlive.com/api/v1/eyJhzI1NiJ9.eyjUzLjUz.../theme/getmoduleresources/60
Nous recevrons une réponse semblable à la suivante:
"resources": [
{
"resourceType": "Video",
"title": "nouvelle vidéo",
"description": "Ceci est la description de la vidéo",
"resourceId": 285095
},
{
"resourceType": "Resource",
"title": "Titre de la ressource",
"description": "Ceci est la description du document",
"resourceId": 380443
},
{
"resourceType": "Session",
"resourceId": 614091,
"initOneDayDate": 1621404000000,
"initMidLongDate": null,
"endMidLongDate": null,
"theContentDuration": "d30m",
"theContentMethod": "Broadcast",
"theContentType": "One_Day",
"theAssignedExpert": "[email protected]"
},...
Ici apparaissent toutes les ressources associées au module transmis en paramètre dans la requête. Avec cet objet, nous pourrons lister ces ressources sur notre site web.
Si nous souhaitons en plus fournir le lien d'accès à la ressource, nous devons appeler la requête suivante. Vous trouverez plus de détails dans la documentation, section “CONTENT RESOURCES” -> “Ressource thèmes/modules” -> “Recevoir le lien d'une ressource d'un module”.
GET https://www.apiclassonlive.com/api/v1/eyJhzI1NiJ9.eyjUzLjUz.../content/getmoduleresourcelink/Resource/380443
Cette requête se compose de deux paramètres. “Resource” est le “resourceType” reçu de la requête décrite précédemment. Dans ce cas, de type “Resource” et 380443, l'identifiant de la ressource également reçu de la requête précédente.
La réponse que nous recevrons aura la structure suivante:
{
"ok": true,
"link": "https://www.example.com/archivo.pdf"
}
Ainsi, nous terminons l'exemple montrant comment créer un cours de type thèmes, ajouter des thèmes et des modules dans chaque thème et, enfin, afficher les ressources d'un module afin que les élèves puissent y accéder.
