API - Översikt

API - Beställningar

Hämta kundbeställningar, uppdatera status och antal och ta bort beställningar.

Ändpunktsöversikt

MetodÄndpunktBeskrivningÅtkomst
GET/public-api/v1/customer-ordersReturnerar en sidindelad och filtrerbar lista över kundbeställningar.orders:read
GET/public-api/v1/customer-orders/:idReturnerar en kundbeställning med konfigurerade produktartiklar.orders:read
POST/public-api/v1/customer-orders/batchReturnerar upp till 100 beställningar efter ID.orders:read
PATCH/public-api/v1/customer-orders/:id/statusUppdaterar orderstatus.orders:write
PATCH/public-api/v1/customer-orders/:orderId/quantityUppdaterar antal för valda orderdetaljer.orders:write
PATCH/public-api/v1/customer-orders/:orderId/quantity/allAnger samma antal för varje artikel i en beställning.orders:write
DELETE/public-api/v1/customer-orders/:idTar bort en kundbeställning som tillhör butiksägaren.orders:write

Kundbeställningar

Kundorderändpunkterna låter en extern butik läsa konfigurerade orderrader, uppdatera antal, flytta beställningar mellan behandlingsstatusar och ta bort övergivna beställningar.

ParameterObligatorisktDetaljer
namenejSöker efter designnamn och numeriskt order-ID.
category_idnejFiltrerar efter produktkategori-ID.
order_statusnejEn av de tillåtna orderstatusarna.
offsetnejStandard 0. Måste vara >= 0.
limitnejStandard 9 för denna controller, högst 50.
order_bynejid, created_at eller design_name.
directionnejASC eller DESC.

Exempel på begäran (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]
  })
});

Tillåtna värden

StatusBeskrivning
shopping_cartKundvagnsflöde; kunden kan fortfarande redigera konfigurationen.
editableBeställningen kan fortfarande redigeras av kunden.
paidBeställningen är betald och klar för behandling.
processingBeställningen behandlas.
completedBeställningen har slutförts.
cancelledBeställningen har avbrutits.

Exempel på begäran (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'
});

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