Cursos Online
Catálogo de cursos EAD da escola, com matrícula por CRUD completo. Uma integração típica é um LMS externo ou um sistema de pagamento matriculando um aluno diretamente. Progresso, diplomas, dúvidas e avaliações do curso ficam fora desta API — internos à experiência do aluno.
is_paid/price
descrevem o preço anunciado do curso, não uma cobrança real — a mesma fronteira do
payment_* em
Eventos. Uma
matrícula em curso pago fica PENDING_APPROVAL
até a escola aprovar — a aprovação (que dispara a cobrança) é uma ação interna, fora desta API.
403
com "code": "ERP_REQUIRED".
O modelo curso
id
uuid
Identificador único do curso.
teacher
object|null
id e name do professor responsável.
title
string
Título do curso.
slug
string
Identificador amigável, único por escola.
description
string|null
Descrição curta.
is_paid
boolean
Se o curso tem taxa.
price
decimal|null
Valor anunciado, quando pago.
status
string
DRAFT, PUBLISHED ou ARCHIVED.
completion_criteria
string
ALL_LESSONS_WATCHED ou ALL_LESSONS_AND_EXERCISES.
certificate_enabled
boolean
Se emite certificado ao concluir.
modules_count
integer
Total de módulos.
lessons_count
integer
Total de aulas.
created_at
datetime
Data de criação.
{ "id": "oc1-0000-0000-0000-000000000001", "title": "Inglês Básico", "slug": "ingles-basico", "is_paid": true, "price": "120.00", "status": "PUBLISHED", "modules_count": 4, "lessons_count": 22 }
/v1/partners/school/{cnpj}/online-courses/all
Listar cursos
Cursos da escola, paginados.
Códigos de resposta
200
Sucesso.
404
Não encontrado.
/v1/partners/school/{cnpj}/online-course/{id}
Obter um curso
Retorna um curso com o professor responsável.
Códigos de resposta
200
Sucesso.
404
Não encontrado.
/v1/partners/school/{cnpj}/online-course
Criar curso
Corpo: title (obrigatório); teacher_id, slug, description, long_description, what_you_will_learn, requirements, target_audience, is_paid, price, max_installments, completion_criteria, certificate_enabled (opcionais). Sempre criado como DRAFT.
Códigos de resposta
201
Sucesso.
404
Não encontrado.
/v1/partners/school/{cnpj}/online-course/{id}
Editar curso
Atualiza os campos enviados.
Códigos de resposta
200
Sucesso.
404
Não encontrado.
/v1/partners/school/{cnpj}/online-course/{id}
Excluir curso
Remove o curso (soft delete).
Códigos de resposta
200
Sucesso.
404
Não encontrado.
/v1/partners/school/{cnpj}/online-course/{id}/enrollments
Listar matrículas
Aplicações de matrícula no curso, com status.
Códigos de resposta
200
Sucesso.
404
Não encontrado.
/v1/partners/school/{cnpj}/online-course/{id}/enroll
Matricular aluno
Corpo: enrollment_number (obrigatório) — o número de matrícula do aluno na escola. Cria a aplicação como PENDING_APPROVAL.
Códigos de resposta
201
Sucesso.
409
Curso não publicado, aluno sem responsável vinculado, ou já matriculado.
404
Não encontrado.
{ "enrollment_number": "7.553" }