946 B
946 B
Documenter — F-020 Shipping module
Summary
Shipping module exposes server-side shipping quotation behind ShippingService.calculate(cartTotalCents, address). Selection uses country plus most specific postal code prefix and the cheapest active method wins.
Public API notes
| Route | Access | Result |
|---|---|---|
| POST /shipping/zones | admin | Creates a zone with country and optional postal-code prefix |
| POST /shipping/methods | admin | Creates a method under a zone with optional free-shipping threshold |
| POST /shipping/calculate | public | Returns cheapest active method cost with free shipping applied when threshold met |
Errors
SHIPPING_ZONE_NOT_FOUND— HTTP 422INVALID_SHIPPING_ADDRESS— HTTP 400
Evidence
work/artifacts/F-020/architect.mdwork/artifacts/F-020/implementer.mdwork/artifacts/F-020/reviewer.jsonwork/artifacts/F-020/security.jsonwork/artifacts/F-020/qa.json