Engineering
Cartonization API for WMS: integration checklist

Wiring pack into a WMS should be boring: stable contracts, clear failure modes, and results packers can trust. Talk to engineering.
1. Decide where pack runs
Common hooks: wave release, pack-station open, or upstream quoting.
2. Keep master data optional
- Stored itemId — quantity required
- Inline item — length, width, height, weight, quantity required; do not auto-persist
Invalid IDs must fail clearly (WiCartonize: ITEM_REFERENCE_NOT_FOUND).
3. Resolve boxes explicitly
Pass boxes inline, select a packing profile, or fall back to the active library.
4. Use unambiguous dimensions
Prefer public fields named length, width, and height. Normalize to mm and g at the boundary.
5. Handle leftovers and multi-box plans
Do not assume one carton. Persist the decision ID for history and support.
6. Show explainability at the station
A box name alone trains packers to ignore the system.
Minimal acceptance tests
- Single SKU fits expected mailer
- Orientation-locked item never rotates illegally
- Weight cap forces a second carton
- Unknown itemId returns a reference error
- Identical requests produce deterministic placements