Base URL https://api.afer.pro aferapp.com
Consultas e informes

Listar facturas

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

Listado paginado de facturas de venta con filtros por fechas, cliente y estado de cobro.

El drill-down desde los agregados: las facturas de venta del tenant con sus datos de cabecera, paginadas y con identificadores cifrados. Se excluyen las series proforma.

base_imponible se calcula desde las líneas (mismo criterio que consultarVentas); saldo es lo pendiente de cobro con IVA y cobrada el estado. es_borrador marca las facturas aún sin numerar.

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
opcional
Facturas con fecha a partir de esta (YYYY-MM-DD).
fecha_findate
opcional
Facturas con fecha hasta esta (YYYY-MM-DD).
clienteIdstring
opcional
Identificador cifrado del cliente (el de listarClientes): solo sus facturas.
cobradabool
opcional
true = solo cobradas; false = solo pendientes. Omite el parámetro para todas.
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 POST 'https://api.afer.pro/consultarFacturas' \
  -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-08-01",
    "fecha_fin": "2026-08-18",
    "cobrada": false
}'
<?php

$data = [
  'fecha_inicio' => '2026-08-01',
  'fecha_fin' => '2026-08-18',
  'cobrada' => false,
];

$ch = curl_init('https://api.afer.pro/consultarFacturas');
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/consultarFacturas', {
  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-08-01",
      "fecha_fin": "2026-08-18",
      "cobrada": false
  })
});

const resultado = await respuesta.json();

Respuesta

200 · application/json
{
    "errorCode": 200,
    "errorMsg": "",
    "data": {
        "total_facturas": 1,
        "pagina": 1,
        "por_pagina": 100,
        "num_paginas": 1,
        "facturas": [
            {
                "facturaId": "aBc123XyZ…",
                "serie": "A",
                "numero": "2026/0412",
                "es_borrador": false,
                "fecha": "2026-08-12",
                "cliente": {
                    "clienteId": "dEf456…",
                    "nombre_fiscal": "FERRER INTERIORS SL"
                },
                "base_imponible": 1250,
                "saldo": 1512.5,
                "cobrada": false,
                "proviene_albaranes": true
            }
        ]
    }
}
Notas
  • Se ordenan por fecha descendente (las más recientes primero).