Documentation API

API de stock WMS

Dernière mise à jour 2026-10-13

Consulter les soldes, ajuster le stock et déplacer entre emplacements.

Consulter le stock#

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
  • Lit la projection wms_inventory_balance (article × emplacement × statut × lot).
  • Permission : tout point de vue opérationnel.

Ajuster le stock#

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 ou qty_delta — passez-en exactement un.
  • Le point wms.inventory_adjust est spécial : il doit être accordé explicitement.

Déplacer le stock#

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": "补货上架"
}
L’ajustement n’écrit que le ledger (transaction_type=adjust), jamais le solde directement. Un déplacement depuis un emplacement verrouillé par un comptage échoue avec LOCATION_LOCKED.