Asistencia (evaluación)
Lo que hace quien evalúa: cola de pedidos, confirmar o rechazar, lote, lectura de QR y versiones del relato.
Cola de pedidos pendientes de todos los grupos
GET /presencas/pendentes
Acceso: Exige la capacidad AVALIAR, en algún ámbito (la respuesta trae solo lo que la persona puede ver). Estado de éxito: 200.
Parámetros de consulta
| Parámetro | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
limite | integer | no | 1…200; por defecto: 50 | Cuántos elementos por página (1 a 200; el valor predeterminado varía por ruta, en general 50). |
deslocamento | integer | no | 0…100000; por defecto: 0 | Cuántos elementos saltar, para paginar (hasta 100000). |
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
items | lista de FilaAvaliacaoItem | sí | ||
total | integer | sí | 0… |
En caso de error: modelo ErroApi.
Ejemplo
curl -X GET "$API/presencas/pendentes" -H "Authorization: Bearer $TOKEN"Resuelve el QR leído y abre el pedido de asistencia
POST /presencas/qr
Acceso: Cualquier persona autenticada. Límite: hasta 600 llamadas cada 60 s por origen. Estado de éxito: 200.
Cuerpo de la solicitud (QrResolver)
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
token | string | sí | 20–2000 caracteres |
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
turmaId | string (uuid) | sí | ||
atividade | object | sí | ||
atividade.id | string (uuid) | sí | ||
atividade.data | Data | sí | ||
atividade.descricao | string o nulo | sí | ||
linha | PresencaLinha | sí |
En caso de error: modelo ErroApi.
Ejemplo
curl -X POST "$API/presencas/qr" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"token":"texto"}'Confirma o rechaza la asistencia de un alumno
PUT /turmas/{turmaId}/atividades/{atividadeId}/matriculas/{matriculaId}/presenca
Acceso: Exige la capacidad AVALIAR sobre grupo (params.turmaId). Estado de éxito: 200.
Parámetros de ruta
| Parámetro | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
matriculaId | string (uuid) | sí | Id de la matrícula. | |
atividadeId | string (uuid) | sí | Id de la actividad. | |
turmaId | string (uuid) | sí | Id del grupo. |
Cuerpo de la solicitud (AvaliarPresenca)
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
estado | "CONFIRMADA" | "REJEITADA" | sí | ||
comentario | string o nulo | no | a 2000 caracteres | |
notas | lista de Nota | no | 0–20 elementos | |
nivelSupervisao | NivelSupervisao o nulo | no | Ausente = mantiene lo que había; nulo = limpia; solo vale al confirmar. |
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
id | string (uuid) | sí | ||
atividadeId | string (uuid) | sí | ||
matriculaId | string (uuid) | sí | ||
estado | "SOLICITADA" | "CONFIRMADA" | "REJEITADA" | sí | ||
solicitadaEm | string | sí | ||
capturadaEm | string o nulo | sí | ||
relato | string o nulo | sí | ||
justificativa | string o nulo | sí | ||
excecoes | lista de "FORA_DA_JANELA" | "FORA_DA_CERCA" | "OUTRO_DIA" | sí | ||
avaliadaEm | string o nulo | sí | ||
comentarioAvaliador | string o nulo | sí | ||
notas | lista de Nota | sí | Solo para quien evalúa el grupo. El alumno ve sus notas en el panel, después de que el grupo las libera. | |
nivelSupervisao | NivelSupervisao o nulo | no | Nivel de supervisión dado por el último evaluador; nulo = no informado. Solo para quien evalúa (el alumno lo lee en la evaluación, tras la liberación). | |
relatoEditadoEm | string o nulo | no | Última edición del relato por el alumno; nulo = nunca editado. Posterior a avaliadaEm = editado después de la evaluación. |
En caso de error: modelo ErroApi.
Ejemplo
curl -X PUT "$API/turmas/{turmaId}/atividades/{atividadeId}/matriculas/{matriculaId}/presenca" -H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" -d '{"estado":"CONFIRMADA"}'Lista los pedidos de asistencia de una actividad
GET /turmas/{turmaId}/atividades/{atividadeId}/presencas
Acceso: Exige la capacidad AVALIAR sobre grupo (params.turmaId). Estado de éxito: 200.
Parámetros de ruta
| Parámetro | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
atividadeId | string (uuid) | sí | Id de la actividad. | |
turmaId | string (uuid) | sí | Id del grupo. |
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
atividade | object | sí | ||
atividade.id | string (uuid) | sí | ||
atividade.turmaId | string (uuid) | sí | ||
atividade.data | Data | sí | ||
atividade.descricao | string o nulo | sí | ||
items | lista de PresencaLinha | sí |
En caso de error: modelo ErroApi.
Ejemplo
curl -X GET "$API/turmas/{turmaId}/atividades/{atividadeId}/presencas" -H "Authorization: Bearer $TOKEN"Versiones anteriores del relato de una asistencia
GET /turmas/{turmaId}/presencas/{presencaId}/relato/versoes
Acceso: Exige la capacidad AVALIAR sobre grupo (params.turmaId). Estado de éxito: 200.
Parámetros de ruta
| Parámetro | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
presencaId | string (uuid) | sí | Id del pedido de asistencia. | |
turmaId | string (uuid) | sí | Id del grupo. |
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
items | lista de object | sí | ||
items[].id | string (uuid) | sí | ||
items[].texto | string | sí | ||
items[].substituidoEm | string | sí |
En caso de error: modelo ErroApi.
Ejemplo
curl -X GET "$API/turmas/{turmaId}/presencas/{presencaId}/relato/versoes" -H "Authorization: Bearer $TOKEN"Confirma varios pedidos de asistencia a la vez
POST /turmas/{turmaId}/presencas/confirmar-lote
Acceso: Exige la capacidad AVALIAR sobre grupo (params.turmaId). Estado de éxito: 200.
Parámetros de ruta
| Parámetro | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
turmaId | string (uuid) | sí | Id del grupo. |
Cuerpo de la solicitud (ConfirmarLote)
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
ids | lista de string (uuid) | sí | 1–100 elementos |
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
items | lista de PresencaDto | sí |
En caso de error: modelo ErroApi.
Ejemplo
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"]}'Cola de pedidos pendientes del grupo
GET /turmas/{turmaId}/presencas/pendentes
Acceso: Exige la capacidad AVALIAR sobre grupo (params.turmaId). Estado de éxito: 200.
Parámetros de ruta
| Parámetro | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
turmaId | string (uuid) | sí | Id del grupo. |
Respuesta
| Campo | Tipo | Obligatorio | Restricciones | Descripción |
|---|---|---|---|---|
items | lista de Pendente | sí |
En caso de error: modelo ErroApi.
Ejemplo
curl -X GET "$API/turmas/{turmaId}/presencas/pendentes" -H "Authorization: Bearer $TOKEN"