Matrículas
Alunos matriculados em uma turma.
Lista as matrículas da turma
GET /turmas/{turmaId}/matriculas
Acesso: Exige a capacidade LER sobre turma (params.turmaId). Status de sucesso: 200.
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
turmaId | string (uuid) | sim | Id da turma. |
Parâmetros de consulta
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
busca | string | não | a 100 caracteres | Texto para buscar (nome ou e-mail, conforme a rota). |
limite | integer | não | 1…200; padrão: 50 | Quantos itens por página (1 a 200; o padrão varia por rota, em geral 50). |
deslocamento | integer | não | 0…100000; padrão: 0 | Quantos itens pular, para paginar (até 100000). |
inativos | "true" | "false" | não | padrão: "false" | true inclui também os registros inativos. |
Resposta
lista de MatriculaDto (+ total)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
id | string (uuid) | sim | ||
turmaId | string (uuid) | sim | ||
usuarioId | string (uuid) | sim | ||
ativo | boolean | sim | ||
nome | string | sim | ||
email | string | sim | ||
status | "CONVIDADO" | "ATIVO" | "SUSPENSO" | sim | ||
jaExistia | boolean | não | Só na resposta de criar por e-mail: o e-mail já tinha conta e a pessoa foi vinculada a ela. |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X GET "$API/turmas/{turmaId}/matriculas" -H "Authorization: Bearer $TOKEN"Matricula um aluno na turma
POST /turmas/{turmaId}/matriculas
Informe usuarioId (aluno já cadastrado) ou email e nome (conta nova, com convite por e-mail).
Acesso: Exige a capacidade CADASTRAR sobre turma (params.turmaId). Limite: até 120 chamadas a cada 60 s por origem. Status de sucesso: 201.
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
turmaId | string (uuid) | sim | Id da turma. |
Corpo da requisição (MatriculaCriar)
Opção 1
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
usuarioId | string (uuid) | sim |
Opção 2
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
email | sim | |||
nome | string | sim | 1–200 caracteres | |
nationality | string | não | 2–2 caracteres; ^[A-Za-z]{2}$ |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
id | string (uuid) | sim | ||
turmaId | string (uuid) | sim | ||
usuarioId | string (uuid) | sim | ||
ativo | boolean | sim | ||
nome | string | sim | ||
email | string | sim | ||
status | "CONVIDADO" | "ATIVO" | "SUSPENSO" | sim | ||
jaExistia | boolean | não | Só na resposta de criar por e-mail: o e-mail já tinha conta e a pessoa foi vinculada a ela. |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X POST "$API/turmas/{turmaId}/matriculas" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"usuarioId":"0198a000-0000-7000-8000-000000000001"}'Ativa ou desativa uma matrícula
PATCH /turmas/{turmaId}/matriculas/{matriculaId}
Desativar a matrícula só alterna ativo: nada é apagado, e reativar devolve o aluno à turma.
Acesso: Exige a capacidade CADASTRAR sobre turma (params.turmaId). Status de sucesso: 200.
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
matriculaId | string (uuid) | sim | Id da matrícula. | |
turmaId | string (uuid) | sim | Id da turma. |
Corpo da requisição (MatriculaAtualizar)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
ativo | boolean | sim |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
id | string (uuid) | sim | ||
turmaId | string (uuid) | sim | ||
usuarioId | string (uuid) | sim | ||
ativo | boolean | sim | ||
nome | string | sim | ||
email | string | sim | ||
status | "CONVIDADO" | "ATIVO" | "SUSPENSO" | sim | ||
jaExistia | boolean | não | Só na resposta de criar por e-mail: o e-mail já tinha conta e a pessoa foi vinculada a ela. |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X PATCH "$API/turmas/{turmaId}/matriculas/{matriculaId}" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"ativo":false}'