Sistema de exportación e integración REST para PowerBI, Excel y más
La API REST de Clocki te permite integrar tus datos de jornada laboral con herramientas de análisis empresarial como PowerBI, Excel, Tableau y cualquier sistema que consuma APIs REST.
Tokens de API con permisos granulares y fechas de expiración opcionales.
Respuestas en JSON o CSV según tus necesidades de integración.
Filtra por fechas, usuarios, ubicaciones y más para obtener exactamente lo que necesitas.
Los datos se consultan directamente de la base de datos sin caché.
Todos los accesos a la API quedan registrados con timestamp y endpoint.
No hay rate limiting (configurable en producción si lo necesitas).
| Endpoint | Descripción | Datos Exportados |
|---|---|---|
/api/export/users.php |
Usuarios | Empleados con ubicación y horario |
/api/export/punches.php |
Fichajes | Entradas/salidas con timestamps |
/api/export/events.php |
Eventos | Vacaciones, bajas, permisos |
/api/export/statistics.php |
Estadísticas | Horas trabajadas y balance |
/api/export/schedules.php |
Horarios | Turnos y franjas horarias |
/api/export/holidays.php |
Festivos | Días no laborables por ubicación |
/api/export/locations.php |
Ubicaciones | Centros de trabajo |
/api/export/week_types.php |
Tipos de semana | Patrones semanales (35h, 40h, etc.) |
/api/export/user_calendar.php |
Calendarios | Planificación de jornadas |
Todos los endpoints requieren un token de API válido que se envía como parámetro en cada petición.
Incluye el token como parámetro token en la URL de cada petición:
GET https://tu-servidor.com/clocki/api/export/users.php?token=TU_TOKEN_AQUI
Puedes crear tokens con acceso solo a endpoints específicos:
/users.phpDesde el panel de administración puedes:
Obtiene información de todos los usuarios de la empresa.
| Parámetro | Tipo | Descripción |
|---|---|---|
token requerido |
string | Token de API válido |
format opcional |
string | json (default) o csv |
active opcional |
int | 1 (activos), 0 (inactivos), all (todos) |
{
"success": true,
"data": [
{
"id": 5,
"email": "juan@example.com",
"first_name": "Juan",
"last_name": "Pérez",
"full_name": "Juan Pérez",
"location": "Oficina Central",
"schedule": "Horario Normal",
"schedule_abbr": "HN",
"active": true,
"created_at": "2025-01-01 10:00:00"
}
],
"count": 1,
"generated_at": "2025-11-17 12:00:00"
}
Obtiene el registro de entradas y salidas (fichajes).
| Parámetro | Tipo | Descripción |
|---|---|---|
token requerido |
string | Token de API válido |
from opcional |
date | Fecha inicio (YYYY-MM-DD) |
to opcional |
date | Fecha fin (YYYY-MM-DD) |
user_id opcional |
int | ID de usuario específico |
format opcional |
string | json o csv |
GET /api/export/punches.php?token=abc123&from=2025-01-01&to=2025-01-31&format=json
Obtiene eventos de calendario (vacaciones, bajas médicas, permisos, etc.).
token - Requeridofrom / to - Filtro por fechasuser_id - Filtrar por usuariostatus - approved, pending, rejectedformat - JSON o CSVObtiene estadísticas agregadas de horas trabajadas por usuario y periodo.
token - Requeridomonth - Mes específico (YYYY-MM)year - Año completo (YYYY)user_id - Filtrar por usuariofrom, to, month) para limitar el volumen de datos y mejorar el rendimiento.
Los siguientes endpoints funcionan de manera similar con parámetros token y format:
/api/export/schedules.php - Horarios y turnos configurados/api/export/holidays.php - Festivos y días no laborables/api/export/locations.php - Ubicaciones y centros de trabajo/api/export/week_types.php - Tipos de semana (patrones horarios)/api/export/user_calendar.php - Planificación de jornadas de usuariosIntegra Clocki con PowerBI para crear dashboards ejecutivos en tiempo real.
https://tu-servidor.com/clocki/api/export/statistics.php
tokentu_token_aquidata para ver todos los registrosImporta datos de Clocki directamente en Excel para análisis y reportes.
https://tu-servidor.com/clocki/api/export/punches.php?token=tu_token&format=csv&from=2025-01-01
data y expandir columnasTableau puede conectarse usando:
Cualquier sistema que pueda hacer peticiones HTTP puede integrar con la API de Clocki:
import requests
url = "https://tu-servidor.com/clocki/api/export/users.php"
params = {
"token": "tu_token_aqui",
"format": "json"
}
response = requests.get(url, params=params)
data = response.json()
if data['success']:
users = data['data']
print(f"Usuarios encontrados: {data['count']}")
for user in users:
print(f"{user['full_name']} - {user['email']}")
const fetch = require('node-fetch');
const url = 'https://tu-servidor.com/clocki/api/export/statistics.php';
const token = 'tu_token_aqui';
fetch(`${url}?token=${token}&month=2025-11`)
.then(response => response.json())
.then(data => {
if (data.success) {
console.log(`Registros encontrados: ${data.count}`);
data.data.forEach(stat => {
console.log(`${stat.user_name}: ${stat.total_hours}h trabajadas`);
});
}
});
Desde el panel de administración puedes:
| Aspecto | Estado Actual | Recomendación |
|---|---|---|
| Rate Limiting | Sin límites | Implementar en producción si es necesario |
| Paginación | No implementada | Usar filtros de fecha para limitar resultados |
| Caché | Sin caché | Consulta en tiempo real (considera caché para stats) |
| Timeout | 30s (PHP default) | Evitar queries muy largas con filtros apropiados |
La API devuelve códigos HTTP estándar:
{
"success": false,
"error": "Token expirado"
}
Para problemas o preguntas sobre la API:
Contacto: hola@clocki.es