Saltar a contenido

Obtener estudiantes por materia y centro

✅ GET /api/v2/registration/students-by-subject-and-center

Método/Ruta: GET /api/v2/registration/students-by-subject-and-center
Auth: Bearer JWT (rol: admin/user)

Descripción: Obtiene una lista de estudiantes activos que tienen matrícula (activa o pendiente) para una materia específica en un centro y curso escolar determinados. Incluye el estado de la matrícula para identificar problemas de asignación.

Params

  • subjectId (query, number, requerido) — ID de la materia, ejemplo: 1
  • centerId (query, number, requerido) — ID del centro, ejemplo: 1
  • schoolCourseId (query, number, requerido) — ID del curso escolar, ejemplo: 10

Body

No aplica (GET request)

cURL

curl -X GET "http://localhost:7001/api/v2/registration/students-by-subject-and-center?subjectId=1&centerId=1&schoolCourseId=10" \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <TOKEN>"

Response

200 OK - Lista de estudiantes con estado de matrícula

{
  "status": "success",
  "data": [
    {
      "studentId": 123,
      "fullName": "Juan García",
      "registrationId": 456,
      "registrationStatus": "active"
    },
    {
      "studentId": 789,
      "fullName": "María López",
      "registrationId": 101,
      "registrationStatus": "pending"
    }
  ]
}

Errores

400 Bad Request - Parámetros faltantes o inválidos

{
  "status": "error",
  "message": "subjectId, centerId and schoolCourseId are required"
}

401 Unauthorized - Token inválido o faltante

{
  "status": "error",
  "message": "Token inválido"
}

500 Internal Server Error - Error del servidor

{
  "status": "error", 
  "message": "Error interno del servidor"
}

Notas

  • Solo devuelve estudiantes con status = "active" en la tabla students
  • Incluye matrículas con estado "active" y "pending" para identificar problemas
  • Los nombres se devuelven con .trim() para eliminar espacios en blanco
  • Campo registrationStatus permite al frontend mostrar visualmente qué estudiantes tienen matrícula pendiente

Relacionado

  • Endpoint relacionado: GET /api/v2/employees/students-by-employee-id - Lista estudiantes asignados a un profesor
  • Endpoint v1: POST /api/v1/registration/update-student-registration - Asignar estudiantes a eventos (v1)
  • Análisis del problema: Ver archivo planing/alumnos_faltantes.md en el repositorio