Crear recurrente
https://api.afer.pro/crearRecurrente
Crea una plantilla de facturación recurrente anual para un cliente: una suscripción que Afer facturará automáticamente.
Da de alta una facturación recurrente con periodicidad anual (365 días). El cliente se resuelve por CIF como en el resto de endpoints de venta.
Si una línea referencia un artículo (articulo_fk) y no envías importe_unitario, la línea toma automáticamente el PVP, el IVA y la descripción del artículo del catálogo — ideal para suscripciones a productos con tarifa mantenida en Afer.
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.
clienteobjectobligatorio | Cliente de facturación. Mismos campos que en crearFactura; deduplicación por CIF. |
pedidoobjectobligatorio | Cabecera de la recurrencia. |
obrastringobligatorio | Descripción de la recurrencia (p. ej. "Suscripción anual Plan Pro"). |
detallesarrayobligatorio | Líneas de la recurrencia. |
cantidadnumberobligatorio | Unidades. |
articulo_fkintopcional | Artículo del catálogo. Si se envía sin importe_unitario, la línea hereda PVP, IVA y descripción del artículo. |
descripcionstringopcional | Descripción de la línea. Obligatoria si no hay artículo. |
importe_unitarionumberopcional | Precio unitario sin IVA. Si se omite, se toma del artículo. |
ivanumberopcional | Tipo de IVA. Si se omite, se toma del artículo. |
Ejemplo de petición
curl -X POST 'https://api.afer.pro/crearRecurrente' \
-H 'Content-Type: application/json' \
-H 'X-API-KEY: afer_tk_TU_TOKEN' \
-H 'X-API-SECRET: afer_sk_TU_SECRET' \
-d '{
"cliente": {
"nombre_fiscal": "Talleres Martorell SL",
"cif": "B07123456",
"email": "admin@talleresmartorell.com"
},
"pedido": {
"obra": "Suscripción anual mantenimiento"
},
"detalles": [
{
"cantidad": 1,
"articulo_fk": 4521
}
]
}'
<?php
$data = [
'cliente' => [
'nombre_fiscal' => 'Talleres Martorell SL',
'cif' => 'B07123456',
'email' => 'admin@talleresmartorell.com',
],
'pedido' => [
'obra' => 'Suscripción anual mantenimiento',
],
'detalles' => [
0 => [
'cantidad' => 1,
'articulo_fk' => 4521,
],
],
];
$ch = curl_init('https://api.afer.pro/crearRecurrente');
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/crearRecurrente', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'X-API-KEY': 'afer_tk_TU_TOKEN',
'X-API-SECRET': 'afer_sk_TU_SECRET'
},
body: JSON.stringify({
"cliente": {
"nombre_fiscal": "Talleres Martorell SL",
"cif": "B07123456",
"email": "admin@talleresmartorell.com"
},
"pedido": {
"obra": "Suscripción anual mantenimiento"
},
"detalles": [
{
"cantidad": 1,
"articulo_fk": 4521
}
]
})
});
const resultado = await respuesta.json();
Respuesta
Devuelve el identificador cifrado de la recurrente creada.
{
"errorCode": 200,
"errorMsg": "",
"data": "aBc123XyZ456…"
}
- La periodicidad se fija en 365 días. Para otras periodicidades, edita la recurrente desde Afer tras crearla.