Base URL https://api.afer.pro aferapp.com
Facturación y ventas

Crear albarán

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

Crea un albarán de venta con sus líneas y sus movimientos de inventario, sin emitir factura.

Útil cuando la venta se entrega antes de facturar o cuando agrupas varias operaciones en una factura posterior. El albarán se crea revisado, con numeración automática y fecha de hoy.

El cliente se resuelve igual que en crearFactura: puedes enviar cliente.id si ya conoces el cliente de facturación, o el objeto cliente completo para buscarlo por CIF o darlo de alta.

Las líneas con artículo en modo venta generan su movimiento de inventario y consolidan stock, igual que la factura.

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 →

Parámetros del cuerpo

El cuerpo de la petición es un objeto JSON con Content-Type: application/json.

clienteobject
obligatorio
Cliente de facturación. Envía {"id": 123} para usar un cliente existente, o el objeto completo (mismos campos que en crearFactura) para alta/actualización por CIF.
idint
opcional
ID de un cliente de facturación existente. Si se envía, se usa directamente.
nombre_fiscal, cif, direccion…string
opcional
Datos de alta si no envías id. Mismos campos que el objeto cliente de crearFactura.
pedidoobject
obligatorio
Cabecera de la operación.
obrastring
obligatorio
Concepto o referencia de la operación.
detalles_operacionstring
opcional
Observaciones. Admite HTML.
promo_codestring
opcional
Código promocional aplicado.
detallesarray
obligatorio
Líneas del albarán. Misma estructura que las líneas de crearFactura: cantidad, descripcion, importe_unitario, iva, descuento, articulo_fk, variacion_articulo_fk, descripcion_ampliada, startDate, endDate.

Ejemplo de petición

curl -X POST 'https://api.afer.pro/crearAlbaran' \
  -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": "Inmaculada Calderón Puyol",
        "cif": "31696215N",
        "direccion": "Rioja, 1",
        "cp": "11407",
        "poblacion": "Jerez de la Frontera",
        "provincia": "Cádiz",
        "pais": "España",
        "email": "inma@ejemplo.com"
    },
    "pedido": {
        "obra": "Entrega pedido web 1786212236453"
    },
    "detalles": [
        {
            "cantidad": 2,
            "articulo_fk": 405171,
            "variacion_articulo_fk": 0,
            "descripcion": "Shower gel Fig fields of the island",
            "importe_unitario": 6.6115702,
            "iva": 21
        }
    ]
}'
<?php

$data = [
  'cliente' => [
    'nombre_fiscal' => 'Inmaculada Calderón Puyol',
    'cif' => '31696215N',
    'direccion' => 'Rioja, 1',
    'cp' => '11407',
    'poblacion' => 'Jerez de la Frontera',
    'provincia' => 'Cádiz',
    'pais' => 'España',
    'email' => 'inma@ejemplo.com',
  ],
  'pedido' => [
    'obra' => 'Entrega pedido web 1786212236453',
  ],
  'detalles' => [
    0 => [
      'cantidad' => 2,
      'articulo_fk' => 405171,
      'variacion_articulo_fk' => 0,
      'descripcion' => 'Shower gel Fig fields of the island',
      'importe_unitario' => 6.6115702,
      'iva' => 21,
    ],
  ],
];

$ch = curl_init('https://api.afer.pro/crearAlbaran');
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/crearAlbaran', {
  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": "Inmaculada Calderón Puyol",
          "cif": "31696215N",
          "direccion": "Rioja, 1",
          "cp": "11407",
          "poblacion": "Jerez de la Frontera",
          "provincia": "Cádiz",
          "pais": "España",
          "email": "inma@ejemplo.com"
      },
      "pedido": {
          "obra": "Entrega pedido web 1786212236453"
      },
      "detalles": [
          {
              "cantidad": 2,
              "articulo_fk": 405171,
              "variacion_articulo_fk": 0,
              "descripcion": "Shower gel Fig fields of the island",
              "importe_unitario": 6.6115702,
              "iva": 21
          }
      ]
  })
});

const resultado = await respuesta.json();

Respuesta

Devuelve el identificador cifrado del albarán creado.

200 · application/json
{
    "errorCode": 200,
    "errorMsg": "",
    "data": "aBc123XyZ456…"
}
Notas
  • El albarán no genera cobros ni vencimientos: estos se crean al facturarlo desde Afer.
  • Las líneas con startDate/endDate computan como reservas en consultarDisponibilidadArticulos.