Se você deseja usar a API do classonlive, precisará de um TOKEN
Para conseguir o token, navegue até o seu painel de controle de classonlive.com, vá para a seção de integrações e clique na aba de API. Uma vez lá, você deve registrar o IP de onde as solicitações serão feitas. O IP será associado a um token parecido com: eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJjbGFzc29ubGl2ZSIsI.mRhdGEiOiJ7XC Você deve trocar a parte de {TOKEN} nas rotas, com o token associado ao seu IP. Você só poderá fazer solicitações a partir do IP que registrou.
Esta API foi projetada para criar webinars / conferências ao vivo / aulas ao vivo. Essas aulas nesta documentação serão chamadas de “content”.
Esta API não funciona com cursos modulares ou de pacotes.
ContentObject é o objeto que é retornado ao fazer uma solicitação desta seção. Este objeto mostra informações detalhadas sobre o curso em questão. Dependendo da solicitação, o objeto pode mostrar mais ou menos campos. Na seção “Response Body” de cada solicitação, você pode ver um exemplo detalhado dos campos que essa solicitação retorna.
Content-Type: application/json
{
"title": "Titulo de ejemplo",
"type": "Tópicos"
}
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": "Tópicos"
}
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
}
ContentSingleSessionObject é o objeto que é retornado ao fazer uma solicitação nesta seção. Este objeto mostra informações detalhadas sobre o curso em questão. Dependendo da solicitação, o objeto pode mostrar mais ou menos campos. Na seção “Corpo da Resposta” de cada solicitação, pode-se ver um exemplo detalhado dos campos que essa solicitação retorna.
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
}
O Objeto de Conteúdo de Sessão Múltipla é o objeto que é retornado ao fazer uma solicitação nesta seção. Este objeto mostra informações detalhadas sobre o curso em questão. Dependendo da solicitação, o objeto pode mostrar mais ou menos campos. Na seção “Corpo da Resposta” de cada solicitação, pode-se ver um exemplo detalhado dos campos que essa solicitação retorna.
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
}
O tipo de conteúdo pack é um conteúdo que engloba vários conteúdos.
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 é o objeto que é retornado ao fazer uma solicitação desta seção. Este objeto mostra informações detalhadas sobre o curso em questão. Dependendo da solicitação, o objeto pode mostrar mais ou menos campos. Na seção “Corpo da Resposta” de cada solicitação, pode-se ver um exemplo detalhado dos campos que essa solicitação retorna.
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 é o objeto que é retornado ao fazer uma solicitação pedindo um tema.
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'
}
]
}
Recurso é o objeto que é retornado ao fazer uma solicitação nesta seção. Este objeto mostra informações sobre o recurso em questão. Na seção “Corpo da Resposta” de cada solicitação, pode-se ver um exemplo detalhado dos campos que essa solicitação retorna.
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
}
Esta solicitação retornará um link de acesso ao recurso em questão. O parâmetro resourceType aceita apenas as Strings (“Vídeo”, “Recurso”).
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"
}
Recurso é o objeto que é retornado ao fazer uma solicitação nesta seção. Este objeto mostra informações sobre o recurso em questão. Na seção “Corpo da Resposta” de cada solicitação, pode-se ver um exemplo detalhado dos campos que essa solicitação retorna.
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
}
Esta solicitação retornará um link de acesso ao recurso em questão. O parâmetro resourceType aceita apenas as Strings (“Vídeo”, “Recurso”, “Sessão”).
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 é o objeto que é retornado ao fazer uma solicitação desta seção. Este objeto mostra informações detalhadas sobre o vídeo em questão. Dependendo da solicitação, o objeto pode mostrar mais ou menos campos. Na seção “Corpo da Resposta” de cada solicitação, pode-se ver um exemplo detalhado dos campos que essa solicitação retorna.
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 é o objeto que é retornado ao fazer uma solicitação nesta seção. Este objeto mostra informações detalhadas sobre o usuário em questão. Dependendo da solicitação, o objeto pode mostrar mais ou menos campos. Na seção “Corpo da Resposta” de cada solicitação, pode-se ver um exemplo detalhado dos campos que essa solicitação retorna.
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 é o objeto que é retornado ao fazer uma solicitação nesta seção. Este objeto mostra informações detalhadas sobre o(s) alunos em questão. Dependendo da solicitação, o objeto pode mostrar mais ou menos campos. Na seção “Corpo da Resposta” de cada solicitação, pode-se ver um exemplo detalhado dos campos que essa solicitação retorna.
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
}
TeacherObject é o objeto que é retornado ao fazer uma solicitação nesta seção. Este objeto mostra informações detalhadas sobre o professor em questão. Dependendo da solicitação, o objeto pode mostrar mais ou menos campos. Na seção “Corpo da Resposta” de cada solicitação, pode-se ver um exemplo detalhado dos campos que essa solicitação retorna.
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
}
Esses métodos retornam um objeto chamado “geral” onde aparece o progresso geral de cada aluno e um objeto “detalhe” onde aparece o progresso detalhado de cada recurso do aluno.
Método que devolve o progresso dos alunos de um curso específico. O parâmetro pageNumber é opcional e serve para paginar. Ex: 0 -> os primeiros 10 alunos, 1 -> os próximos 10 alunos.
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 aqui para ver um exemplo de como criar um curso por temas.