Registrar Checada
Registrar Checada
Section titled “Registrar Checada”Registra una nueva entrada o salida en el sistema de asistencias.
Endpoint
Section titled “Endpoint”POST /api/v2/incidents/save_checkHeaders
Section titled “Headers”Authorization: Bearer {token}Content-Type: application/jsonParámetros de Entrada
Section titled “Parámetros de Entrada”| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
date | string | ✅ | Fecha en formato Y-m-d (ej: 2024-01-15) |
hour | string | ✅ | Hora en formato H:i (ej: 09:30) |
longitude | number | ✅ | Coordenada longitudinal (decimal) |
latitude | number | ✅ | Coordenada latitudinal (decimal) |
address | string | ✅ | Dirección física donde se realiza la checada (máx. 500 caracteres) |
comment | string | ❌ | Comentario opcional (máx. 500 caracteres) |
Nota: El
user_idse obtiene automáticamente del token de autorización. No es necesario enviarlo como parámetro.
Ejemplo de Solicitud
Section titled “Ejemplo de Solicitud”POST /api/v2/incidents/save_checkAuthorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9...Content-Type: application/json
{ "date": "2024-01-15", "hour": "09:30", "longitude": -99.1332, "latitude": 19.4326, "address": "Oficina Central - Ciudad de México", "comment": "Checada de entrada"}Respuestas
Section titled “Respuestas”✅ Registro Exitoso (200)
Section titled “✅ Registro Exitoso (200)”{ "success": true, "message": "Checada registrada exitosamente", "data": { "clocklog_id": 7891 }}❌ Checada Duplicada (400)
Section titled “❌ Checada Duplicada (400)”{ "success": false, "message": "Ya tienes una checada para tu Entrada", "data": null}❌ Día No Laborable (400)
Section titled “❌ Día No Laborable (400)”{ "success": false, "message": "Hoy no se labora", "data": null}❌ Horario No Configurado (400)
Section titled “❌ Horario No Configurado (400)”{ "success": false, "message": "Tu horario no ha sido creado", "data": null}❌ Usuario Inactivo (403)
Section titled “❌ Usuario Inactivo (403)”{ "success": false, "message": "No eres un usuario activo de la plataforma", "data": null}❌ Datos Inválidos (422)
Section titled “❌ Datos Inválidos (422)”{ "success": false, "message": "Datos de entrada inválidos", "errors": { "date": ["El formato de fecha debe ser Y-m-d"], "hour": ["El formato de hora debe ser H:i"], "latitude": ["El campo latitude debe ser un número"], "longitude": ["El campo longitude debe ser un número"], "address": ["El campo address es obligatorio"] }, "data": null}❌ Token Inválido (401)
Section titled “❌ Token Inválido (401)”{ "success": false, "message": "Token de autorización inválido o faltante", "data": null}Tipos de Checada Automáticos
Section titled “Tipos de Checada Automáticos”El sistema determina automáticamente el tipo de checada basado en:
- Entrada (
in): Primera checada del día - Salida (
out): Última checada del día - Salida Comida (
break_out): Salida para comida - Entrada Comida (
break_in): Regreso de comida
Validaciones Automáticas
Section titled “Validaciones Automáticas”El sistema valida:
- ✅ Usuario existe y está activo
- ✅ Empleado tiene horario configurado
- ✅ Es un día laborable
- ✅ No hay incidentes que bloqueen el día
- ✅ No hay checada duplicada del mismo tipo
- ✅ Geolocalización válida
Casos de Uso
Section titled “Casos de Uso”- Registro móvil: App móvil con GPS
- Registro web: Dashboard administrativo
- Checada manual: Sistema punto de venta
- Corrección de registros: Actualización de errores
Notas Importantes
Section titled “Notas Importantes”- La hora está en formato de 24 horas (00:00 a 23:59)
- Las coordenadas se envían como números decimales
- La dirección debe ser descriptiva para auditoría
- Solo se puede registrar un tipo de checada por día
- El sistema automáticamente decide entradas/salidas