1.5 KiB
1.5 KiB
POST /shipment/{id}/shipping
Protected. Requires a valid session cookie (credentials: 'include').
Create package for a shipment
Creates a physical package (shipping) for the shipment manifest.
Accepts carrier and parcel tracking code. If state is shipped,
deducts stock for the shipment's lines via ledger movements.
Path parameters
| Param | Required | Type | Description |
|---|---|---|---|
id |
yes | integer | Shipment ID |
Body (JSON)
| Field | Required | Type | Description |
|---|---|---|---|
type |
yes | string | |
state |
yes | string | |
trackingCode |
no | string | Carrier parcel tracking code |
carrier |
no | string | Carrier name (e.g. DHL, UPS, DPD) |
warehouseId |
no | integer | Optional warehouse ID for stock deduction when state is shipped |
{
"type": "…",
"state": "…",
"trackingCode": "…",
"carrier": "…",
"warehouseId": 1
}
Response 201
Created package
{
"shipping": {
"id": 1,
"manifestId": 1,
"number": "…",
"trackingCode": "…",
"carrier": "…",
"type": "…",
"state": "…"
}
}
Errors
| Status | Description |
|---|---|
| 400 | Validation error, manifest is not a shipment, or no company selected — {"error":"…"} |
| 401 | Unauthorized — {"error":"…"} |
| 404 | Shipment or warehouse not found — {"error":"…"} |
Generated from @openapi JSDoc. Do not edit by hand — run npm run docs:api.