Restar unidades del inventario
Descuenta unidades del inventario de una bodega. Pensado para salidas que no pasan por un pedido de AveCRM.
Request 🚀
url
https://app.aveonline.co/avestock/api/inventoryRemoveUnits.php
Method
POST
Header
Content-Type: application/json
Authorization: {data.token}
El data.token se obtiene en la Autenticación.
Params JSON
- tipo*
StringEnrutador de la API, "authave" - empresa*
NumberIdentificador de la empresa dentro de AVEONLINE - idempotency_key*
StringLlave única de la operación. Máximo 120 caracteres - items*
ArrayReferencias y cantidades a descontar - items[].reference*
StringReferencia del producto - items[].quantity*
NumberUnidades a restar, en POSITIVO. La resta la implica el servicio - warehouse_id
NumberBodega. Si se omite, se usa la bodega principal activa de la empresa - reason
StringMotivo del movimiento. Queda guardado en el detalle de la salida
Ejemplo
{
"tipo": "authave",
"empresa": 6077,
"idempotency_key": "salida-2026-11-05-001",
"warehouse_id": 1203,
"reason": "Avería en bodega",
"items": [
{ "reference": "REF-0001", "quantity": 3 }
]
}
La cantidad va en positivo
"quantity": 3 descuenta 3 unidades. No se envían números negativos.
Response 📄
Success
Igual que en Sumar inventario, con movement en "salida".
Ejemplo
{
"success": true,
"messages": "Inventario actualizado",
"status": 200,
"data": {
"idempotency_key": "salida-2026-11-05-001",
"replayed": false,
"warehouse_id": 1203,
"shopify_sync": true,
"items": [
{
"reference": "REF-0001",
"product_id": 225321,
"before": 170,
"after": 167,
"units": 3,
"movement": "salida",
"shopify": { "ok": true, "action": "updated", "reason": "" }
}
]
}
}
El saldo quedaría en negativo
El lote no se aplica. Solo se permite quedar bajo cero en productos configurados con inventario negativo.
{
"success": false,
"messages": "El lote no se aplico: revise los errores.",
"status": 409,
"errors": [
{
"attribute": "items.0.quantity",
"detail": "REF-0001 quedaria en -5: hay 3 y no tiene inventario negativo permitido."
}
]
}
Falta la llave de idempotencia
{
"success": false,
"messages": "Errores de validacion",
"status": 422,
"errors": [
{
"attribute": "idempotency_key",
"detail": "Es obligatoria: sin ella un reintento duplicaria las unidades."
}
]
}
Notas Importantes 📝
- El lote es todo o nada. Si una sola referencia quedaría en negativo, no se aplica ninguna.
- Se registran los movimientos tanto del saldo disponible como del saldo físico.
- Para devolver mercancía de una guía, use Confirmar devolución: ese servicio además valida contra la guía y evita que la misma devolución entre dos veces.