feat(ADM-018): completed feature
This commit is contained in:
23
work/artifacts/F-020/documenter.md
Normal file
23
work/artifacts/F-020/documenter.md
Normal file
@@ -0,0 +1,23 @@
|
||||
# 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 422
|
||||
- `INVALID_SHIPPING_ADDRESS` — HTTP 400
|
||||
|
||||
## Evidence
|
||||
- `work/artifacts/F-020/architect.md`
|
||||
- `work/artifacts/F-020/implementer.md`
|
||||
- `work/artifacts/F-020/reviewer.json`
|
||||
- `work/artifacts/F-020/security.json`
|
||||
- `work/artifacts/F-020/qa.json`
|
||||
Reference in New Issue
Block a user