Si vous souhaitez utiliser l'API de classonlive, vous aurez besoin d'un TOKEN
Pour obtenir le token, naviguez vers votre panneau de contrôle de classonlive.com, allez à la section des intégrations et cliquez sur l'onglet API. Une fois là-bas, vous devrez enregistrer l'IP depuis laquelle les requêtes seront effectuées. À l'IP sera associé un token ressemblant à : eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJjbGFzc29ubGl2ZSIsI.mRhdGEiOiJ7XC Vous devez remplacer la partie {TOKEN} dans les routes par le token associé à votre IP. Vous ne pourrez faire des requêtes que depuis l'IP que vous avez enregistrée.
Cette API est conçue pour créer des webinaires / conférences en direct / cours en direct. Ces cours dans cette documentation seront appelés « contenu ».
Cette API ne fonctionne pas avec des cours modulaires ou de pack.
ContentObject est l'objet qui est renvoyé lors de l'envoi d'une requête dans cette section. Cet objet montre des informations détaillées sur le cours en question. Selon la requête, l'objet peut afficher plus ou moins de champs. Dans la section « Response Body » de chaque requête, vous pouvez voir un exemple détaillé des champs que renvoie cette requête.
Content-Type: application/json
{
"title": "Titulo de ejemplo",
"type": "Sujets"
}
curl --request POST \
--url https://www.apiclassonlive.com/api/v1/{token}/content \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true,
"contentId": 33078
}
Content-Type: application/json
{
"title": "Titulo de ejemplo",
"type": "Sujets"
}
curl --request PUT \
--url https://www.apiclassonlive.com/api/v1/{token}/content/{contentid} \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true,
"contentId": 33078
}
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/content
Content-Type: application/json
{
"contentList": [
{
"contentId": 32957,
"title": "Ejemplo curso un día",
"teacher": "[email protected]",
"oneDayDate": "2020-10-28T22:12:00.000Z",
"multipleDayFromDate": null,
"multipleDayToDate": null,
"type": "Broadcast",
"particularInitDate": null,
"particularEndDate": null,
"contentType": "oneDay",
"scormPath" : "enlace_curso_scorm"
},
{
"contentId": 32956,
"title": "Ejemplo curso multisesión",
"teacher": "[email protected]",
"oneDayDate": null,
"multipleDayFromDate": "2020-07-23T22:00:00.000Z",
"multipleDayToDate": "2020-08-24T22:00:00.000Z",
"type": "Broadcast",
"particularInitDate": null,
"particularEndDate": null,
"contentType": "multipleDay",
"scormPath" : "enlace_curso_scorm"
},
{
"contentId": 32953,
"title": "Ejemplo curso particular",
"teacher": null,
"oneDayDate": null,
"multipleDayFromDate": null,
"multipleDayToDate": null,
"type": "Broadcast",
"particularInitDate": null,
"particularEndDate": null,
"contentType": "particular",
"scormPath" : "enlace_curso_scorm"
}
],
"ok": true
}
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/content/{contentid}
Content-Type: application/json
//si es de sesión única
{
"content": {
"contentId": 32960,
"title": "título curso única sesión",
"teacher": "[email protected]",
"oneDayDate": "2020-10-28T22:12:00.000Z",
"durartion": "d30m",
"type": "Broadcast"
},
"ok": true
}
//si es multisesión
{
"content": {
"contentId": 32962,
"title": "título curso multisesión",
"teacher": "[email protected]",
"multipleDayFromDate": "2020-07-23T22:00:00.000Z",
"multipleDayToDate": "2020-08-24T22:00:00.000Z",
"type": "Broadcast",
"dates": [
"2020-08-20T05:30:00.000Z",
"2020-08-13T05:30:00.000Z",
"2020-08-06T05:30:00.000Z",
...
]
},
"ok": true
}
//si es particular
{
"content": {
"contentId": 32953,
"title": "título de curso particular",
"startDate": null,
"endDate": null,
"type": "Broadcast",
"contentType": "Particular"
},
"ok": true
}
// si es scorm
{
"content": {
"contentId": 3812,
"title": "Curso Scorm",
"startDate": null,
"endDate": null,
"type": null,
"contentType": "Scorm",
"scormPath": "enlace_curso_scorm"
},
"ok": true
}
curl --request DELETE \
--url https://www.apiclassonlive.com/api/v1/{token}/content/{contentid}
Content-Type: application/json
{
"ok": true
}
Content-Type: application/json
{
"teacher": "[email protected]"
}
curl --request PUT \
--url https://www.apiclassonlive.com/api/v1/{token}/content/{contentid}/teacher \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true
}
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/content/search/{search}
Content-Type: application/json
{
"contentList": [
{
"contentId": 32957,
"title": "Ejemplo curso un día",
"teacher": "[email protected]",
"oneDayDate": "2020-10-28T22:12:00.000Z",
"multipleDayFromDate": null,
"multipleDayToDate": null,
"type": "Broadcast",
"particularInitDate": null,
"particularEndDate": null,
"contentType": "oneDay"
},
{
"contentId": 32956,
"title": "Ejemplo curso multisesión",
"teacher": "[email protected]",
"oneDayDate": null,
"multipleDayFromDate": "2020-07-23T22:00:00.000Z",
"multipleDayToDate": "2020-08-24T22:00:00.000Z",
"type": "Broadcast",
"particularInitDate": null,
"particularEndDate": null,
"contentType": "multipleDay"
},
{
"contentId": 32953,
"title": "Ejemplo curso particular",
"teacher": null,
"oneDayDate": null,
"multipleDayFromDate": null,
"multipleDayToDate": null,
"type": "Broadcast",
"particularInitDate": null,
"particularEndDate": null,
"contentType": "particular"
}
],
"ok": true
}
Content-Type: application/json
{
"title": "nuevo título"
}
curl --request PUT \
--url https://www.apiclassonlive.com/api/v1/{token}/content/{contentid}/title \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true
}
L'objet ContentSingleSessionObject est celui qui est renvoyé lors de l'envoi d'une requête dans cette section. Cet objet montre des informations détaillées sur le cours en question. Selon la requête, l'objet peut afficher plus ou moins de champs. Dans la section “Corps de la réponse” de chaque requête, un exemple détaillé des champs renvoyés par cette requête peut être consulté.
Content-Type: application/json
{
"title": "Titulo de ejemplo",
"session": "2020-10-28T22:12:00.000Z",
"teacher": "[email protected]",
"type": "Broadcast",
"duration": "d30m"
}
curl --request POST \
--url https://www.apiclassonlive.com/api/v1/{token}/content/oneDay \
--header 'content-type: application/json'
Content-Type: application/json
{
"contentId": 32960,
"teacherLink": {
"link": "https://subdomain.classonlive.com/sala-webinar/titulo-de-ejemplo?code=ye4ll60UOoahUykx/ZhY9A==",
"name": "teacher name",
"email": "[email protected]",
"ok": true
},
"ok": true
}
Content-Type: application/json
{
"date": "2020-10-28T22:12:00.000Z",
"duration": "d30m"
}
curl --request PUT \
--url https://www.apiclassonlive.com/api/v1/{token}/content/{contentid}/session \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true
}
L'objet Contenu Session Multiple est l'objet renvoyé lors de l'envoi d'une demande dans cette section. Cet objet montre des informations détaillées sur le cours en question. Selon la demande, l'objet peut afficher plus ou moins de champs. Dans la section “Corps de la réponse” de chaque demande, un exemple détaillé des champs renvoyés par cette demande peut être consulté.
Content-Type: application/json
{
"title": "Título de ejemplo",
"startDate": "2020-10-28T22:12:00.000Z",
"endDate": "2020-11-28T22:12:00.000Z",
"type": "Broadcast",
"teacher":"[email protected]",
"wednesday": {
"hour":"02",
"minutes":"30",
"duration":"d15h"
},
"tuesday": {
"hour":"02",
"minutes":"30",
"duration":"d15h"
}
}
curl --request POST \
--url https://www.apiclassonlive.com/api/v1/{token}/content/{contentid}/multipleday \
--header 'content-type: application/json'
Content-Type: application/json
{
"contentId": 32966,
"ok": true
}
Content-Type: application/json
{
"startDate": "2020-10-28T22:12:00.000Z",
"endDate": "2020-11-28T22:12:00.000Z",
"type": "Broadcast",
"teacher":"[email protected]",
"wednesday": {
"hour":"02",
"minutes":"30",
"duration":"d15h"
}
}
curl --request PUT \
--url https://www.apiclassonlive.com/api/v1/{token}/content/{contentid}/multipleday \
--header 'content-type: application/json'
Content-Type: application/json
{
"contentId": 32966,
"ok": true
}
Le type de contenu pack est un contenu qui englobe plusieurs contenus.
Content-Type: application/json
{
"selectedContents": [33057, 33054]
}
curl --request POST \
--url https://www.apiclassonlive.com/api/v1/{token}/content/{contentId}/packContents \
--header 'content-type: application/json'
Content-Type: application/json
{
ok: true
}
ParticularObject est l'objet qui est renvoyé lors de l'envoi d'une requête dans cette section. Cet objet montre des informations détaillées sur le cours en question. Selon la requête, l'objet peut afficher plus ou moins de champs. Dans la section “Corps de la réponse” de chaque requête, un exemple détaillé des champs renvoyés par cette requête peut être consulté.
Content-Type: application/json
{
"title": "particular desde API",
"type": "Broadcast"
}
curl --request POST \
--url https://www.apiclassonlive.com/api/v1/{token}/content/particular \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true,
"contentId": 32961
}
Content-Type: application/json
{
"title": "particular desde API",
"type": "Broadcast"
}
curl --request PUT \
--url https://www.apiclassonlive.com/api/v1/{token}/content/particular/{contentId} \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true,
"contentId": 32961
}
Content-Type: application/json
{
"startDate": "2019-11-20",
"endDate": "2020-01-20",
"sessions": [
{
"teacher":"[email protected]",
"monday": ["12:00", "14:00"],
"tuesday": ["13:00"]
}
]
}
curl --request PUT \
--url https://www.apiclassonlive.com/api/v1/{token}/particular/{contentid}/calendar \
--header 'content-type: application/json'
Content-Type: application/json
{
"contentId": "32951",
"ok": true
}
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/particular/{contentid}/calendar
Content-Type: application/json
{
"contentId": "32951",
"sessions": [
{
"sessionId": 85262,
"teacher": "[email protected]",
"date": "2019-11-25T12:00:00.000Z",
"teacherLink": "https://subdomain.classonlive.com/sala-personalizada/title-18?code=//TiEr+Mz1AYTxk1JwViRA==&claseParticularId=85262",
"applicants": [
{
"applicantId": 142819,
"email": "[email protected]",
"name": "pepa",
"link": "https://subdomain.classonlive.com/sala-personalizada/title-18?code=goNzUM32KTAc/53SbBQhLA==&claseParticularId=85262"
},
{
"applicantId": 142826,
"email": "[email protected]",
"name": "pepa",
"link": "https://subdomain.classonlive.com/sala-personalizada/title-18?code=g8FK3/hKIHVHaAqRZWrjZA==&claseParticularId=85262"
}
]
},
{
"sessionId": 85263,
"teacher": "[email protected]",
"date": "2019-11-25T14:00:00.000Z",
"teacherLink": "https://subdomain.classonlive.com/sala-personalizada/title-18?code=//TiEr+Mz1AYTxk1JwViRA==&claseParticularId=85263",
"applicants": [
{
"applicantId": 142826,
"email": "[email protected]",
"name": "pepa",
"link": "https://subdomain.classonlive.com/sala-personalizada/title-18?code=g8FK3/hKIHVHaAqRZWrjZA==&claseParticularId=85263"
}
]
}
],
"ok": true,
"type": "One_to_One"
}
ThemeObject est l'objet qui est renvoyé lors de l'envoi d'une demande demandant un thème.
Content-Type: application/json
{
"title":"Título del tema"
"description":"Descripción del tema"
"contentId":33079
"order":1
}
curl --request POST \
--url https://www.apiclassonlive.com/api/v1/{token}/theme \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true,
"themeId": 38
}
Content-Type: application/json
{
"title":"Título del módulo"
"description":"Descripción del módulo"
"contentId":33079,
"themeId": 38,
"order":1
}
curl --request POST \
--url https://www.apiclassonlive.com/api/v1/{token}/theme/addModule \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true,
"moduleId": 38
}
Content-Type: application/json
{
"duration":"d15h",
"moduleId":11789,
"startDay":1622373300000,
"teacher":"[email protected]",
"type":"Broadcast"
}
curl --request POST \
--url https://www.apiclassonlive.com/api/v1/{token}/theme/setOneDaySession \
--header 'content-type: application/json'
Content-Type: application/json
{
ok: true,
resourceId: 32425
}
Content-Type: application/json
{
"moduleId":11788,
"startDate":1621591200000,
"teacher":"[email protected]",
"endDate":1624096800000,
"type":"Broadcast",
"thursday": {"duration":"d5h", "minutes": "30", "hour": "11"},
"tuesday": {"duration": "d6h", "minutes": "30", "hour": "14"}
}
curl --request POST \
--url https://www.apiclassonlive.com/api/v1/{token}/theme/setMultipleDaySession \
--header 'content-type: application/json'
Content-Type: application/json
{
ok: true,
resourceId: 32425
}
Content-Type: application/json
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/theme/getThemeModules/{themeId} \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true,
"modules": {
134: {
moduleId: 134,
title: "Título del módulo",
description: "Descripción del módulo",
order: 1
},
...
}
}
Content-Type: application/json
{
"email": "[email protected]"
}
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/theme/getModule/{moduleId} \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true,
"module": [
{
'resourceType': 'Session',
'resourceId': 324234,
"initOneDayDate": null,
"initMidLongDate": '2020-10-28T22:12:00.000Z',
"endMidLongDate": '2020-10-28T22:12:00.000Z',
"theContentDuration": 'd1h',
"theContentMethod": 'Broadcast',
"theContentType": 'Mid-Long',
"theAssignedExpert": '[email protected]',
},
{
'resourceType': 'Video'
"resourceId": 2342,
"title": 'título',
"description": 'descripción'
},
{
'resourceType': 'Resource',
"resourceId": 34523,
"title": 'título',
"description": 'descripción'
}
]
}
La ressource est l'objet qui est renvoyé lors de l'envoi d'une demande dans cette section. Cet objet montre des informations sur la ressource en question. Dans la section “Corps de la réponse” de chaque demande, vous pouvez voir un exemple détaillé des champs que renvoie cette demande.
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/content/getresources/{contentId}
Content-Type: application/json
{
"courseTitle": "Titulo del curso",
"external": null,
"creator": 13653,
"courseType": null,
"own": [],
"resources": [
{
"resourceType": "Video",
"title": "vídeo nuevo",
"description": "Esta es la descripción del vídeo",
"resourceId": 285095
},
{
"resourceType": "Resource",
"title": "Título del recurso",
"description": "Esta es la descripción del documento",
"resourceId": 380443
},...
],
"contentIdentifier": "titulo-del-curo",
"ok": true
}
Cette demande renverra un lien d'accès à la ressource en question. Le paramètre resourceType n'accepte que les chaînes (“Vidéo”, “Ressource”).
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/content/getresourcelink/{resourceType}/{resourceId}
Content-Type: application/json
{
"ok": true,
"link": "https://www.example.com/archivo.pdf"
}
La ressource est l'objet qui est renvoyé lors de l'envoi d'une demande dans cette section. Cet objet montre des informations sur la ressource en question. Dans la section “Corps de la réponse” de chaque demande, vous pouvez voir un exemple détaillé des champs que renvoie cette demande.
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/theme/getmoduleresources/{moduleId}
Content-Type: application/json
{
"courseTitle": "Titulo del curso",
"external": null,
"creator": 13653,
"courseType": null,
"own": [],
"resources": [
{
"resourceType": "Video",
"title": "vídeo nuevo",
"description": "Esta es la descripción del vídeo",
"resourceId": 285095
},
{
"resourceType": "Resource",
"title": "Título del recurso",
"description": "Esta es la descripción del documento",
"resourceId": 380443
},
{
"resourceType": "Session",
"resourceId": 614091,
"initOneDayDate": 1621404000000,
"initMidLongDate": null,
"endMidLongDate": null,
"theContentDuration": "d30m",
"theContentMethod": "Broadcast",
"theContentType": "One_Day",
"theAssignedExpert": "[email protected]"
},...
],
"contentIdentifier": "titulo-del-curo",
"ok": true
}
Cette demande renverra un lien d'accès à la ressource en question. Le paramètre resourceType n'accepte que les chaînes (“Vidéo”, “Ressource”, “Session”).
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/content/getmoduleresourcelink/{resourceType}/{resourceId}
Content-Type: application/json
{
"ok": true,
"link": "https://www.example.com/archivo.pdf"
}
VideoRecords est l'objet qui est renvoyé lors de l'envoi d'une demande dans cette section. Cet objet montre des informations détaillées sur la vidéo en question. Selon la demande, l'objet peut afficher plus ou moins de champs. Dans la section “Corps de la réponse” de chaque demande, vous pouvez voir un exemple détaillé des champs que renvoie cette demande.
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/video_records/{contentId}
Content-Type: application/json
{
"videos": [
{
"driveUrl": null,
"id": 81583,
"downloadLink": "https://dgi92f62wujwl.cloudfront.net/54150/SampleVideo_1280x720_10mbs.mp4",
"users": [
{
"canDownload": true,
"email": "[email protected]",
"name": "example",
"applicantId": 644,
"viewLink": "https://subdomain.classonlive.com/sala-video/therealtest-4&own&3&Z1e3YzxFffxA5Z385h58/w=="
}
...
],
"processed": true,
"title": null,
"moduleId": null,
"order": 1,
"registerDate": "2019-11-04",
"filename": "54150/SampleVideo_1280x720_10mbs.mp4",
"downloaded": false,
"published": false
},
{
"driveUrl": null,
"id": 81584,
"downloadLink": "https://dgi92f62wujwl.cloudfront.net/54151/IntercoachGroup21552475760317/IntercoachGroup21552475760317.m3u8",
"users": [
{
"canDownload": true,
"email": "[email protected]",
"name": "example",
"applicantId": 644,
"viewLink": "https://subdomain.classonlive.com/sala-video/therealtest-4&own&3&Z1e3YzxFffxA5Z385h58/w=="
}
...
],
"processed": true,
"title": null,
"moduleId": null,
"order": 1,
"registerDate": "2019-11-04",
"filename": "IntercoachGroup21552475760317/IntercoachGroup21552475760317.m3u8",
"downloaded": false,
"published": false
},
...
],
"ok": true
}
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/video_records/{contentId}/{applicantId}
Content-Type: application/json
{
"videos": [
{
"driveUrl": null,
"id": 81583,
"processed": true,
"title": null,
"moduleId": null,
"order": 1,
"registerDate": "2019-11-04",
"filename": "54150/SampleVideo_1280x720_10mbs.mp4",
"userLinks": {
"downloadLink": "https://dgi92f62wujwl.cloudfront.net/54150/SampleVideo_1280x720_10mbs.mp4", // Enlace del vídeo para descargar
"canDownload": true, // Devuelve true si el applicant tiene permitido la descarga del vídeo
"viewLink": "https://subdomain.classonlive.com/sala-video/therealtest-4&own&81583&BctkcZnlr+GUfIDab42L/g==" // Enalce para visualizar el vídeo
},
"downloaded": true,
"published": true
}
],
"ok": true
}
Content-Type: application/json
{
"videoId": 50,
"appList": [{
"applicantId": 1938, // Identificador del applicant
"downloadable": true // True para permitir applicant la descarga del vídeo
},
{
"applicantId": 1937,
"downloadable": true
}]
}
curl --request POST \
--url https://www.apiclassonlive.com/api/v1/{token}/video_records/publishvideo \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true,
"video": {
"driveUrl": null,
"downloadLink": "https://dgi92f62wujwl.cloudfront.net/54150/SampleVideo_1280x720_10mbs.mp4",
"title": null,
"processed": true,
"donwloaded": false,
"moduleId": null,
"order": 1,
"registerDate": "2019-11-04",
"videoId": 81583,
"filename": "54150/SampleVideo_1280x720_10mbs.mp4",
"published": false,
"users": [
{
"canDownload": true, // Devuelve true si el applicant tiene permitido la descarga del vídeo
"applicantId": 142836, // Identificador del applicant
"viewLink": "https://subdomain.classonlive.com/sala-video/therealtest-4&own&81583&L80POO/O9RX1z3Wle242xg==" // Enalce para visualizar el vídeo
},
...
]
}
}
Content-Type: application/json
{
"videoId": 81583,
"appList": [
142836,
...
]
}
curl --request POST \
--url https://www.apiclassonlive.com/api/v1/{token}/video_records/unpublishvideo \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true,
"video": {
"driveUrl": null,
"downloadLink": "https://dgi92f62wujwl.cloudfront.net/54150/SampleVideo_1280x720_10mbs.mp4",
"title": null,
"processed": true,
"donwloaded": true,
"moduleId": null,
"order": 1,
"registerDate": "2019-11-04",
"videoId": 81583,
"filename": "54150/SampleVideo_1280x720_10mbs.mp4",
"published": true
}
}
L'objet ApplicantObject est l'objet renvoyé lors de l'envoi d'une demande dans cette section. Cet objet montre des informations détaillées sur l'utilisateur en question. Selon la demande, l'objet peut afficher plus ou moins de champs. Dans la section « Corps de la réponse » de chaque demande, vous pouvez voir un exemple détaillé des champs renvoyés par cette demande.
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/username/{email}
Content-Type: application/json
{
"name": "nombre",
"ok": true
}
Content-Type: application/json
{
"email": "[email protected]",
"name": "name example"
}
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/username/{email} \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true
}
Content-Type: application/json
{
"email": "[email protected]",
"newEmail": "[email protected]"
}
curl --request PUT \
--url https://www.apiclassonlive.com/api/v1/{token}/useremail \
--header 'content-type: application/json'
Content-Type: application/json
{
"newEmail": "[email protected]",
"ok": true
}
L'objet ApplicantObject est l'objet qui est renvoyé lors de l'envoi d'une demande dans cette section. Cet objet montre des informations détaillées sur l'élève(s) en question. Selon la demande, l'objet peut afficher plus ou moins de champs. Dans la section “Corps de réponse” de chaque demande, un exemple détaillé des champs renvoyés par cette demande peut être consulté.
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/student/search/{search}
Content-Type: application/json
{
"ok": true,
"students": [
{
"name": "nombre ejemplo",
"email": "[email protected]",
"content": "título content",
"contentId": 20940,
"applicantId": 115218
},
...
]
}
Content-Type: application/json
{
"email": "[email protected]",
"contentId": 32960,
"name": "nombre alumno",
"themes": ["34","40"] // Opcional, para añadir al alumno a un tema/as en concreto. Si no se añade la clave "themes" se añadirá al alumno con todos los temas
}
curl --request POST \
--url https://www.apiclassonlive.com/api/v1/{token}/content/student \
--header 'content-type: application/json'
Content-Type: application/json
{
"link": "https://subdomain.classonlive.com/sala-webinar/titulo-de-ejemplo?code=Xs9JH7T/neCiFL93TWAQfQ==",
"name": "nombre alumno",
"email": "[email protected]",
"applicantId": 142829,
"ok": true,
"isNewUser": true,
"password": "8476235" //sólo si es usuario nuevo
}
Content-Type: application/json
{
"email": "[email protected]",
"contentId": 32960
}
curl --request DELETE \
--url https://www.apiclassonlive.com/api/v1/{token}/content/student \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true,
"contentId": 32960,
"email": "[email protected]"
}
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/content/{contentid}/email/{email}
Content-Type: application/json
{
"link": "https://subdomain.classonlive.com/sala-webinar/titulo-de-ejemplo?code=Xs9JH7T/neCiFL93TWAQfQ==",
"name": "nombre alumno",
"email": "[email protected]",
"applicantId": 142831,
"ok": true
}
Content-Type: application/json
{
"students": [
{
"email":"[email protected]",
"name":"nombre"
},
...
]
}
curl --request PUT \
--url https://www.apiclassonlive.com/api/v1/{token}/particular/{sessionid}/addstudent \
--header 'content-type: application/json'
Content-Type: application/json
{
"applicants": [
{
"applicantId": 142834,
"email": "[email protected]",
"name": "nombre",
"link": "https://subdomain.classonlive.com/sala-personalizada/title-18?code=g8FK3/hKIHVHaAqRZWrjZA==&claseParticularId=85468"
}
],
"ok": true
}
Content-Type: application/json
{
"applicantId": 23734
}
curl --request DELETE \
--url https://www.apiclassonlive.com/api/v1/{token}/particular/{sessionid}/removestudent \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true
}
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/student/findbycontent/{contentid}
Content-Type: application/json
{
"students": [
{
"minutesConnected": 0,
"attended": false,
"email": "[email protected]",
"applicantId": 142832,
"name": "nombre alumno",
"userAccountId": 93098,
"themes": "49780", // Si el alumno está apuntado a todos los temas el valor de "Themes" devolverá null, de lo contrario devolverá un String con los temas individuales adquiridos
}
],
"ok": true
}
L'objet TeacherObject est l'objet renvoyé lors de l'envoi d'une demande dans cette section. Cet objet montre des informations détaillées sur le professeur en question. Selon la demande, l'objet peut afficher plus ou moins de champs. Dans la section “Corps de la réponse” de chaque demande, un exemple détaillé des champs renvoyés par cette demande peut être consulté.
Content-Type: application/json
{
"email": "[email protected]"
}
curl --request POST \
--url https://www.apiclassonlive.com/api/v1/{token}/teacher \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true,
"isNewUser": true,
"paswword": "672773" //sólo si es usuario nuevo
}
Content-Type: application/json
{
"teacher": "[email protected]"
}
curl --request DELETE \
--url https://www.apiclassonlive.com/api/v1/{token}/teacher \
--header 'content-type: application/json'
Content-Type: application/json
{
"ok": true
}
Ces méthodes renvoient un objet appelé “général” où apparaît le progrès général de chaque élève et un objet “détail” où apparaît le progrès détaillé de chaque ressource de l'élève.
Méthode qui renvoie le progrès des élèves d'un cours spécifique. Le paramètre pageNumber est optionnel et sert à paginer. Ex : 0 -> les 10 premiers élèves, 1 -> les 10 élèves suivants.
curl --request GET \
--url 'https://www.apiclassonlive.com/api/v1/{token}/student/getstatsfromcontent/{contentid}/{pageNumber?}='
Content-Type: application/json
{
"stats": [
{
"general": {
"progressPictureId": 16975101,
"name": "nombre alumno",
"registerDate": 1604331250000,
"totalPercent": 33.33,
"totalTime": 0,
"applicantId": 1504891,
"contentId": 123035,
"email": "[email protected]",
"register": 1604358000000,
"country": null,
"photo": null,
"score": null,
"status": null
},
"detail": [
{
"progressPictureDetailId": 774634764,
"examTries": 0,
"name": "evaluacion",
"percent": null,
"resourceType": "exam",
"success": false,
"time": null,
"watched": false,
"moduleId": 111053,
"themeId": 24913,
"applicantId": 1504891,
"contentId": null,
"examId": 18551,
"resourceId": null,
"contentSessionId": null,
"contentExternalVideoId": null
},
]
}
],
"num": 0,
"totalPages": 1
}
curl --request GET \
--url https://www.apiclassonlive.com/api/v1/{token}/student/getuserstats/{contentid}/{applicantId}
Content-Type: application/json
{
"progress":
{
"general": [
{
"progressPictureId": 16975101,
"name": "nombre alumno",
"registerDate": 1604331250000,
"totalPercent": 33.33,
"totalTime": 0,
"applicantId": 1504891,
"contentId": 123035,
"email": "[email protected]",
"register": 1604358000000,
"country": null,
"photo": null,
"score": null,
"status": null
},
]
"detail": [
{
"progressPictureDetailId": 774634764,
"examTries": 0,
"name": "eva",
"percent": null,
"resourceType": "exam",
"success": false,
"time": null,
"watched": false,
"moduleId": 111053,
"themeId": 24913,
"applicantId": 1504891,
"contentId": null,
"examId": 18551,
"resourceId": null,
"contentSessionId": null,
"contentExternalVideoId": null
},
]
}
],
"num": 0,
"totalPages": 1
}
Pincha ici pour voir un exemple de comment créer un cours par thèmes.