Horas imputadas a proyectos
https://api.afer.pro/api/v1/project-times
POST https://api.afer.pro/consultarTiemposProyecto
Las horas fichadas contra proyectos entre dos fechas, agregadas por proyecto y por persona, con su coste.
El desglose de la partida coste_personal de consultarProyectos: qué proyecto se ha llevado cuántas horas y de quién.
Solo entran los fichajes cerrados (con salida registrada y posterior a la entrada) que tienen proyecto asignado. Cada hora se valora al coste/hora del contrato vigente en la fecha del fichaje, con el plan de pensiones y la TGSS incluidos — el mismo criterio que el informe interno de proyectos.
Envía tus claves API en las cabeceras X-API-KEY y X-API-SECRET. La cuenta sobre la que se opera se resuelve automáticamente a partir de la clave. Cómo obtener tus claves →
Este endpoint requiere autenticación con API key: sin credenciales responde 401.
Parámetros del cuerpo
El cuerpo de la petición es un objeto JSON con Content-Type: application/json.
fecha_iniciodateobligatorio | Inicio del período, incluido. Formato YYYY-MM-DD. |
fecha_findateobligatorio | Fin del período, incluido. |
proyectoIdstringopcional | Solo las horas de este proyecto. |
empleadoIdstringopcional | Solo las horas de esta persona. |
Ejemplo de petición
curl -X GET 'https://api.afer.pro/api/v1/project-times?fecha_inicio=2026-04-01&fecha_fin=2026-04-30' \
-H 'X-API-KEY: afer_tk_TU_TOKEN' \
-H 'X-API-SECRET: afer_sk_TU_SECRET'
<?php
$ch = curl_init('https://api.afer.pro/api/v1/project-times?fecha_inicio=2026-04-01&fecha_fin=2026-04-30');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'X-API-KEY: afer_tk_TU_TOKEN',
'X-API-SECRET: afer_sk_TU_SECRET',
]);
$respuesta = json_decode(curl_exec($ch), true);
curl_close($ch);
const respuesta = await fetch('https://api.afer.pro/api/v1/project-times?fecha_inicio=2026-04-01&fecha_fin=2026-04-30', {
method: 'GET',
headers: {
'X-API-KEY': 'afer_tk_TU_TOKEN',
'X-API-SECRET': 'afer_sk_TU_SECRET'
}
});
const resultado = await respuesta.json();
Respuesta
{
"errorCode": 200,
"errorMsg": "",
"data": {
"periodo": {
"desde": "2026-04-01",
"hasta": "2026-04-30"
},
"totales": {
"horas": 984.5,
"coste_personal": 17230.75
},
"total_proyectos": 1,
"proyectos": [
{
"proyectoId": "aBc123XyZ…",
"numero": "OB-2026-07",
"descripcion": "Reforma integral local Palma",
"horas": 312,
"coste_personal": 5460,
"empleados": [
{
"empleadoId": "eMp001…",
"nombre": "Ana",
"apellidos": "Pons Ferrer",
"horas": 168,
"coste_personal": 2940,
"num_fichajes": 21
}
]
}
]
}
}
- Los apuntes abiertos (sin salida) no suman: aparecen en consultarFichajes marcados con
abierto: true.