API - Overzicht

API - Bestellingen

Haal klantbestellingen op, werk statussen en aantallen bij en verwijder bestellingen.

Endpointoverzicht

MethodeEndpointBeschrijvingToegang
GET/public-api/v1/customer-ordersRetourneert een gepagineerde en filterbare lijst met klantbestellingen.orders:read
GET/public-api/v1/customer-orders/:idRetourneert één klantbestelling met geconfigureerde productartikelen.orders:read
POST/public-api/v1/customer-orders/batchRetourneert maximaal 100 bestellingen op ID.orders:read
PATCH/public-api/v1/customer-orders/:id/statusWerkt de bestelstatus bij.orders:write
PATCH/public-api/v1/customer-orders/:orderId/quantityWerkt de aantallen van geselecteerde besteldetails bij.orders:write
PATCH/public-api/v1/customer-orders/:orderId/quantity/allStelt één aantal in voor elk artikel in een bestelling.orders:write
DELETE/public-api/v1/customer-orders/:idVerwijdert een klantbestelling die eigendom is van de winkeleigenaar.orders:write

Klantbestellingen

Met klantbestel-endpoints kan een externe winkel geconfigureerde bestelregels lezen, aantallen aanpassen, de afhandelingsstatus wijzigen en verlaten bestellingen verwijderen.

ParameterVerplichtDetails
nameneeZoekt op ontwerpnaam en numeriek bestel-ID.
category_idneeFiltert op productcategorie-ID.
order_statusneeEen van de toegestane bestelstatussen.
offsetneeStandaard 0. Moet >= 0 zijn.
limitneeStandaard 9 voor deze controller, maximaal 50.
order_byneeid, created_at of design_name.
directionneeASC of DESC.

Voorbeeldverzoek (fetch)

const params = new URLSearchParams({
  limit: '20',
  offset: '0',
  order_status: 'shopping_cart',
  order_by: 'created_at',
  direction: 'DESC'
});

const orders = await alterFetch(`/customer-orders?${params.toString()}`);

const order = await alterFetch('/customer-orders/123');

const batch = await alterFetch('/customer-orders/batch', {
  method: 'POST',
  body: JSON.stringify({
    customerOrderIds: [123, 124, 125]
  })
});

Toegestane waarden

StatusBeschrijving
shopping_cartWinkelwagenfase; de klant kan de configuratie nog bewerken.
editableDe bestelling blijft bewerkbaar voor de klant.
paidDe bestelling is betaald en klaar voor afhandeling.
processingDe bestelling wordt afgehandeld.
completedDe bestelling is afgehandeld.
cancelledDe bestelling is geannuleerd.

Voorbeeldverzoek (fetch)

await alterFetch('/customer-orders/123/status', {
  method: 'PATCH',
  body: JSON.stringify({
    status: 'processing'
  })
});

await alterFetch('/customer-orders/123/quantity', {
  method: 'PATCH',
  body: JSON.stringify({
    items: [
      { orderDetailId: 987, quantity: 3 }
    ]
  })
});

await alterFetch('/customer-orders/123/quantity/all', {
  method: 'PATCH',
  body: JSON.stringify({
    quantity: 2
  })
});

await alterFetch('/customer-orders/123', {
  method: 'DELETE'
});

Voorbeeldantwoord

{
  "order": {
    "id": 123,
    "customizerId": 381,
    "orderStatus": "shopping_cart",
    "createdAt": "2026-05-28T10:15:00.000Z",
    "customizerOrderURL": "https://alterproduct.com/app/customizer/381/123",
    "productItems": [
      {
        "id": 987,
        "model3d": { "id": 381 },
        "size": {
          "id": 395,
          "name": { "pl": "M", "en": "M" },
          "measureSize": null
        },
        "material": {
          "id": 2,
          "name": { "pl": "Bawełna", "en": "Cotton" }
        },
        "printType": {
          "id": 1,
          "name": { "pl": "DTG", "en": "DTG" }
        },
        "color": {
          "id": 418,
          "name": { "pl": "Domyślny", "en": "Default" },
          "hex": "#ffffff"
        },
        "variant": {
          "id": 531,
          "metadata": null,
          "stockQuantity": 25
        },
        "unitPrice": { "value": 12.5, "currency": "EUR" },
        "totalPrice": { "value": 37.5, "currency": "EUR" },
        "quantity": 3
      }
    ],
    "customizerName": "Men's T-Shirt",
    "productGroup": {
      "id": 4,
      "name": { "pl": "Koszulka", "en": "T-Shirt" }
    },
    "totalPrice": { "value": 37.5, "currency": "EUR" }
  }
}