If you want to use the classonlive API, you will need a TOKEN
To obtain the token, navigate to your control panel at classonlive.com, go to the integrations section and click on the API tab. Once there, you must register the IP from which the requests will be made. The IP will be associated with a token similar to: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJjbGFzc29ubGl2ZSIsI.mRhdGEiOiJ7XC You must replace the {TOKEN} part in the routes with the token associated with your IP. You will only be able to make requests from the IP you have registered.
This API is designed to create webinars/live conferences/live classes. These classes in this documentation will be referred to as 'content'.
This API does not work with modular or pack courses.
ContentObject is the object returned when making a request in this section. This object shows detailed information about the course in question. Depending on the request, the object may show more or fewer fields. In the 'Response Body' section of each request, you can see a detailed example of the fields returned by that request.
Content-Type: application/json
{
"title": "Titulo de ejemplo",
"type": "Themes"
}
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": "Themes"
}
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": "Tutoring sessions"
},
"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
}
ContentSingleSessionObject is the object returned when making a request in this section. This object shows detailed information about the course in question. Depending on the request, the object may show more or fewer fields. In the “Response Body” section of each request, a detailed example of the fields returned by that request can be seen.
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
}
Multiple Session Content Object is the object returned when making a request in this section. This object shows detailed information about the course in question. Depending on the request, the object may show more or fewer fields. In the “Response Body” section of each request, a detailed example of the fields returned by that request can be seen.
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
}
Pack type content is a content that encompasses several contents.
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
}
Tutoring sessionsObject is the object returned when making a request in this section. This object shows detailed information about the course in question. Depending on the request, the object may show more or fewer fields. In the “Response Body” section of each request, a detailed example of the fields returned by that request can be seen.
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==&claseTutoring sessionsId=85262",
"applicants": [
{
"applicantId": 142819,
"email": "[email protected]",
"name": "pepa",
"link": "https://subdomain.classonlive.com/sala-personalizada/title-18?code=goNzUM32KTAc/53SbBQhLA==&claseTutoring sessionsId=85262"
},
{
"applicantId": 142826,
"email": "[email protected]",
"name": "pepa",
"link": "https://subdomain.classonlive.com/sala-personalizada/title-18?code=g8FK3/hKIHVHaAqRZWrjZA==&claseTutoring sessionsId=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==&claseTutoring sessionsId=85263",
"applicants": [
{
"applicantId": 142826,
"email": "[email protected]",
"name": "pepa",
"link": "https://subdomain.classonlive.com/sala-personalizada/title-18?code=g8FK3/hKIHVHaAqRZWrjZA==&claseTutoring sessionsId=85263"
}
]
}
],
"ok": true,
"type": "One_to_One"
}
ThemeObject is the object returned when making a request for a theme.
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'
}
]
}
Resource is the object returned when making a request in this section. This object shows information about the resource in question. In the “Response Body” section of each request, a detailed example of the fields returned by that request can be seen.
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
}
This request will return an access link to the resource in question. The resourceType parameter only accepts the Strings (“Video”, “Resource”).
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"
}
Resource is the object returned when making a request in this section. This object shows information about the resource in question. In the “Response Body” section of each request, a detailed example of the fields returned by that request can be seen.
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
}
This request will return an access link to the resource in question. The resourceType parameter only accepts the Strings (“Video”, “Resource”, “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 is the object returned when making a request in this section. This object shows detailed information about the video in question. Depending on the request, the object may show more or fewer fields. In the “Response Body” section of each request, a detailed example of the fields returned by that request can be seen.
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
}
}
ApplicantObject is the object returned when making a request in this section. This object shows detailed information about the user in question. Depending on the request, the object may show more or fewer fields. In the “Response Body” section of each request, a detailed example of the fields returned by that request can be seen.
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
}
ApplicantObject is the object returned when making a request in this section. This object shows detailed information about the student(s) in question. Depending on the request, the object may show more or fewer fields. In the “Response Body” section of each request, a detailed example of the fields returned by that request can be seen.
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==&claseTutoring sessionsId=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
}
TeacherObject is the object returned when making a request in this section. This object shows detailed information about the teacher in question. Depending on the request, the object may show more or fewer fields. In the “Response Body” section of each request, a detailed example of the fields returned by that request can be seen.
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
}
These methods return an object called “general” where the overall progress of each student appears and a “detail” object where the detailed progress of each resource of the student appears.
Method that returns the progress of students in a specific course. The parameter pageNumber is optional and is used for pagination. E.g.: 0 -> the first 10 students, 1 -> the next 10 students.
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 here to see an example of how to create a course by topics.