API - Επισκόπηση

API - Παραγγελίες

Ανακτήστε παραγγελίες πελατών, ενημερώστε καταστάσεις και ποσότητες και διαγράψτε παραγγελίες.

Επισκόπηση endpoints

ΜέθοδοςEndpointΠεριγραφήΠρόσβαση
GET/public-api/v1/customer-ordersΕπιστρέφει λίστα παραγγελιών πελατών με σελιδοποίηση και φίλτρα.orders:read
GET/public-api/v1/customer-orders/:idΕπιστρέφει μία παραγγελία πελάτη με διαμορφωμένα στοιχεία προϊόντων.orders:read
POST/public-api/v1/customer-orders/batchΕπιστρέφει έως 100 παραγγελίες βάσει ID.orders:read
PATCH/public-api/v1/customer-orders/:id/statusΕνημερώνει την κατάσταση παραγγελίας.orders:write
PATCH/public-api/v1/customer-orders/:orderId/quantityΕνημερώνει τις ποσότητες επιλεγμένων στοιχείων παραγγελίας.orders:write
PATCH/public-api/v1/customer-orders/:orderId/quantity/allΟρίζει μία ποσότητα για κάθε στοιχείο της παραγγελίας.orders:write
DELETE/public-api/v1/customer-orders/:idΔιαγράφει παραγγελία πελάτη που ανήκει στον ιδιοκτήτη του καταστήματος.orders:write

Παραγγελίες πελατών

Τα endpoints παραγγελιών επιτρέπουν σε εξωτερικό κατάστημα να διαβάζει διαμορφωμένα στοιχεία, να ενημερώνει ποσότητες, να μετακινεί παραγγελίες σε καταστάσεις εκτέλεσης και να αφαιρεί εγκαταλελειμμένες παραγγελίες.

ΠαράμετροςΥποχρεωτικόΛεπτομέρειες
nameόχιΑναζητά όνομα σχεδίου και αριθμητικό ID παραγγελίας.
category_idόχιΦιλτράρει βάσει ID κατηγορίας προϊόντος.
order_statusόχιΜία από τις επιτρεπόμενες καταστάσεις παραγγελίας.
offsetόχιΠροεπιλογή 0. Πρέπει να είναι >= 0.
limitόχιΠροεπιλογή 9 για αυτόν τον ελεγκτή, μέγιστο 50.
order_byόχιid, created_at ή design_name.
directionόχιASC ή DESC.

Παράδειγμα αιτήματος (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]
  })
});

Επιτρεπόμενες τιμές

ΚατάστασηΠεριγραφή
shopping_cartΡοή καλαθιού· ο πελάτης μπορεί ακόμη να επεξεργαστεί τη διαμόρφωση.
editableΗ παραγγελία παραμένει επεξεργάσιμη από τον πελάτη.
paidΗ παραγγελία έχει πληρωθεί και είναι έτοιμη για εκτέλεση.
processingΗ παραγγελία βρίσκεται σε εκτέλεση.
completedΗ παραγγελία έχει εκτελεστεί.
cancelledΗ παραγγελία ακυρώθηκε.

Παράδειγμα αιτήματος (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'
});

Παράδειγμα απάντησης

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