Documentación de API

API de inventario WMS

Última actualización 2026-10-13

Consultar saldos, ajustar inventario y mover stock entre ubicaciones.

Consultar inventario#

GET /api/wms/inventory
GET /api/wms/inventory?warehouse_id=<uuid>&item_id=<uuid>&status=available&page=1&page_size=20
// filters: warehouse_id | location_id | location (code) | item_id | sku | merchant_id | status
// status: available | allocated | hold | damaged | in_transit
  • Lee la proyección wms_inventory_balance (artículo × ubicación × estado × lote).
  • Permiso: cualquier punto de vista operativo.

Ajustar inventario#

POST /api/wms/inventory/adjust
POST /api/wms/inventory/adjust
{
  "warehouse_id": "<uuid>",   // required
  "location_id": "<uuid>",    // required
  "item_id": "<uuid>",        // required
  "qty_delta": -5,            // or qty_after — exactly one is required
  "reason_code": "damage",    // required, e.g. damage | lost | found
  "lot_no": "LOT-001",
  "merchant_id": "<uuid>",    // required in 3PL edition
  "status": "available"       // default available
}
  • qty_after o qty_delta — pase exactamente uno.
  • El punto wms.inventory_adjust es especial: debe concederse explícitamente.

Mover inventario#

POST /api/wms/inventory/move
POST /api/wms/inventory/move
{
  "warehouse_id": "<uuid>",     // required
  "to_location_id": "<uuid>",   // required
  "pallet_lpn": "LPN-20261013-ABC123",   // pallet move…
  // …or loose stock move:
  // "from_location_id": "<uuid>", "item_id": "<uuid>", "qty": 10, "lot_no": "LOT-001",
  "notes": "补货上架"
}
El ajuste solo escribe el ledger (transaction_type=adjust), nunca el balance directamente. Mover desde una ubicación bloqueada por conteo falla con LOCATION_LOCKED.