API - Overblik

API - Ordrer

Hent kundeordrer, opdater status og antal, og slet ordrer.

Endpointoversigt

MetodeEndpointBeskrivelseAdgang
GET/public-api/v1/customer-ordersReturnerer en sideinddelt og filtrerbar liste over kundeordrer.orders:read
GET/public-api/v1/customer-orders/:idReturnerer en kundeordre med konfigurerede produktlinjer.orders:read
POST/public-api/v1/customer-orders/batchReturnerer op til 100 ordrer efter ID.orders:read
PATCH/public-api/v1/customer-orders/:id/statusOpdaterer ordrestatus.orders:write
PATCH/public-api/v1/customer-orders/:orderId/quantityOpdaterer antal for valgte ordredetaljer.orders:write
PATCH/public-api/v1/customer-orders/:orderId/quantity/allAngiver samme antal for hver vare i en ordre.orders:write
DELETE/public-api/v1/customer-orders/:idSletter en kundeordre, der tilhører butiksejeren.orders:write

Kundeordrer

Kundeordreendpoints lader en ekstern butik læse konfigurerede ordrelinjer, opdatere antal, føre en ordre gennem behandlingsstatusser og fjerne opgivne ordrer.

ParameterPåkrævetDetaljer
namenejSøger efter designnavn og numerisk ordre-ID.
category_idnejFiltrerer efter produktkategori-ID.
order_statusnejEn af de tilladte ordrestatusser.
offsetnejStandard 0. Skal være >= 0.
limitnejStandard 9 for denne controller, højst 50.
order_bynejid, created_at eller design_name.
directionnejASC eller DESC.

Eksempel på anmodning (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]
  })
});

Tilladte værdier

StatusBeskrivelse
shopping_cartKurveforløb; kunden kan stadig redigere konfigurationen.
editableOrdren kan fortsat redigeres af kunden.
paidOrdren er betalt og klar til behandling.
processingOrdren er under behandling.
completedOrdren er færdigbehandlet.
cancelledOrdren er annulleret.

Eksempel på anmodning (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'
});

Eksempel på svar

{
  "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" }
  }
}