Presença (avaliação)
O que quem avalia faz: fila de pedidos, confirmar ou rejeitar, lote, leitura de QR e versões do relato.
Fila de pedidos pendentes de todas as turmas
GET /presencas/pendentes
Acesso: Exige a capacidade AVALIAR, em algum escopo (a resposta traz só o que a pessoa pode ver). Status de sucesso: 200.
Parâmetros de consulta
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
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). |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
items | lista de FilaAvaliacaoItem | sim | ||
total | integer | sim | 0… |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X GET "$API/presencas/pendentes" -H "Authorization: Bearer $TOKEN"Resolve o QR lido e abre o pedido de presença
POST /presencas/qr
Acesso: Qualquer pessoa autenticada. Limite: até 600 chamadas a cada 60 s por origem. Status de sucesso: 200.
Corpo da requisição (QrResolver)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
token | string | sim | 20–2000 caracteres |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
turmaId | string (uuid) | sim | ||
atividade | object | sim | ||
atividade.id | string (uuid) | sim | ||
atividade.data | Data | sim | ||
atividade.descricao | string ou nulo | sim | ||
linha | PresencaLinha | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X POST "$API/presencas/qr" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"token":"texto"}'Confirma ou rejeita a presença de um aluno
PUT /turmas/{turmaId}/atividades/{atividadeId}/matriculas/{matriculaId}/presenca
Acesso: Exige a capacidade AVALIAR 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. | |
atividadeId | string (uuid) | sim | Id da atividade. | |
turmaId | string (uuid) | sim | Id da turma. |
Corpo da requisição (AvaliarPresenca)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
estado | "CONFIRMADA" | "REJEITADA" | sim | ||
comentario | string ou nulo | não | a 2000 caracteres | |
notas | lista de Nota | não | 0–20 itens | |
nivelSupervisao | NivelSupervisao ou nulo | não | Ausente = mantém o que havia; nulo = limpa; só vale ao confirmar. |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
id | string (uuid) | sim | ||
atividadeId | string (uuid) | sim | ||
matriculaId | string (uuid) | sim | ||
estado | "SOLICITADA" | "CONFIRMADA" | "REJEITADA" | sim | ||
solicitadaEm | string | sim | ||
capturadaEm | string ou nulo | sim | ||
relato | string ou nulo | sim | ||
justificativa | string ou nulo | sim | ||
excecoes | lista de "FORA_DA_JANELA" | "FORA_DA_CERCA" | "OUTRO_DIA" | sim | ||
avaliadaEm | string ou nulo | sim | ||
comentarioAvaliador | string ou nulo | sim | ||
notas | lista de Nota | sim | Só a quem avalia a turma. O aluno vê as próprias notas pelo painel, depois que a turma as libera. | |
nivelSupervisao | NivelSupervisao ou nulo | não | Nível de supervisão dado pelo último avaliador; nulo = não informado. Só a quem avalia (o aluno o lê na avaliação, depois da liberação). | |
relatoEditadoEm | string ou nulo | não | Última edição do relato pelo aluno; nulo = nunca editado. Depois de avaliadaEm = editado depois da avaliação. |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X PUT "$API/turmas/{turmaId}/atividades/{atividadeId}/matriculas/{matriculaId}/presenca" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"estado":"CONFIRMADA"}'Lista os pedidos de presença de uma atividade
GET /turmas/{turmaId}/atividades/{atividadeId}/presencas
Acesso: Exige a capacidade AVALIAR sobre turma (params.turmaId). Status de sucesso: 200.
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
atividadeId | string (uuid) | sim | Id da atividade. | |
turmaId | string (uuid) | sim | Id da turma. |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
atividade | object | sim | ||
atividade.id | string (uuid) | sim | ||
atividade.turmaId | string (uuid) | sim | ||
atividade.data | Data | sim | ||
atividade.descricao | string ou nulo | sim | ||
items | lista de PresencaLinha | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X GET "$API/turmas/{turmaId}/atividades/{atividadeId}/presencas" -H "Authorization: Bearer $TOKEN"Versões anteriores do relato de uma presença
GET /turmas/{turmaId}/presencas/{presencaId}/relato/versoes
Acesso: Exige a capacidade AVALIAR sobre turma (params.turmaId). Status de sucesso: 200.
Parâmetros de caminho
| Parâmetro | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
presencaId | string (uuid) | sim | Id do pedido de presença. | |
turmaId | string (uuid) | sim | Id da turma. |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
items | lista de object | sim | ||
items[].id | string (uuid) | sim | ||
items[].texto | string | sim | ||
items[].substituidoEm | string | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X GET "$API/turmas/{turmaId}/presencas/{presencaId}/relato/versoes" -H "Authorization: Bearer $TOKEN"Confirma vários pedidos de presença de uma vez
POST /turmas/{turmaId}/presencas/confirmar-lote
Acesso: Exige a capacidade AVALIAR 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. |
Corpo da requisição (ConfirmarLote)
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
ids | lista de string (uuid) | sim | 1–100 itens |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
items | lista de PresencaDto | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X POST "$API/turmas/{turmaId}/presencas/confirmar-lote" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"ids":["0198a000-0000-7000-8000-000000000001"]}'Fila de pedidos pendentes da turma
GET /turmas/{turmaId}/presencas/pendentes
Acesso: Exige a capacidade AVALIAR 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. |
Resposta
| Campo | Tipo | Obrigatório | Restrições | Descrição |
|---|---|---|---|---|
items | lista de Pendente | sim |
Em caso de erro: modelo ErroApi.
Exemplo
curl -X GET "$API/turmas/{turmaId}/presencas/pendentes" -H "Authorization: Bearer $TOKEN"