API - Огляд

API - Замовлення

Отримуйте замовлення покупців, оновлюйте статуси й кількість товарів та видаляйте замовлення.

Огляд кінцевих точок

МетодКінцева точкаОписДоступ
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

Замовлення покупців

Кінцеві точки замовлень дозволяють зовнішньому магазину читати налаштовані позиції, змінювати кількість, переводити замовлення між станами виконання та видаляти покинуті замовлення.

ПараметрОбов’язковоПодробиці
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" }
  }
}