Este servicio web permite registrar o actualizar la calificación de un estudiante dentro de un acta de examen.
Además de la calificación principal, el servicio también puede guardar libro, folio, observaciones y, cuando la configuración del sistema lo permite, las calificaciones de escrito y oral.
1709 - PERMISO_ACTAS_GESTIONAR_CALIFICACIONES.1720 - PERMISO_DOCENTE_REGISTRAR_CALIFICACIONES_ACTA.La invocación se realiza por fuera de la interfaz habitual del sistema, por ejemplo desde Postman o desde una integración externa.
PUT /api/v1/WSExaminationRecords/updateStudentGrade
| Parámetro | Tipo | Obligatorio | Descripción |
|---|---|---|---|
examinationRecordId | numérico | Sí | Identificador del acta. |
studentId | numérico | Sí | Identificador del estudiante. |
gradeId | numérico | Sí, salvo en readonly | Identificador de la calificación principal. En inscripciones de solo lectura no debe enviarse. |
gradeIdWritten | numérico | No | Calificación escrita. |
gradeIdOral | numérico | No | Calificación oral. |
book | texto | No | Libro asociado a la registración. |
folio | texto | No | Folio asociado a la registración. |
observations | texto | No | Observaciones vinculadas a la calificación. |
PUT al endpoint /api/v1/WSExaminationRecords/updateStudentGrade.X-API-KEY con una clave válida.examinationRecordId y el studentId.gradeId, salvo que la inscripción sea de solo lectura.book, folio y observations.gradeIdWritten y gradeIdOral.Ejemplo básico:
{
"examinationRecordId": 100,
"studentId": 200,
"gradeId": 50
}Ejemplo con datos complementarios:
{
"examinationRecordId": 100,
"studentId": 200,
"gradeId": 50,
"book": "12",
"folio": "45",
"observations": "Calificación registrada por integración"
}Cuando la operación es correcta, el servicio responde con estado HTTP 200 y una estructura similar a la siguiente:
{
"success": true,
"message": "...",
"data": {
"examinationRecordStudentId": 123,
"studentState": 20
}
}studentState indica el estado recalculado del estudiante luego del guardado.
MANEJO_CALIFICACION_ESCRITO_ORAL_ACTAS está activo, se pueden informar gradeIdWritten y gradeIdOral.book, folio y observations.gradeId, gradeIdWritten y gradeIdOral depende del grupo de calificaciones configurado en el acta.| Situación | Resultado esperado |
|---|---|
Falta examinationRecordId o studentId | HTTP 400 con errorCode 1001. |
Falta gradeId en una inscripción que no es readonly | HTTP 400 con errorCode 1001. |
| Parámetro no permitido | HTTP 400 con errorCode 1002. |
| Tipo de parámetro inválido | HTTP 400 con errorCode 1004. |
| Usuario sin rol habilitado o sin acceso suficiente | HTTP 403 con errorCode 1003. |
| Docente con permiso pero no vinculado al acta como presidente o vocal | HTTP 403 con errorCode 1003. |
| Calificación escrita u oral enviada con parámetro desactivado | HTTP 400 con errorCode 4001. |
| Acta cerrada | HTTP 400 con errorCode 4002. |
| Inscripción readonly con intento de modificar calificaciones | HTTP 400 con errorCode 4003. |
| Acta inexistente | HTTP 404 con errorCode 3001. |
| Estudiante no inscripto o inscripción eliminada | HTTP 404 con errorCode 3002. |
| Calificación inexistente | HTTP 404 con errorCode 3003. |
¿Siempre debo enviar gradeId?
Sí, excepto cuando la inscripción del estudiante sea de solo lectura. En ese caso, solo puede informar libro, folio y observaciones.
¿Puedo enviar calificación escrita y oral en cualquier caso?
No. Solo puede hacerlo cuando la configuración correspondiente esté habilitada en el sistema.
¿Qué ocurre si la calificación corresponde a “sin nota”?
El servicio guarda la información y deja al estudiante en estado pendiente, siempre que esa calificación no represente ausente ni en proceso.



