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

Crear pedido

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

Crea un pedido de venta con sus líneas. Si la operación ya está cobrada, el pago se registra como anticipo del cliente.

Pensado para ventas web que entran como pedido y se confirman después (preparación, entrega, facturación posterior desde Afer). El pedido se crea con numeración automática y fecha de hoy, y el cliente se da de alta o se actualiza por CIF como en crearFactura.

Si el cliente está marcado como exento de IVA en Afer, las líneas se guardan con IVA 0 automáticamente.

Si envías auth_code_pago e importe_pagado, el cobro se registra como anticipo del cliente (no como vencimiento de factura, porque todavía no hay factura). Con método de pago Stripe se calculan además las comisiones de pasarela.

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. Mismos campos que en crearFactura; deduplicación por CIF.
seriestring
opcional
Serie de referencia de la operación. Los pedidos usan numeración propia.
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.
importe_pagadonumber
opcional
Importe cobrado por adelantado. Requiere auth_code_pago para registrarse.
forma_pagoint
opcional
Método de pago del anticipo. 8 = Stripe (registra comisión y contrapartidas de pasarela automáticamente).
auth_code_pagostring
opcional
Referencia externa del cobro (p. ej. el payment_intent de Stripe).
detallesarray
obligatorio
Líneas del pedido. Misma estructura que las líneas de crearFactura.

Ejemplo de petición

curl -X POST 'https://api.afer.pro/crearPedido' \
  -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",
        "poblacion": "Jerez de la Frontera",
        "pais": "España",
        "email": "inma@ejemplo.com"
    },
    "serie": "A",
    "pedido": {
        "obra": "Pedido web 1786212236453",
        "forma_pago": 8,
        "auth_code_pago": "pi_3U2EgPDWXi39vPE03",
        "importe_pagado": 30
    },
    "detalles": [
        {
            "cantidad": 1,
            "articulo_fk": 1947,
            "variacion_articulo_fk": 0,
            "descripcion": "Aceite intenso para masaje Menta y Romero 100 ml",
            "importe_unitario": 13.2231405,
            "iva": 21
        },
        {
            "cantidad": 1,
            "articulo_fk": 0,
            "variacion_articulo_fk": 0,
            "descripcion": "Portes",
            "importe_unitario": 4.9586777,
            "iva": 21
        }
    ]
}'
<?php

$data = [
  'cliente' => [
    'nombre_fiscal' => 'Inmaculada Calderón Puyol',
    'cif' => '31696215N',
    'poblacion' => 'Jerez de la Frontera',
    'pais' => 'España',
    'email' => 'inma@ejemplo.com',
  ],
  'serie' => 'A',
  'pedido' => [
    'obra' => 'Pedido web 1786212236453',
    'forma_pago' => 8,
    'auth_code_pago' => 'pi_3U2EgPDWXi39vPE03',
    'importe_pagado' => 30,
  ],
  'detalles' => [
    0 => [
      'cantidad' => 1,
      'articulo_fk' => 1947,
      'variacion_articulo_fk' => 0,
      'descripcion' => 'Aceite intenso para masaje Menta y Romero 100 ml',
      'importe_unitario' => 13.2231405,
      'iva' => 21,
    ],
    1 => [
      'cantidad' => 1,
      'articulo_fk' => 0,
      'variacion_articulo_fk' => 0,
      'descripcion' => 'Portes',
      'importe_unitario' => 4.9586777,
      'iva' => 21,
    ],
  ],
];

$ch = curl_init('https://api.afer.pro/crearPedido');
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/crearPedido', {
  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",
          "poblacion": "Jerez de la Frontera",
          "pais": "España",
          "email": "inma@ejemplo.com"
      },
      "serie": "A",
      "pedido": {
          "obra": "Pedido web 1786212236453",
          "forma_pago": 8,
          "auth_code_pago": "pi_3U2EgPDWXi39vPE03",
          "importe_pagado": 30
      },
      "detalles": [
          {
              "cantidad": 1,
              "articulo_fk": 1947,
              "variacion_articulo_fk": 0,
              "descripcion": "Aceite intenso para masaje Menta y Romero 100 ml",
              "importe_unitario": 13.2231405,
              "iva": 21
          },
          {
              "cantidad": 1,
              "articulo_fk": 0,
              "variacion_articulo_fk": 0,
              "descripcion": "Portes",
              "importe_unitario": 4.9586777,
              "iva": 21
          }
      ]
  })
});

const resultado = await respuesta.json();

Respuesta

Devuelve el identificador cifrado del pedido creado.

200 · application/json
{
    "errorCode": 200,
    "errorMsg": "",
    "data": "aBc123XyZ456…"
}
Notas
  • El pedido no mueve stock: el inventario se descuenta al generar el albarán o la factura.
  • El anticipo queda vinculado al cliente y se aplica al facturar la operación.