SelSup Developers

Обмен данными · Руководства

Остатки и склады

Как устроен учёт остатков в SelSup, как получить остатки склада и изменить их по SKU, артикулу или штрихкоду.

Разделы: 5Руководство для разработчика
→

Остатки товаров в SelSup привязаны к SKU — единице складского учёта. Нескольким товарам можно назначить один SKU, чтобы учитывать их общий остаток.

WMS, ERP и складские интеграции

1

Остатки в SelSup

Каждому товару в SelSup присваивается SKU. Если разные карточки относятся к одному товару на складе, им можно указать одинаковый SKU. Идентификатор товара передаётся в productId, идентификатор SKU — в skuId.

SelSup поддерживает два способа учёта остатков. При поштучном учёте каждой единице товара присваивается уникальный код. По нему можно найти товар на складе и посмотреть историю именно этой единицы. Стикер с кодом можно наклеить в удобном для сканирования месте, в том числе при работе с маркированными товарами.

При количественном учёте указывается, сколько товара с определённым SKU находится в ячейке. Отдельный уникальный код для каждой штуки не нужен.

2

Получение остатков склада

Чтобы получить все остатки склада, вызовите GET /api/wms/stock/all и передайте идентификатор склада в warehouseId. В ответ придёт JSON-массив.

В каждом элементе skuId содержит идентификатор SKU, sku.product — основной товар этого SKU, cell — ячейку хранения, modifyDate — время последнего изменения. Поле quantity содержит количество доступного остатка, calculatedQuantity — количество рассчитанного остатка.

Остатки одного склада · cURL
curl 'https://api.selsup.ru/api/wms/stock/all?warehouseId=10129' \
  --header 'Authorization: YOUR_API_TOKEN'
Пример ответа — один остаток · JSON
[
  {
    "sku": {
      "product": {
        "id": 1422612,
        "skuId": 1044318
      }
    },
    "skuId": 1044318,
    "cell": {
      "id": 66,
      "warehouseId": 10129,
      "fullName": "А.1.1.1"
    },
    "modifyDate": "2026-11-01T12:00:00+03:00",
    "quantity": 24,
    "calculatedQuantity": 0
  }
]

3

Изменение остатков по SKU SelSup

Для изменения остатков используйте PUT /api/wms/stock. В skuId передайте идентификатор SKU из ответа /api/product/find, в serviceWarehouseId — идентификатор склада SelSup. В теле запроса передаётся массив изменений.

Поле stock задаёт новое количество. Обычно withReservedStock передают со значением true, чтобы учесть резерв в SelSup.

Передавайте updateInService=false, если достаточно изменить остаток в SelSup. При true метод также синхронно обновляет остатки на маркетплейсах, поэтому ответ может занять больше времени.

Тело запроса PUT /api/wms/stock · JSON
[
  {
    "stock": 5,
    "serviceWarehouseId": "1234",
    "updateInService": false,
    "withReservedStock": true,
    "skuId": 1044318
  }
]

4

Изменение остатков по артикулу или штрихкоду

Используйте PUT /api/wms/stock/{service}. Вместо {service} укажите сервис, по идентификатору которого SelSup должен найти товар. Например, для обновления по артикулу 1С используется /api/wms/stock/1C.

В serviceProductId передайте идентификатор товара во внешнем сервисе, в serviceWarehouseId — идентификатор склада этого сервиса из настроек связей со складами SelSup.

Для поиска по штрихкоду передайте barcode вместо serviceProductId. В примере ниже склад SelSup определяется по связи со складом Ozon.

По идентификатору 1С — PUT /api/wms/stock/1C · JSON
[
  {
    "stock": 5,
    "serviceProductId": "ITEM-001",
    "serviceWarehouseId": "1C-WH-01",
    "updateInService": false,
    "withReservedStock": true
  }
]
По штрихкоду — PUT /api/wms/stock/OZON · JSON
[
  {
    "stock": 5,
    "barcode": "4601234567890",
    "serviceWarehouseId": "OZON-WH-01",
    "updateInService": false,
    "withReservedStock": true
  }
]

5

Проверка обновления остатков

  1. 1

    Проверьте товар и склад

    Перед массовым обновлением отправьте одну позицию. Убедитесь, что skuId или внешний идентификатор относится к нужному товару, а serviceWarehouseId — к нужному складу.

  2. 2

    Обработайте результат

    Метод возвращает результат для каждой позиции. Если позиция не обновилась, проверьте сообщение об ошибке, идентификатор товара и связь складов.

  3. 3

    Сверьте остатки

    После обновления повторно запросите остатки склада и проверьте изменённые позиции. Если количество меняют и SelSup, и внешняя система, определите, какая из них должна передавать итоговый остаток.