Orders

Beheer orders en orderregels. Orders worden gebruikt voor het uitslag-proces: na het aanmaken van orders worden ze via waves gealloceerd en gepickt.

Endpoints

MethodePadBeschrijving
GET/ordersAlle orders ophalen
POST/ordersOrder aanmaken (incl. regels)
GET/orders/:idSpecifieke order ophalen (incl. regels)
PUT/orders/:idOrder bijwerken
DELETE/orders/:idOrder verwijderen
GET/orders/:id/linesOrderregels ophalen
POST/orders/:id/linesOrderregels toevoegen
GET/orders/:id/lines/:line_idSpecifieke orderregel ophalen
PUT/orders/:id/lines/:line_idOrderregel bijwerken
DELETE/orders/:id/lines/:line_idOrderregel verwijderen

Alle orders ophalen

GET /orders

Query parameters

ParameterTypeBeschrijving
linesstringfalse om orderregels weg te laten (standaard: inclusief regels)

Response 200 OK

[
  {
    "order_id": "ORD-001",
    "client_id": "CLIENT01",
    "order_date": "2026-03-14",
    "order_status": {
      "id": 1,
      "description": "Released"
    },
    "order_status_description": "Released",
    "customer": {
      "id": 5,
      "name": "Bedrijf BV - Amsterdam"
    },
    "ship_by_date": "2026-03-16",
    "carrier": "PostNL",
    "ship_dock": "DOCK-01",
    "creation_datetime": "2026-03-14 10:30:00",
    "created_by": "admin",
    "lines": [
      {
        "order_id": "ORD-001",
        "line": 1,
        "sku_id": "SKU-001",
        "qty": 10,
        "qty_picked": 0,
        "qty_shipped": 0
      }
    ]
  }
]

Order aanmaken

POST /orders

Request

Order met regels in één request:

{
  "order_id": "ORD-001",
  "customer_id": 5,
  "order_date": "2026-03-14",
  "ship_by_date": "2026-03-16",
  "carrier_id": 1,
  "ship_dock": "DOCK-01",
  "lines": [
    {
      "sku_id": "SKU-001",
      "qty": 10
    },
    {
      "sku_id": "SKU-002",
      "qty": 5
    }
  ]
}
VeldTypeVerplichtBeschrijving
order_idstringUniek order ID
customer_idnumberNeeID van de klant (uit /customers)
order_datestringNeeOrderdatum (YYYY-MM-DD)
ship_by_datestringNeeTe verzenden datum (YYYY-MM-DD)
carrier_idnumberNeeID van de vervoerder (uit /carriers)
ship_dockstringNeeDock locatie
linesarrayNeeOrderregels (optioneel, kan later via POST)

Orderregel velden

VeldTypeVerplichtBeschrijving
sku_idstringArtikel-ID
qtynumberGewenst aantal
linenumberNeeRegelnummer (wordt automatisch gegenereerd als weggelaten)

Response 204 No Content

Succesvol aangemaakt.

Response 409 Conflict

{
  "message": "Order with OrderID ORD-001 already exists"
}

Specifieke order ophalen

GET /orders/:id

Response 200 OK

Retourneert de order inclusief regels (zelfde formaat als bij lijst).

Response 404 Not Found

{
  "message": "Order with OrderID ORD-001 not found"
}

Order bijwerken

PUT /orders/:id

Request

{
  "customer_id": 5,
  "order_date": "2026-03-14",
  "ship_by_date": "2026-03-17",
  "carrier_id": 2,
  "ship_dock": "DOCK-02"
}

Response 204 No Content

Order verwijderen

DELETE /orders/:id

Verwijdert de order inclusief alle orderregels.

Response 204 No Content

Orderregels toevoegen

POST /orders/:id/lines

Request

Enkele regel:

{
  "sku_id": "SKU-003",
  "qty": 20
}

Of meerdere regels als array:

[
  { "sku_id": "SKU-003", "qty": 20 },
  { "sku_id": "SKU-004", "qty": 15 }
]

Regelnummers

Regelnummers worden automatisch gegenereerd als ze niet meegegeven worden.

Response 204 No Content

Orderregel bijwerken

PUT /orders/:id/lines/:line_id

Request

{
  "sku_id": "SKU-003",
  "qty": 25
}

Response 204 No Content

Orderregel verwijderen

DELETE /orders/:id/lines/:line_id

Response 204 No Content