Files
dashback/docs/api/routes/shipment/_id/shipping.post.md
2026-10-12 19:48:04 +02:00

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.