Crear pedido
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.
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.
clienteobjectobligatorio | Cliente de facturación. Mismos campos que en crearFactura; deduplicación por CIF. |
seriestringopcional | Serie de referencia de la operación. Los pedidos usan numeración propia. |
pedidoobjectobligatorio | Cabecera de la operación. |
obrastringobligatorio | Concepto o referencia de la operación. |
detalles_operacionstringopcional | Observaciones. Admite HTML. |
promo_codestringopcional | Código promocional aplicado. |
importe_pagadonumberopcional | Importe cobrado por adelantado. Requiere auth_code_pago para registrarse. |
forma_pagointopcional | Método de pago del anticipo. 8 = Stripe (registra comisión y contrapartidas de pasarela automáticamente). |
auth_code_pagostringopcional | Referencia externa del cobro (p. ej. el payment_intent de Stripe). |
detallesarrayobligatorio | 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.
{
"errorCode": 200,
"errorMsg": "",
"data": "aBc123XyZ456…"
}
- 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.