Vamos mostrar um exemplo utilizando diferentes requisições da API para criar um curso por temas.
Para isso utilizamos a requisição POST content. Podemos encontrar a explicação e o exemplo da requisição na nossa documentação da API na seção “CONTENT” -> “Content General” -> “Criar um content”.
POST https://www.apiclassonlive.com/api/v1/eyJhzI1NiJ9.eyjUzLjUz.../content
Este método deverá levar no seu request body o título do curso e o tipo de curso. No nosso caso “Temas”:
{
"title": "Título de exemplo",
"type": "Temas"
}
Se tudo correu bem, esta requisição nos devolve um objeto com a seguinte estrutura:
{
"ok": true,
"contentId": 33078
}
Este objeto conterá a chave “contentId”, a qual identificará, a partir de agora, o curso criado.
Agora que temos o curso criado, vamos adicionar algum tema. Para isso, podemos ver o exemplo na nossa documentação na seção “CONTENT” -> “Temas” -> “Adicionar um tema a um curso”.
POST https://www.apiclassonlive.com/api/v1/ eyJhzI1NiJ9.eyjUzLjUz.../theme
O seu correspondente request body seria o seguinte:
{
"title":"Título do tema"
"description":"Descrição do tema"
"contentId":33078 // contentId recebido da resposta anterior
"order":1 // Posição que o tema criado ocupará
}
A resposta que receberemos será a seguinte:
{
"ok": true,
"themeId": 38
}
Onde “themeId” será o identificador que faz referência ao novo tema criado.
Com esta requisição poderemos criar tantos temas quanto forem necessários para o nosso curso.
Um tema em si não pode armazenar nenhum tipo de recurso para o aluno. Os temas armazenam módulos, os quais, por sua vez, armazenam o conteúdo que o aluno poderá visualizar.
O passo seguinte é criar um módulo associado ao tema. Para isso, podemos ver como criar um módulo na seção “CONTENT” -> “Temas” -> “Adicionar um módulo a um tema” na documentação.
POST https://www.apiclassonlive.com/api/v1/eyJhzI1NiJ9.eyjUzLjUz.../theme/addModule
Onde o seu request body será similar ao seguinte:
{
"title":"Título do módulo"
"description":"Descrição do novo módulo"
"themeId":38,
"contentId":33078
"order":1 // Posição que o módulo ocupará dentro do tema
}
Como resultado desta requisição, receberemos um objeto com a seguinte estrutura:
{
"ok": true,
"moduleId": 60
}
Agora o nosso curso contém um tema que, por sua vez, contém um módulo.
Para adicionar material a esse módulo, por enquanto não há métodos disponíveis na nossa API; portanto, o processo de adicionar material deverá ser feito a partir do nosso site.
Uma vez que temos o nosso curso preparado, o passo seguinte seria poder adicionar alunos a ele.
Para isso dispomos da requisição content/student. Podemos ver mais sobre ela na seção da API “USUARIOS” -> “Applicant/alumno” -> “Adicionar um aluno a um content”.
POST https://www.apiclassonlive.com/api/v1/eyJhzI1NiJ9.eyjUzLjUz.../content/student
Com o seu correspondente request body:
{
"email": "[email protected]",
"contentId": 33078,
"name": "nome do aluno",
"themes": ["38"],
}
A chave “themes” é opcional. Só serve quando se adicionam alunos a um curso do tipo “Temas”. Serve para adicionar um aluno a um curso por temas quando não se deseja que ele tenha acesso a todos os temas do curso. Se este for o caso, deve-se indicar dentro do Array os “themeId” aos quais se deseja adicionar o aluno.
Caso contrário, se se deseja que o aluno acesse todos os temas, não é necessário adicionar essa chave.
Se tudo correu bem, recebe-se a seguinte resposta:
{
"link": "https://subdomain.classonlive.com/sala-webinar/titulo-de-ejemplo?code=Xs9JH7T/neCiFL93TWAQfQ==", // Só se recebe o link de acesso à sala se o curso for Sessão única ou Sessão Múltipla
"name": "nome do aluno",
"email": "[email protected]",
"applicantId": 142829,
"ok": true,
"isNewUser": true,
"password": "8476235" // Só se recebe se for usuário novo
}
Com este método poderemos adicionar tantos alunos quanto desejarmos.
Agora vamos recuperar os recursos adicionados anteriormente a partir do site para que o aluno do curso possa consumi-los.
Como é um curso por temas, devemos ir à seção “CONTENT RESOURCES” -> “Resource temas/módulos” -> “Receber resources de um módulo”.
GET https://www.apiclassonlive.com/api/v1/eyJhzI1NiJ9.eyjUzLjUz.../theme/getmoduleresources/60
Receberemos uma resposta parecida com a seguinte:
"resources": [
{
"resourceType": "Video",
"title": "vídeo novo",
"description": "Esta é a descrição do vídeo",
"resourceId": 285095
},
{
"resourceType": "Resource",
"title": "Título do recurso",
"description": "Esta é a descrição do documento",
"resourceId": 380443
},
{
"resourceType": "Session",
"resourceId": 614091,
"initOneDayDate": 1621404000000,
"initMidLongDate": null,
"endMidLongDate": null,
"theContentDuration": "d30m",
"theContentMethod": "Broadcast",
"theContentType": "One_Day",
"theAssignedExpert": "[email protected]"
},...
Aqui aparecem todos os recursos associados ao módulo adicionado como parâmetro na requisição. Com este objeto poderemos listar esses recursos no nosso site.
Se agora quisermos, além disso, fornecer o link de acesso ao recurso, deveremos chamar a seguinte requisição. Poderemos encontrar mais detalhes na documentação na seção “CONTENT RESOURCES” -> “Resource temas/módulos” -> “Receber o link de um resource de um módulo”.
GET https://www.apiclassonlive.com/api/v1/eyJhzI1NiJ9.eyjUzLjUz.../content/getmoduleresourcelink/Resource/380443
Esta requisição é composta por dois parâmetros. “Resource” é o “resourceType” recebido da requisição descrita anteriormente. Neste caso, tipo “Resource”, e 380443, o identificador do resource também recebido da requisição anterior.
A resposta que receberemos a seguir terá esta estrutura:
{
"ok": true,
"link": "https://www.example.com/arquivo.pdf"
}
Com isso, terminamos o exemplo de como criar um curso do tipo temas, adicionar temas e módulos dentro de cada tema e, finalmente, mostrar os recursos de um módulo para que os alunos tenham acesso a eles.
