API V1 Legacy
Эта страница относится только к старому совместимому контракту /api/*. Новый API v2 находится в отдельной ветке сайта.

Кванты и упаковки

Квант хранится как расширение обычного товара в rw_offers. Отдельного параллельного учета нет: физические остатки квантов и базовых товаров ведутся в стандартном складском ядре whc_wh_items / whc_rests.

Модель

package.kindbase для обычного товара, quant для кванта/упаковки.
package.parent_offer_idНепосредственный родитель. Например, короб ссылается на штуку, палета - на короб.
package.multiplicityСколько родительских единиц содержит один квант.
package.base_offer_idБазовый товар всей цепочки.
package.base_multiplicityСколько базовых единиц содержит один квант с учетом всей вложенности.
POST/api/products

Создание кванта выполняется через обычный bulk create товаров. Нужен доступ offers.create.

[
  {
    "of_shop_id": 12,
    "of_name": "Короб 5 шт",
    "of_sku": "BOX-5",
    "package": {
      "kind": "quant",
      "parent_offer_id": 77,
      "multiplicity": 5
    },
    "barcodes": [
      {"br_barcode": "04601234567895", "br_main": 1}
    ]
  }
]
PUT/api/products

Обновление параметров кванта также идет через bulk update товаров. package.kind=base очищает упаковочные поля товара.

[
  {
    "of_id": 501,
    "package": {
      "kind": "quant",
      "parent_offer_id": 77,
      "multiplicity": 10
    }
  }
]
GET/api/products

Поиск квантов и измененных остатков.

Все кванты/api/products?of_package_kind=quant
Кванты родителя/api/products?of_parent_offer_id=77
Кванты базового товара/api/products?of_base_offer_id=77
Измененные остатки/api/products?inventoryUpdated_from=2026-07-05 10:00:00

В ответе возвращаются package, physical_stocks, aggregate_stocks и inventoryUpdated.

Заказы

Строка базового товараWMS может использовать доступные кванты и остаток в штуках при резервировании/подборе.
Строка-квантЕсли заказ пришел отдельной строкой-квантом, отгружается физический остаток этого кванта.
Смешанный подборНапример, 7 штук может быть закрыто как 1 квант по 5 + 2 штуки.
GET/api/quant-unpackings

Список документов разукомплектации квантов. Нужен доступ stock_transfers.view.

POST/api/quant-unpackings

Создает документ разукомплектации. Если передать conduct=true, документ сразу проведется.

{
  "qu_wh_id": 2,
  "qu_date": "2026-07-05",
  "qu_ext_id": "UNPACK-1001",
  "conduct": true,
  "items": [
    {
      "source_offer_id": 501,
      "source_qty": 2,
      "source_place_id": 10,
      "target_place_id": 10
    }
  ]
}

Для кванта с кратностью 5 такая строка создаст -2 по кванту и +10 по родительскому товару.

POST/api/quant-unpackings/{id}/items

Добавляет строку в новый документ разукомплектации.

POST/api/quant-unpackings/{id}/conduct

Проводит документ. После проведения документ не редактируется.

Журнал изменений

Все движения по квантам попадают в /api/stock-movements. Для разукомплектации используйте фильтр movement_type=quant_unpacking или sm_doc_type=8.

GET /api/stock-movements?movement_type=quant_unpacking&after_id=12345