Documentación API REST para integraciones profesionales
Conecta NexoLabor con asesorías, ERPs, herramientas de nóminas, apps móviles, sistemas de presencia, clientes, proyectos y soluciones externas.
https://nexolabor.com/api/v1/
Formato JSON · UTF-8 · HTTPS obligatorio
API REST NexoLabor
La API permite consultar y crear datos laborales desde aplicaciones externas. Está pensada para integraciones con asesorías, ERPs, sistemas de nóminas, apps móviles, BI y conectores privados.
| Versión | V1 |
|---|---|
| Base URL | https://nexolabor.com/api/v1/ |
| Formato | JSON |
| Codificación | UTF-8 |
| Seguridad | Token API por empresa |
Autenticación
Los endpoints protegidos aceptan token mediante cabecera Authorization: Bearer o cabecera compatible token.
Accept: application/json
Content-Type: application/json; charset=utf-8
Authorization: Bearer nl_TU_TOKEN_API
También se admite el formato usado por muchas APIs de control horario:
token: nl_TU_TOKEN_API
Endpoints de administrador
Operaciones para la empresa: empleados, clientes, proyectos, fichajes, vacaciones, gastos y datos de empresa.
Login / Token
Los tokens se generan desde el panel interno: Integraciones API. Por seguridad, la creación de tokens desde API debe limitarse a administradores autorizados.
Panel: /integraciones/index.php
Cabecera: Authorization: Bearer nl_TU_TOKEN
Users / Empleados
/api/v1/empleados.phpGet All Users / empleados de la empresa.
/api/v1/empleados.phpAdd User / alta de empleado.
/api/v1/empleados.php?id=15Get User / detalle de empleado.
curl --location 'https://nexolabor.com/api/v1/empleados.php' \
--header 'Accept: application/json' \
--header 'token: nl_TU_TOKEN'
{
"ok": true,
"empleados": [
{"id": 15, "nombre": "Empleado Demo", "dni": "00000000X", "correo": "empleado@empresa.com", "estado": "activo"}
]
}
Clients
/api/v1/clientes.phpGet Clients.
/api/v1/clientes.phpAdd Client / Edit Client enviando id.
/api/v1/clientes.php?id=3Delete Client.
curl --location 'https://nexolabor.com/api/v1/clientes.php' \
--header 'token: nl_TU_TOKEN'
Projects
/api/v1/proyectos.phpGet Projects.
/api/v1/proyectos.phpAdd/Edit Project.
/api/v1/proyectos.php?id=10Get Project.
/api/v1/proyectos.php?id=10Delete Project.
Clockings
/api/v1/fichajes.php?desde=2026-06-01&hasta=2026-06-30Listado de fichajes.
/api/v1/fichajes.phpCrear fichaje: entrada, salida, inicio_pausa o fin_pausa.
curl --location 'https://nexolabor.com/api/v1/fichajes.php' \
--header 'Content-Type: application/json' \
--header 'token: nl_TU_TOKEN' \
--data '{"id_empleado":15,"tipo":"entrada","latitud":36.43,"longitud":-5.45}'
Expenses List
/api/v1/gastos.phpListado de gastos, dietas e importes.
/api/v1/gastos.phpCrear gasto.
curl --location 'https://nexolabor.com/api/v1/gastos.php' \
--header 'Accept: application/json' \
--header 'token: nl_TU_TOKEN'
{
"ok": true,
"gastos": [
{"id": 1, "concepto": "Comidas", "importe": "12.50", "estado": "pendiente"}
]
}
Vacaciones
/api/v1/vacaciones.phpListado de solicitudes de vacaciones.
/api/v1/vacaciones.phpCrear solicitud de vacaciones.
Endpoints orientados al empleado
Consultas de perfil, fichajes del usuario, gastos y solicitudes. En esta versión se usa el token de empresa y el parámetro id_empleado para integraciones controladas.
My-Profile
Devuelve los datos básicos del empleado.
GET https://nexolabor.com/api/v1/my-profile.php?id_empleado=15
User Clockings
Endpoint compatible con filtros tipo IntraTime: last, maxResult, from, to y type.
| Parámetro | Ejemplo | Descripción |
|---|---|---|
| last | true | Ordena últimos fichajes primero. |
| maxResult | 2 | Máximo de resultados. |
| from | 2026-06-01 00:00:00 | Fecha inicial. |
| to | 2026-06-30 23:59:59 | Fecha final. |
| type | 0,1,2,3 | 0 entrada, 1 salida, 2 inicio pausa, 3 fin pausa. |
| id_empleado | 15 | Empleado concreto. |
curl --location 'https://nexolabor.com/api/v1/user-clockings.php?last=true&maxResult=2&from=2026-06-01%2000:00:00&type=0,1,2,3' \
--header 'Accept: application/json' \
--header 'Content-Type: application/json; charset=utf-8' \
--header 'token: nl_TU_TOKEN'
[
{
"INOUT_ID": 9641714,
"INOUT_USER_ID": 15,
"INOUT_USER_NAME": "Empleado Demo",
"INOUT_TYPE": 0,
"INOUT_TYPE_NAME": "entrada",
"INOUT_DATE": "2026-06-10 09:18:16",
"INOUT_SOURCE": "pwa",
"INOUT_COORDINATES": "36.4300000,-5.4500000",
"INOUT_COMMENTS": null
}
]
Clocking Requests
Devuelve incidencias o solicitudes relacionadas con fichajes por año.
curl --location 'https://nexolabor.com/api/v1/clocking-requests.php?year=2026' \
--header 'token: nl_TU_TOKEN'
{
"ok": true,
"clocking_requests": [
{"id": 1, "id_fichaje": 25, "estado": "pendiente", "comentario": "Olvido de fichaje"}
]
}
Permisos de token
Los tokens pueden limitarse por módulos para evitar accesos innecesarios.
Códigos de respuesta
| Código | Uso |
|---|---|
| 200 OK | Operación completada. |
| 201 Created | Registro creado. |
| 400 Bad Request | Faltan datos o formato no válido. |
| 401 Unauthorized | Token no enviado o inválido. |
| 403 Forbidden | Permiso insuficiente. |
| 404 Not Found | Registro no encontrado. |
| 405 Method Not Allowed | Método HTTP no permitido. |
{
"ok": false,
"error": "Token API no válido o inactivo"
}
