Cambiar Estado de Registro
Cambiar Estado de Registro
Section titled “Cambiar Estado de Registro”Permite cambiar el estado de aprobación de un registro de checada y agregar comentarios administrativos.
Endpoint
Section titled “Endpoint”POST /api/v2/incidents/change_log_statusHeaders
Section titled “Headers”Authorization: Bearer {token}Content-Type: application/jsonParámetros de Entrada
Section titled “Parámetros de Entrada”| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
log_id | integer | ✅ | ID del registro de checada (debe existir) |
status | string | ✅ | Nuevo estado: pending, approved, rejected |
comment | string | ❌ | Comentario administrativo (máx. 500 caracteres) |
Estados Disponibles
Section titled “Estados Disponibles”| Estado | Descripción |
|---|---|
pending | Pendiente de revisión |
approved | Aprobado por administrador |
rejected | Rechazado por administrador |
Ejemplo de Solicitud
Section titled “Ejemplo de Solicitud”POST /api/v2/incidents/change_log_statusAuthorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...Content-Type: application/json
{ "log_id": 7891, "status": "approved", "comment": "Registro válido según políticas de la empresa"}Aprobación sin Comentario
Section titled “Aprobación sin Comentario”{ "log_id": 7891, "status": "approved"}Rechazo con Comentario
Section titled “Rechazo con Comentario”{ "log_id": 7891, "status": "rejected", "comment": "Hora de entrada inválida, verificar justificación"}Respuestas
Section titled “Respuestas”✅ Estado Actualizado (200)
Section titled “✅ Estado Actualizado (200)”{ "success": true, "message": "Estado del registro actualizado exitosamente", "data": { "log_id": 7891, "status": "approved" }}❌ Registro No Encontrado (422)
Section titled “❌ Registro No Encontrado (422)”{ "success": false, "message": "Datos de entrada inválidos", "errors": { "log_id": ["El registro seleccionado no existe"] }, "data": null}❌ Estado Inválido (422)
Section titled “❌ Estado Inválido (422)”{ "success": false, "message": "Datos de entrada inválidos", "errors": { "status": ["El estado debe ser: pending, approved, rejected"] }, "data": null}❌ Error al Agregar Comentario (500)
Section titled “❌ Error al Agregar Comentario (500)”{ "success": false, "message": "Error al agregar comentario", "data": null}❌ Error al Actualizar Estado (500)
Section titled “❌ Error al Actualizar Estado (500)”{ "success": false, "message": "Error al actualizar el estado", "data": null}Transacciones de Base de Datos
Section titled “Transacciones de Base de Datos”El sistema realiza las siguientes operaciones en una transacción:
- Si hay comentario: Crea registro en tabla de comentarios
- Actualiza estado: Cambia el status del registro principal
- Commit: Confirma todas las operaciones
- Rollback automático: Si cualquier operación falla
Ejemplos de Comentarios Administrativos
Section titled “Ejemplos de Comentarios Administrativos”✅ Validaciones Positivas
Section titled “✅ Validaciones Positivas”- “Checada válida según horario establecido”
- “Justificación de entrada tardía aceptada”
- “Registro correcto para horario nocturno”
❌ Rechazos con Motivo
Section titled “❌ Rechazos con Motivo”- “Horario no coincide con turno asignado”
- “Falta justificación médica para entrada tardía”
- “Dirección registrada fuera del radio permitido”
Casos de Uso
Section titled “Casos de Uso”- Revisión administrativa: Supervisor aprueba/rechaza checadas
- Auditoría de nómina: Validación antes de cálculo salarial
- Política de asistencia: Aplicación de reglas corporativas
- Trazabilidad: Registro de decisiones administrativas
- Notificaciones: Avisos automáticos de estado
Permisos Informativos
Section titled “Permisos Informativos”- Solo usuarios con permisos administrativos pueden cambiar estados
- Los comentarios quedan registrados con timestamp de modificación
- El cambio de estado genera auditoría automática
- Los usuarios pueden recibir notificaciones de cambio de estado
Integración con Nómina
Section titled “Integración con Nómina”Los estados impactan en:
- Aprobar: Se incluye en cálculo de horas trabajadas
- Rechazar: Se excluye del cálculo salarial
- Pendiente: Requiere revisión antes de procesar nómina