Base URL https://api.afer.pro Referencia aferapp.com Reservar demo

Listar recurrentes

GET https://api.afer.pro/api/v1/recurring-invoices
Alias en castellano (v0, sigue operativo): POST https://api.afer.pro/consultarRecurrentes

El catálogo de servicios recurrentes con su periodicidad, vigencia, última facturación e importe por ciclo.

Mientras recurrentes creados mide las altas de un período y consultarMRR resume el negocio vivo, este endpoint es el listado: todos los servicios recurrentes del tenant, uno a uno.

Por defecto solo devuelve los vigentes (sin fecha de caducidad pasada). Con incluir_caducados llegan todos, y con periodicidad puedes quedarte solo con los mensuales, los anuales, etc.

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.

clienteIdstring
opcional
Identificador cifrado del cliente: solo sus recurrentes.
periodicidadstring|int
opcional
Filtra por tipo: semanal, quincenal, mensual, bimensual, trimestral, semestral, anual (o sus días: 7, 14, 30, 60, 90, 180, 365).
incluir_caducadosbool
opcional
Con true incluye también los ya caducados. Por defecto, solo vigentes.
paginaint
opcional
Página a devolver. Por defecto 1.
por_paginaint
opcional
Resultados por página. Por defecto 100, máximo 500.

Ejemplo de petición

curl -X GET 'https://api.afer.pro/api/v1/recurring-invoices?periodicidad=mensual' \
  -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/recurring-invoices?periodicidad=mensual');
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/recurring-invoices?periodicidad=mensual', {
  method: 'GET',
  headers: {
    'X-API-KEY': 'afer_tk_TU_TOKEN',
    'X-API-SECRET': 'afer_sk_TU_SECRET'
  }
});

const resultado = await respuesta.json();

Respuesta

importe_por_ciclo es la base sin IVA de cada renovación. Las fechas sin informar llegan como null.

200 · application/json
{
    "errorCode": 200,
    "errorMsg": "",
    "data": {
        "total_recurrentes": 1,
        "pagina": 1,
        "por_pagina": 100,
        "num_paginas": 1,
        "recurrentes": [
            {
                "recurrenteId": "aBc123XyZ…",
                "descripcion": "Cuota mantenimiento web",
                "periodicidad": "mensual",
                "periodicidad_dias": 30,
                "importe_por_ciclo": 150,
                "fecha_alta": "2024-03-01",
                "fecha_inicio": "2024-03-01",
                "fecha_caducidad": null,
                "ultima_facturacion": "2026-08-01",
                "cliente": {
                    "clienteId": "dEf456…",
                    "nombre_fiscal": "FERRER INTERIORS 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
                    }
                }
            }
        ]
    }
}