2.6 KiB
2.6 KiB
POST /order/{id}/shipment
Protected. Requires a valid session cookie (credentials: 'include').
Create shipment for an order
Creates a new partial or full shipment manifest for the order. Validates that article positions belong to the order and cumulative shipped quantities do not exceed ordered quantities.
Path parameters
| Param | Required | Type | Description |
|---|---|---|---|
id |
yes | integer | Order ID |
Body (JSON)
| Field | Required | Type | Description |
|---|---|---|---|
date |
no | string | |
externalNumber |
no | string | |
lines |
yes | object[] | |
lines[].sku |
yes | string | |
lines[].amount |
yes | number | |
lines[].name |
no | string | |
lines[].pu |
no | number | |
lines[].net |
no | number | |
lines[].rebate |
no | number | |
lines[].taxrate |
no | number | |
lines[].comment |
no | string |
{
"date": "2026-08-10",
"externalNumber": "…",
"lines": [
{
"sku": "…",
"amount": 1,
"name": "…",
"pu": 1,
"net": 1,
"rebate": 1,
"taxrate": 1,
"comment": "…"
}
]
}
Response 201
Created shipment
{
"shipment": {
"id": 1,
"number": "…",
"type": "shipment",
"entityId": 1,
"externalNumber": "…",
"date": "…",
"createdAt": "…",
"lineCount": 1,
"packageCount": 1,
"lines": [
{
"id": 1,
"sku": "…",
"name": "…",
"pu": 1,
"amount": 1,
"net": 1,
"rebate": 1,
"taxrate": 1,
"comment": "…"
}
],
"shippings": [
{
"id": 1,
"manifestId": 1,
"number": "…",
"trackingCode": "…",
"carrier": "…",
"type": "…",
"state": "…"
}
],
"files": [
{
"id": 1,
"manifestId": 1,
"fileId": 1,
"sort": 1,
"hash": "…",
"mimetype": "…",
"name": "…",
"size": 1,
"created": "2026-08-10T00:00:00.000Z",
"modified": "2026-08-10T00:00:00.000Z",
"thumbavif": "…",
"thumbx": 1,
"thumby": 1,
"meta": {}
}
]
}
}
Errors
| Status | Description |
|---|---|
| 400 | Validation error or article not in order — {"error":"…"} |
| 401 | Unauthorized — {"error":"…"} |
| 404 | Order not found — {"error":"…"} |
| 409 | Cumulative shipment amount exceeds ordered amount — {"error":"…"} |
Generated from @openapi JSDoc. Do not edit by hand — run npm run docs:api.