Obtener producto
https://api.afer.pro/api/v1/products/{id}
POST https://api.afer.pro/obtenerProducto
La ficha completa de un artículo, con sus precios por tarifa y, si es de alquiler, su tabla por días.
Devuelve el mismo objeto que cada elemento de consultarProductos más los campos que solo tienen sentido en la ficha: modo_venta, modo_precios y el control de caducidad.
El bloque precios_alquiler solo aparece si el artículo tiene tarifa de alquiler configurada: por_dias lleva una entrada por cada tramo con precio (1 a 7 días) y dias_posteriores el precio de cada día a partir del séptimo.
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.
articuloIdstringobligatorio | Identificador del artículo. Viaja en la ruta. Acepta el id cifrado de consultarProductos o el numérico legacy. |
Ejemplo de petición
curl -X GET 'https://api.afer.pro/api/v1/products/aBc123XyZ?articuloId=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/products/aBc123XyZ?articuloId=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/products/aBc123XyZ?articuloId=aBc123XyZ', {
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": {
"articulo": {
"articuloId": "aBc123XyZ…",
"referencia": "KAY-2P",
"sku": "KAY2P",
"codigo_ean": null,
"descripcion": "Kayak doble",
"familia": {
"familiaId": "dEf456…",
"titulo": "Alquiler náutico"
},
"iva": 21,
"coste": 320,
"precios": [
{
"tarifa": 1,
"precio": 45,
"precio_con_iva": 54.45
}
],
"stock": 6,
"stock_minimo": 0,
"bajo_minimo": false,
"modo_venta": "alquiler",
"modo_precios": "sin_iva",
"contemplar_fecha_caducidad": false,
"precios_alquiler": {
"por_dias": [
{
"dias": 1,
"precio": 45
},
{
"dias": 2,
"precio": 80
},
{
"dias": 3,
"precio": 110
}
],
"dias_posteriores": 25
}
}
}
}
- Si el artículo no es de tu cuenta responde
404: los identificadores nunca cruzan de un tenant a otro. - Para saber cuántas unidades quedan libres entre dos fechas usa numDisponibilidadArticuloAlquiler.