Overview
This endpoint allows administrators to manually register attendance events for employees. It is used for correcting missed punches, backdating entries, or making administrative adjustments to attendance records.
Request Body
The unique identifier of the employee for whom the manual entry is being made
The type of attendance action being registered manually. Allowed values:
iniciarJornada - Start shift
finalizarJornada - End shift
finalizarJornadaDeposito - End shift with deposit
iniciarPausa - Start break
finalizarPausa - End break
The time of the attendance event in HH:mm:ss format (e.g., “08:30:00”)
Notes or comments explaining the reason for the manual entry. This field is mandatory for audit purposes
The ID of the unit/location where the attendance event occurred
Required when tipoAccion is iniciarPausa or finalizarPausa. Allowed values:
COMIDA - Meal break
OTRA - Other type of break
The ID of the employee’s assigned unit (optional)
Response
Indicates whether the operation was successful
No data is returned for this endpoint
Confirmation message: “Asistencia registrada”
Example Requests
Manual Shift Start
curl -X POST https://api.integra.com/asistencia/manual \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"empleadoId": 123,
"tipoAccion": "iniciarJornada",
"hora": "08:00:00",
"observaciones": "Empleado olvidó registrar entrada, verificado con supervisor",
"unidadId": 5,
"unidadAsignadaId": 5
}'
Manual Break Start
curl -X POST https://api.integra.com/asistencia/manual \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"empleadoId": 123,
"tipoAccion": "iniciarPausa",
"hora": "13:00:00",
"pausa": "COMIDA",
"observaciones": "Sistema no registró pausa automáticamente",
"unidadId": 5
}'
Manual Shift End with Deposit
curl -X POST https://api.integra.com/asistencia/manual \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"empleadoId": 123,
"tipoAccion": "finalizarJornadaDeposito",
"hora": "17:30:00",
"observaciones": "Ajuste por falla en kiosko al finalizar turno",
"unidadId": 5
}'
Response Example
{
"success": true,
"data": null,
"message": "Asistencia registrada"
}
{
"success": false,
"message": "El ID del empleado no puede ser nulo"
}
Use Cases
Missed Punch Correction
When an employee forgets to clock in or out, administrators can use this endpoint to create the missing attendance record with proper documentation.
System Failure Recovery
If the kiosk or attendance system was unavailable, manual entries can be made to ensure accurate attendance records.
Time Adjustments
For approved schedule changes or corrections, this endpoint allows backdating of attendance events with proper audit trail.
Break Corrections
If break times were not properly recorded, they can be manually entered to maintain accurate work hour calculations.
Business Rules
- All fields except
pausa and unidadAsignadaId are mandatory
- The
pausa field is required only when tipoAccion involves break actions
- The
observaciones field is mandatory for audit and compliance purposes
- Manual entries should follow the same business logic as automatic entries (e.g., cannot end a shift that wasn’t started)
- Only authorized administrators should have access to this endpoint
- All manual entries are logged with the administrator’s information for audit trail
- Time values must be in valid HH:mm:ss format
Create Complete Shift
Create a complete shift record with both start and end times in a single operation. This is useful for backdating entire shifts.
Request Body
Unit/location ID where shift occurred
Shift start time (HH:mm:ss format)
Shift end time (HH:mm:ss format)
Date of the shift (yyyy-MM-dd format)
Response
{
"data": null,
"message": "Jornada completa registrada"
}
Create Complete Break
Create a complete break record with both start and end times in a single operation.
Request Body
Break type: COMIDA or OTRA
Break start time (HH:mm:ss format)
Break end time (HH:mm:ss format)
Date of the break (yyyy-MM-dd format)
Response
{
"data": null,
"message": "Pausa completa registrada"
}