Reservas por variaciones
https://api.afer.pro/consultarReservasArticulos
Devuelve las variaciones con stock de los artículos indicados y el detalle de cada reserva que ocupa el rango de fechas.
La versión detallada de consultarDisponibilidadArticulos: en lugar del agregado de unidades reservadas, devuelve cada reserva individual que se solapa con el rango — con sus fechas, su cantidad y su procedencia (línea de albarán o de factura directa).
Útil para pintar calendarios de ocupación o para lógica de asignación fina en tu web.
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 →
Parámetros del cuerpo
El cuerpo de la petición es un objeto JSON con Content-Type: application/json.
articulosint[]obligatorio | Array de IDs de artículo a consultar. |
fecha_iniciodateobligatorio | Inicio del período (YYYY-MM-DD). |
fecha_findateopcional | Fin del período. Si se omite, se consulta solo el día de fecha_inicio. |
Ejemplo de petición
curl -X POST 'https://api.afer.pro/consultarReservasArticulos' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: afer_tk_TU_TOKEN' \
-H 'X-API-SECRET: afer_sk_TU_SECRET' \
-d '{
"articulos": [
52087
],
"fecha_inicio": "2026-09-01",
"fecha_fin": "2026-09-30"
}'
<?php
$data = [
'articulos' => [
0 => 52087,
],
'fecha_inicio' => '2026-09-01',
'fecha_fin' => '2026-09-30',
];
$ch = curl_init('https://api.afer.pro/consultarReservasArticulos');
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, [
'Content-Type: application/json',
'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/consultarReservasArticulos', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-KEY': 'afer_tk_TU_TOKEN',
'X-API-SECRET': 'afer_sk_TU_SECRET'
},
body: JSON.stringify({
"articulos": [
52087
],
"fecha_inicio": "2026-09-01",
"fecha_fin": "2026-09-30"
})
});
const resultado = await respuesta.json();
Respuesta
Devuelve variaciones (solo las que tienen stock configurado), cada una con su array reservas. En cada reserva, id es la referencia documento-línea y procedencia indica si viene de un albarán o de una factura.
{
"errorCode": 200,
"errorMsg": "",
"data": {
"variaciones": [
{
"articulo_descripcion": "CANNONDALE SYNAPSE CARBON",
"variacion_titulo": "Talla 58",
"variacion_id": "524997",
"articulo_fk": "52087",
"variacion1_fk": "18",
"unidades_disponibles": "4",
"reservas": [
{
"cantidad": "1",
"variacion": "524997",
"startDate": "2026-09-05",
"endDate": "2026-09-10",
"id": "88412-3",
"procedencia": "albaran"
}
]
}
]
}
}
Errores
| Caso | Resultado |
|---|---|
articulos vacío |
errorMsg "Error on service call: El parametro artículos está vacío." |
fecha_inicio vacío |
errorMsg "Error on service call: El parametro fecha inicio está vacío." |
| Error interno de consulta | data = {"error": "mensaje"}. |