Módulos do Curso
Após criar um curso e os seus módulos separadamente, é necessário associar explicitamente os módulos ao curso. A associação define a posição do módulo, se é obrigatório e a sua carga horária dentro deste curso específico.
Listar módulos associáveis
Devolve os módulos que pertencem à mesma instituição e ainda não estão associados a este curso.
GET /courses/{course_uuid}/attach/modules
curl "https://api.dokstamp.eu/courses/c3d4e5f6-a7b8-9012-cdef-123456789012/attach/modules" \
-H "Authorization: Bearer {TOKEN}" \
-H "Accept: application/json" \
-H "X-Tenant: {TENANT}"
Associar módulos a um curso
POST /courses/{course_uuid}/attach/modules
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|
modules | array | Sim | Array de objetos de associação de módulo |
modules[].uuid | string | Sim | UUID do módulo |
modules[].order | integer | Não | Posição no currículo do curso |
modules[].is_required | boolean | Não | Substitui o valor padrão is_required do módulo |
modules[].workload | integer | Não | Substitui a carga horária padrão do módulo neste curso |
modules[].course_module_group_uuid | string | Não | Atribui o módulo a um grupo de módulos |
curl -X POST "https://api.dokstamp.eu/courses/c3d4e5f6-a7b8-9012-cdef-123456789012/attach/modules" \
-H "Authorization: Bearer {TOKEN}" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-H "X-Tenant: {TENANT}" \
-d '{
"modules": [
{
"uuid": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
"order": 1,
"is_required": true,
"workload": 80
},
{
"uuid": "c3d4e5f6-a7b8-9012-cdef-123456789013",
"order": 2,
"is_required": true,
"workload": 60
}
]
}'
Desassociar módulos de um curso
DELETE /courses/{course_uuid}/detach/modules
| Parâmetro | Tipo | Obrigatório | Descrição |
|---|
modules | array | Sim | Array de UUIDs de módulos a desassociar |
{ "modules": ["b2c3d4e5-f6a7-8901-bcde-f12345678901"] }
Desassociar um módulo de um curso não elimina o módulo em si — apenas a associação é removida. O módulo permanece disponível para ser associado a outros cursos.