GET /api/v2/blocks/completed¶
✅ Obtener bloques completados por curso escolar¶
Método/Ruta: GET /api/v2/blocks/completed
Auth: Bearer JWT (rol: admin/profesor)
Descripción: Obtiene los bloques que han sido marcados como closed (completados/finalizados) filtrados por curso escolar. Soporta filtrado opcional por rango de fechas y paginación.
Params¶
| Parámetro | Tipo | Requerido | Descripción | Ejemplo |
|---|---|---|---|---|
schoolCourseId |
query, number | No | ID del curso escolar (default: último registrado) | 2025 |
from |
query, string (ISO date) | No | Fecha inicio del rango | 2025-01-01 |
to |
query, string (ISO date) | No | Fecha fin del rango | 2025-06-30 |
page |
query, number | No | Número de página (default: 1) | 1 |
limit |
query, number | No | Resultados por página (default: 20, max: 100) | 20 |
cURL¶
Ejemplo básico (sin parámetros, usa último curso)¶
Ejemplo con schoolCourseId específico¶
curl -X GET "http://localhost:7001/api/v2/blocks/completed?schoolCourseId=2025" \
-H "Authorization: Bearer <TOKEN>"
Ejemplo con filtro de fechas¶
curl -X GET "http://localhost:7001/api/v2/blocks/completed?schoolCourseId=2025&from=2025-01-01&to=2025-06-30" \
-H "Authorization: Bearer <TOKEN>"
Ejemplo con paginación¶
curl -X GET "http://localhost:7001/api/v2/blocks/completed?schoolCourseId=2025&page=2&limit=10" \
-H "Authorization: Bearer <TOKEN>"
Ejemplo completo¶
curl -X GET "http://localhost:7001/api/v2/blocks/completed?schoolCourseId=2025&from=2025-01-01&to=2025-06-30&page=1&limit=20" \
-H "Authorization: Bearer <TOKEN>"
Response (200 OK)¶
{
"ok": true,
"data": [
{
"studentBlockId": 42,
"blockId": 28,
"blockName": "Bloque 1",
"studentId": 123,
"studentName": "Juan Pérez",
"subjectId": 5,
"subjectName": "Piano",
"grade": 8.5,
"closedAt": "2025-06-15T10:30:00.000Z",
"closedByEmployeeName": "María García"
},
{
"studentBlockId": 43,
"blockId": 29,
"blockName": "Bloque 2",
"studentId": 456,
"studentName": "Ana López",
"subjectId": 5,
"subjectName": "Piano",
"grade": 9.0,
"closedAt": "2025-06-14T15:45:00.000Z",
"closedByEmployeeName": "Carlos Ruiz"
}
],
"pagination": {
"page": 1,
"limit": 20,
"total": 150,
"totalPages": 8
}
}
Errors¶
400 Bad Request - No hay cursos escolares¶
400 Bad Request - schoolCourseId inválido¶
400 Bad Request - Fecha inválida¶
400 Bad Request - Paginación inválida¶
401 Unauthorized¶
Notas¶
- Filtro por curso escolar: Se obtienen los estudiantes registrados en el curso escolar especificado y se filtran sus bloques con status
closed. - Filtro de fechas: Se aplica sobre el campo
closedAt(fecha en que el bloque pasó a estadoclosed). - Ordenamiento: Los resultados se ordenan por
closedAtdescendente (más recientes primero). - Límite máximo: El parámetro
limittiene un máximo de 100 para evitar respuestas muy grandes.
Relacionado¶
- 01_cierre_bloque.md - Flujo de cierre de bloque
- 02_revision_admin.md - Revisión administrativa
- POST_review_block.md - Aprobar/rechazar bloque