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