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

MRR y ARR vivos

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

El negocio recurrente vivo en una fecha: MRR (no anuales), ARR (anuales) y contratos activos por periodicidad.

Calcula qué servicios recurrentes están vivos en el mes de la fecha indicada, con el mismo criterio de vigencia que el panel MRR de Afer: el servicio ha empezado (fecha de inicio o de alta), no ha caducado, y —si no es anual— tiene ese mes activo.

mrr suma los vivos con periodicidad distinta de anual; arr, los anuales. por_periodicidad desglosa contratos e importe por tipo.

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.

fechadate
opcional
Fecha de referencia (YYYY-MM-DD). Por defecto, hoy. El cálculo es sobre el mes de esa fecha.

Ejemplo de petición

curl -X POST 'https://api.afer.pro/consultarMRR' \
  -H 'Content-Type: application/json' \
  -H 'X-API-KEY: afer_tk_TU_TOKEN' \
  -H 'X-API-SECRET: afer_sk_TU_SECRET' \
  -d '{}'
<?php

$data = [
];

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

const resultado = await respuesta.json();

Respuesta

200 · application/json
{
    "errorCode": 200,
    "errorMsg": "",
    "data": {
        "fecha": "2026-08-18",
        "mes": "2026-08",
        "mrr": 8100,
        "arr": 24000,
        "contratos_mrr": 27,
        "contratos_arr": 4,
        "por_periodicidad": {
            "mensual": {
                "periodicidad_dias": 30,
                "num": 24,
                "importe": 7200
            },
            "trimestral": {
                "periodicidad_dias": 90,
                "num": 3,
                "importe": 900
            },
            "anual": {
                "periodicidad_dias": 365,
                "num": 4,
                "importe": 24000
            }
        }
    }
}
Notas
  • Los importes son el importe por ciclo (base sin IVA) de cada servicio: un trimestral de 900€ aporta 900 a su grupo, sin normalizar a mensualidad.
  • Consultando dos fechas (p. ej. este mes y el anterior) puedes derivar el crecimiento neto de MRR; las altas y bajas explican el porqué.