Base URL https://api.afer.pro aferapp.com
Negocio recurrente

Recurrentes creados

POST https://api.afer.pro/consultarRecurrentesCreados

Devuelve los servicios recurrentes dados de alta entre dos fechas, agrupados por periodicidad: semanales, mensuales, anuales…

Mide la captación de negocio recurrente de un período: cada servicio recurrente (cuota, mantenimiento, suscripción) creado en el rango, con su importe por ciclo y su cliente.

Los resultados llegan agrupados por periodicidad — semanal (7 días), quincenal (14), mensual (30), bimensual (60), trimestral (90), semestral (180) y anual (365) — con el número de altas y el importe total de cada grupo. Los grupos sin altas no aparecen.

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.

fecha_iniciodate
obligatorio
Inicio del período de alta (YYYY-MM-DD), incluido.
fecha_findate
obligatorio
Fin del período de alta (YYYY-MM-DD), incluido.

Ejemplo de petición

curl -X POST 'https://api.afer.pro/consultarRecurrentesCreados' \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: afer_tk_TU_TOKEN' \
  -H 'X-API-SECRET: afer_sk_TU_SECRET' \
  -d '{
    "fecha_inicio": "2026-01-01",
    "fecha_fin": "2026-03-31"
}'
<?php

$data = [
  'fecha_inicio' => '2026-01-01',
  'fecha_fin' => '2026-03-31',
];

$ch = curl_init('https://api.afer.pro/consultarRecurrentesCreados');
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/consultarRecurrentesCreados', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    'X-API-KEY': 'afer_tk_TU_TOKEN',
    'X-API-SECRET': 'afer_sk_TU_SECRET'
  },
  body: JSON.stringify({
      "fecha_inicio": "2026-01-01",
      "fecha_fin": "2026-03-31"
  })
});

const resultado = await respuesta.json();

Respuesta

importe es el importe por ciclo del recurrente (base sin IVA): lo que factura cada vez que se renueva, no lo anualizado. fecha_creacion es la fecha de alta; fecha_inicio y fecha_caducidad delimitan su vigencia (null = sin límite).

200 · application/json
{
    "errorCode": 200,
    "errorMsg": "",
    "data": {
        "fecha_inicio": "2026-01-01",
        "fecha_fin": "2026-03-31",
        "num_recurrentes": 3,
        "importe_total": 1350,
        "por_periodicidad": {
            "mensual": {
                "periodicidad_dias": 30,
                "num": 2,
                "importe_total": 150,
                "recurrentes": [
                    {
                        "recurrenteId": "aBc123XyZ…",
                        "descripcion": "Cuota mantenimiento web",
                        "importe": 100,
                        "fecha_creacion": "2026-02-10",
                        "fecha_inicio": null,
                        "fecha_caducidad": null,
                        "cliente": {
                            "clienteId": "dEf456…",
                            "nombre_fiscal": "FERRER INTERIORS SL"
                        }
                    }
                ]
            },
            "anual": {
                "periodicidad_dias": 365,
                "num": 1,
                "importe_total": 1200,
                "recurrentes": []
            }
        }
    }
}

Errores

CasoResultado
Sin credenciales de API key errorCode 401, errorMsg "Error on service call: API key authentication required".
fecha_inicio o fecha_fin ausentes o mal formadas errorCode 400 indicando el parámetro.
Notas
  • Para saber cuánto facturan estos servicios en un período, usa consultarRecurrentesRenovaciones (un mensual renueva 12 veces al año; su importe por ciclo no es comparable al de un anual sin multiplicar).