Files
dashback/docs/api/routes/order/create.md
2026-10-21 03:31:55 +02:00

4.5 KiB

POST /order

Protected. Requires a valid session cookie (credentials: 'include').

Create order

Creates a sales order with header and lines in one transaction. date is the document date (expected delivery). entityId must be a company customer (not Lieferanten). Each line requires sku or name, amount, net, and taxrate (rate); pu defaults to 1; rebate defaults to 0; shippable defaults to true (false = not shippable, excluded from order completeness).

Body (JSON)

Field Required Type Description
number yes string
date yes string Document date / expected delivery
entityId yes integer Customer entity (manifest.entity_id)
externalNumber no string External customer reference number (manifest.external_number)
lines yes ManifestLineInput[]
{
  "number": "O-2026-001",
  "date": "2026-09-15",
  "entityId": 1,
  "lines": [
    {
      "sku": "1",
      "name": "Sample Article",
      "pu": 1,
      "amount": 10,
      "net": 99.5,
      "taxrate": 19
    }
  ]
}

Response 201

Created order

{
  "order": {
    "id": 1,
    "number": "…",
    "type": "order",
    "entityId": 1,
    "externalNumber": "…",
    "date": "2026-08-10T00:00:00.000Z",
    "createdAt": "2026-08-10T00:00:00.000Z",
    "lines": [
      {
        "id": 1,
        "sku": "…",
        "name": "…",
        "pu": 1,
        "amount": 1,
        "net": 1,
        "rebate": 1,
        "taxrate": 1,
        "comment": "…",
        "shippable": true
      }
    ],
    "shipping": {
      "id": 1,
      "manifestId": 1,
      "number": "…",
      "trackingCode": "…",
      "carrierId": 1,
      "carrier": "…",
      "type": "…",
      "state": "…"
    },
    "shippings": [
      {
        "id": 1,
        "manifestId": 1,
        "number": "…",
        "trackingCode": "…",
        "carrierId": 1,
        "carrier": "…",
        "type": "…",
        "state": "…"
      }
    ],
    "payment": {
      "id": 1,
      "accountId": 1,
      "manifestId": 1,
      "type": "…",
      "amount": 1
    },
    "payments": [
      {
        "id": 1,
        "accountId": 1,
        "manifestId": 1,
        "type": "…",
        "amount": 1
      }
    ],
    "paid": true,
    "shipped": true,
    "delivered": true,
    "orderTotal": 1,
    "paidTotal": 1,
    "orderedQuantity": 1,
    "shippedQuantity": 1,
    "shipments": [
      {
        "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": "…",
            "shippable": true
          }
        ],
        "shippings": [
          {
            "id": 1,
            "manifestId": 1,
            "number": "…",
            "trackingCode": "…",
            "carrierId": 1,
            "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",
            "skeledash": "…",
            "thumbx": 1,
            "thumby": 1,
            "meta": {}
          }
        ],
        "state": "new"
      }
    ],
    "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",
        "skeledash": "…",
        "thumbx": 1,
        "thumby": 1,
        "meta": {}
      }
    ]
  }
}

Errors

Status Description
400 Invalid order, invalid lines, or no company selected — {"error":"…"}
401 Unauthorized — {"error":"…"}
403 Not authorized — {"error":"…"}
404 Company, entity, or article not found — {"error":"…"}

Generated from @openapi JSDoc. Do not edit by hand — run npm run docs:api.