Obtener proyecto
GET
https://api.afer.pro/api/v1/projects/{id}
Alias en castellano (v0, sigue operativo):
POST https://api.afer.pro/obtenerProyecto
La ficha de una obra: cabecera, económico agregado y resumen de tareas.
El mismo bloque economico que en consultarProyectos, más el cliente completo y un resumen de las tareas del proyecto: cuántas hay, cuánto suman de presupuestado, su progreso medio y cuántas están vencidas (sin completar y con fecha prevista pasada).
Autenticación
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.
proyectoIdstringobligatorio | Identificador del proyecto. Viaja en la ruta. Acepta el id cifrado de consultarProyectos o el numérico legacy. |
fecha_iniciodateopcional | Acota el económico desde esta fecha. |
fecha_findateopcional | Acota el económico hasta esta fecha. |
Ejemplo de petición
curl -X GET 'https://api.afer.pro/api/v1/projects/aBc123XyZ?proyectoId=aBc123XyZ' \
-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/projects/aBc123XyZ?proyectoId=aBc123XyZ');
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/projects/aBc123XyZ?proyectoId=aBc123XyZ', {
method: 'GET',
headers: {
'X-API-KEY': 'afer_tk_TU_TOKEN',
'X-API-SECRET': 'afer_sk_TU_SECRET'
}
});
const resultado = await respuesta.json();
Respuesta
200 · application/json
{
"errorCode": 200,
"errorMsg": "",
"data": {
"proyecto": {
"proyectoId": "aBc123XyZ…",
"numero": "OB-2026-07",
"descripcion": "Reforma integral local Palma",
"tipo_proyecto": "obra",
"fecha_fin": "2026-09-30",
"cliente": {
"clienteId": "dEf456…",
"nombre_fiscal": "ACME OBRAS SL",
"nombre_comercial": "Ferrer Interiors",
"cif": "B07123456",
"email": "admin@ferrerinteriors.com",
"telefono": "971123456",
"movil": "600123456",
"rgpd": {
"comunicaciones_email": true,
"comunicaciones_whatsapp": false,
"comunicaciones_sms": null,
"tratamiento_imagenes": null
}
},
"estado": {
"estadoId": "gHi789…",
"titulo": "En curso"
},
"presupuesto_coste": 42000,
"presupuesto_venta": 68000,
"economico": {
"ventas": 51200,
"compras": 21400,
"coste_personal": 12800.4,
"coste_maquinaria": 1900,
"costes": 36100.4,
"resultado": 15099.6,
"margen": 29.5,
"horas": 742.5
},
"tareas": {
"total": 18,
"presupuesto": 64500,
"progreso_medio": 62,
"vencidas": 3
}
}
}
}
Notas
- Si el proyecto no es de tu cuenta responde
404.