H-2626: admin shop API v2 в swagger #43
+44
-4
@@ -8535,6 +8535,7 @@ paths:
|
|||||||
description: |
|
description: |
|
||||||
`shop_product_id` обязателен — его требует `ShopProductOptionSearch`.
|
`shop_product_id` обязателен — его требует `ShopProductOptionSearch`.
|
||||||
Дефолтная сортировка `sort_index ASC` через `defaultOrder` search-модели.
|
Дефолтная сортировка `sort_index ASC` через `defaultOrder` search-модели.
|
||||||
|
По умолчанию отдаются только активные (status_id=ACTIVE); чтобы увидеть удалённые — явно передать `status_id`.
|
||||||
operationId: adminShopProductOptionIndex
|
operationId: adminShopProductOptionIndex
|
||||||
parameters:
|
parameters:
|
||||||
- name: shop_product_id
|
- name: shop_product_id
|
||||||
@@ -8544,8 +8545,9 @@ paths:
|
|||||||
- name: status_id
|
- name: status_id
|
||||||
in: query
|
in: query
|
||||||
schema: { type: integer }
|
schema: { type: integer }
|
||||||
- name: title
|
- name: name
|
||||||
in: query
|
in: query
|
||||||
|
description: LIKE-фильтр по названию варианта.
|
||||||
schema: { type: string }
|
schema: { type: string }
|
||||||
- name: sort
|
- name: sort
|
||||||
in: query
|
in: query
|
||||||
@@ -8608,6 +8610,8 @@ paths:
|
|||||||
post:
|
post:
|
||||||
tags: [admin-shop-product-option]
|
tags: [admin-shop-product-option]
|
||||||
summary: Обновить одну опцию
|
summary: Обновить одну опцию
|
||||||
|
description: |
|
||||||
|
Поле `shop_product_id` игнорируется — привязку к товару менять нельзя.
|
||||||
operationId: adminShopProductOptionUpdate
|
operationId: adminShopProductOptionUpdate
|
||||||
parameters:
|
parameters:
|
||||||
- name: id
|
- name: id
|
||||||
@@ -8677,7 +8681,23 @@ paths:
|
|||||||
description: Диапазон `<начало>|<конец>` в формате `yyyy-MM-dd`.
|
description: Диапазон `<начало>|<конец>` в формате `yyyy-MM-dd`.
|
||||||
- name: sort
|
- name: sort
|
||||||
in: query
|
in: query
|
||||||
schema: { type: string }
|
description: |
|
||||||
|
Поддерживаемые поля: `created_at`, `num`, `order_status_id`,
|
||||||
|
`sum_cart_for_sorting`, `count_cart_for_sorting`.
|
||||||
|
Префикс `-` — сортировка по убыванию. Дефолт — `-created_at`.
|
||||||
|
schema:
|
||||||
|
type: string
|
||||||
|
enum:
|
||||||
|
- created_at
|
||||||
|
- "-created_at"
|
||||||
|
- num
|
||||||
|
- "-num"
|
||||||
|
- order_status_id
|
||||||
|
- "-order_status_id"
|
||||||
|
- sum_cart_for_sorting
|
||||||
|
- "-sum_cart_for_sorting"
|
||||||
|
- count_cart_for_sorting
|
||||||
|
- "-count_cart_for_sorting"
|
||||||
responses:
|
responses:
|
||||||
200:
|
200:
|
||||||
description: Список заказов
|
description: Список заказов
|
||||||
@@ -8763,6 +8783,8 @@ paths:
|
|||||||
post:
|
post:
|
||||||
tags: [admin-shop-order]
|
tags: [admin-shop-order]
|
||||||
summary: Удалить позицию заказа
|
summary: Удалить позицию заказа
|
||||||
|
description: |
|
||||||
|
Операция допустима только на заказе в статусе NEW; для обработанного/отменённого — 422.
|
||||||
operationId: adminShopOrderPositionRemove
|
operationId: adminShopOrderPositionRemove
|
||||||
requestBody:
|
requestBody:
|
||||||
required: true
|
required: true
|
||||||
@@ -8781,11 +8803,15 @@ paths:
|
|||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: '#/components/schemas/HttpJsonResult'
|
$ref: '#/components/schemas/HttpJsonResult'
|
||||||
|
404: { description: Позиция не найдена. }
|
||||||
|
422: { description: Ошибка валидации формы либо заказ уже не в статусе NEW. }
|
||||||
|
|
||||||
/admin/shop/order/position-restore:
|
/admin/shop/order/position-restore:
|
||||||
post:
|
post:
|
||||||
tags: [admin-shop-order]
|
tags: [admin-shop-order]
|
||||||
summary: Восстановить удалённую позицию заказа
|
summary: Восстановить удалённую позицию заказа
|
||||||
|
description: |
|
||||||
|
Операция допустима только на заказе в статусе NEW; для обработанного/отменённого — 422.
|
||||||
operationId: adminShopOrderPositionRestore
|
operationId: adminShopOrderPositionRestore
|
||||||
requestBody:
|
requestBody:
|
||||||
required: true
|
required: true
|
||||||
@@ -8803,11 +8829,16 @@ paths:
|
|||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: '#/components/schemas/HttpJsonResult'
|
$ref: '#/components/schemas/HttpJsonResult'
|
||||||
|
400: { description: Параметр `id` не передан или имеет некорректный формат. }
|
||||||
|
404: { description: Позиция не найдена. }
|
||||||
|
422: { description: Заказ уже не в статусе NEW. }
|
||||||
|
|
||||||
/admin/shop/order/position-change-comment:
|
/admin/shop/order/position-change-comment:
|
||||||
post:
|
post:
|
||||||
tags: [admin-shop-order]
|
tags: [admin-shop-order]
|
||||||
summary: Изменить комментарий к позиции заказа
|
summary: Изменить комментарий к позиции заказа
|
||||||
|
description: |
|
||||||
|
Операция допустима только на заказе в статусе NEW; для обработанного/отменённого — 422.
|
||||||
operationId: adminShopOrderPositionChangeComment
|
operationId: adminShopOrderPositionChangeComment
|
||||||
requestBody:
|
requestBody:
|
||||||
required: true
|
required: true
|
||||||
@@ -8826,6 +8857,8 @@ paths:
|
|||||||
application/json:
|
application/json:
|
||||||
schema:
|
schema:
|
||||||
$ref: '#/components/schemas/HttpJsonResult'
|
$ref: '#/components/schemas/HttpJsonResult'
|
||||||
|
404: { description: Позиция не найдена. }
|
||||||
|
422: { description: Ошибка валидации формы либо заказ уже не в статусе NEW. }
|
||||||
|
|
||||||
/admin/shop/order/export-excel:
|
/admin/shop/order/export-excel:
|
||||||
post:
|
post:
|
||||||
@@ -14808,6 +14841,12 @@ components:
|
|||||||
oneOf:
|
oneOf:
|
||||||
- { type: object, additionalProperties: true }
|
- { type: object, additionalProperties: true }
|
||||||
- { type: string, description: JSON-encoded блоки (legacy). }
|
- { type: string, description: JSON-encoded блоки (legacy). }
|
||||||
|
categoriesId:
|
||||||
|
type: string
|
||||||
|
description: |
|
||||||
|
Список UUID категорий через запятую (например `uuid1,uuid2`).
|
||||||
|
Обрабатывается `CategoryTreeItemModelBehavior::afterSave`. Пустая строка
|
||||||
|
снимает все привязки. Без категории товар не будет виден в витрине покупателя.
|
||||||
|
|
||||||
AdminShopProductOption:
|
AdminShopProductOption:
|
||||||
type: object
|
type: object
|
||||||
@@ -14843,8 +14882,9 @@ components:
|
|||||||
type: object
|
type: object
|
||||||
description: |
|
description: |
|
||||||
Поля `id`, `created_user_id`, `updated_user_id`, `tenant_id` подставляются
|
Поля `id`, `created_user_id`, `updated_user_id`, `tenant_id` подставляются
|
||||||
автоматически в `BaseModel::beforeSave` — попытка передать их в payload
|
автоматически behavior'ами модели — попытка передать их в payload
|
||||||
игнорируется (поля убраны из `safeAttributes`).
|
перезаписывается серверными значениями.
|
||||||
|
При `update` поле `shop_product_id` игнорируется — привязку к товару менять нельзя.
|
||||||
properties:
|
properties:
|
||||||
shop_product_id: { type: string, format: uuid }
|
shop_product_id: { type: string, format: uuid }
|
||||||
status_id: { type: integer }
|
status_id: { type: integer }
|
||||||
|
|||||||
Reference in New Issue
Block a user