Marcaciones de punto
Qué es
Una marcado de punto es el registro de entrada o salida de un empleado en un determinado momento. Es el dato central del sistema de control de frecuencia — todo en la Pontotel gira en torno a garantizar que las marcas sean precisas y completas.
Por qué esto importa en una integración
- En integraciones con dispositivos de punto (relogios, totens, apps), los registros llegan vía API
- sincronizaciones con sistemas de hoja, marcas históricas pueden ser importadas
- El Zona horaria correcto es obligatorio — marcas sin offset UTC generan inconsistencias en los cálculos
Reglas de negocio
- Cada marca tiene un tipo:
entrada o saida - El
data_hora obligatoriamente debe incluir offset de zona horaria (ISO 8601) - Empleados inactivos no pueden registrar nuevas marcas
- Las etiquetas incorrectas no deben ser deletadas — deben ser ajustados con justificación para auditoría
- El orden cronológico (entrada → salida → entrada → salida) debe ser respetado
Fuso horario es obligatorio
Siempre envíe data_hora con offset explícito.
Gálatas "2025-01-31T08:05:00-03:00"
❌ "2025-01-31T08:05:00" (sin offset — ambiguo)
Operaciones disponibles
| Método | Variable | Descripción |
| GET | /marcacoes/ | Listar marcas |
| POST | /marcacoes/ | Registro marcado |
| GET | /marcacoes/{id}/ | Obtener marcado |
| PATCH | /marcacoes/{id}/ | Ajustar (requier justificación) |
Campos
| Campo | Tipo | Obligatorio | Descripción |
id | Integer | — | ID interno |
empregado_id | Integer | Gálatas | ID del empleado |
data_hora | datetime | Gálatas | Fecha y hora con offset (ISO 8601) |
tipo | string | Gálatas | entrada o saida |
origem | string | — | app \ |
justificativa | string | — | Motivo del ajuste (para PATCH) |
Ejemplo: Registrar marcador
Solicitud
| HTTP |
|---|
| POST /pontotel/api/v4/marcacoes/
Authorization: Bearer {token}
Content-Type: application/json
{
"empregado_id": 500,
"data_hora": "2025-01-31T08:05:00-03:00",
"tipo": "entrada",
"origem": "api"
}
|
Respuesta (201 Created)
| JSON |
|---|
| {
"id": 9999,
"empregado_id": 500,
"data_hora": "2025-01-31T08:05:00-03:00",
"tipo": "entrada",
"origem": "api",
"justificativa": null
}
|
Ejemplo: Listar marcas por periodo
| HTTP |
|---|
| GET /pontotel/api/v4/marcacoes/?empregado_id=500&data_inicio=2025-01-01T00:00:00-03:00&data_fim=2025-01-31T23:59:59-03:00
Authorization: Bearer {token}
|
Ejemplo: Ajustar marcador
| HTTP |
|---|
| PATCH /pontotel/api/v4/marcacoes/9999/
Authorization: Bearer {token}
Content-Type: application/json
{
"data_hora": "2025-01-31T08:00:00-03:00",
"justificativa": "Correção de horário registrado com atraso por falha no dispositivo"
}
|
Errores comunes
| Error | Causa | Solución |
| Timestamp sin offset | data_hora sin zona horaria | Siempre incluya offset: 2025-01-31T08:00:00-03:00 |
| Empleado inactivo | Intentar registrar a un colaborador despedido | Compruebe is_active antes de enviar |
| Orden invertida | Salida registrada antes de entrada | Garanta orden cronológico correcta |
Links relacionados