API для фулфилмента: товары и остатки
Обновлено: 2026-10-11
Эти методы описывают, что лежит на складе фулфилмента и как это узнать по штрихкоду. Нитроселлер сопоставляет товар сам: сначала по nitroseller_variant_id, потом по штрихкоду и артикулу.
GET /channels
Канал продаж, в том числе кабинет без ключа API. Поля: id, title, marketplace (wb, ozon, ym, other или null), seller_external_id, has_credentials, inn, deleted_at. seller_external_id — ID продавца WB или client_id Ozon. Может быть пустым.
GET /items
Query: changed_since, cursor. Курсор — id товара. changed_since забирает товар, если изменился он сам или любой его код.
| Поле | Смысл |
|---|---|
id |
Стабильный id товара в WMS |
article, title, brand |
Артикул, название, бренд |
attributes |
Объект с size и color, если они есть |
is_marked |
Нужен ли КИЗ |
nitroseller_variant_id |
ULID варианта в Нитроселлере или null. С версии 1.2 |
codes |
Штрихкоды |
updated_at, deleted_at |
ISO-8601 |
Код: id, code, kind (ean13, upc, gtin14, ozn, internal, other), channel_id, marketplace, refs. Общий код — оба поля канала равны null. Один и тот же code может прийти несколько раз с разными каналами. refs — справочник WMS (nm_id, offer_id и другие). Нитроселлер по нему не сопоставляет.
GET /warehouses
Ответ: {data: [{id, title, kind}]}. kind — main или additional. Основной склад один. Дополнительные — брак, возвраты, FBS и любые другие зоны, которые надо сверять отдельно.
GET /stocks
Query warehouse_id необязателен. Ответ: {as_of, data: [{item_id, warehouse_id, total, reserved, available}]}.
| Поле | Смысл |
|---|---|
total |
Физически на складе, включая товар в отгрузке, которую ещё не сдали |
reserved |
Открытые заказы. Это не та же отгрузка |
available |
Доступно к новым заказам |
Ожидаемое равенство: total = available + reserved. Если WMS считает иначе, отдавайте факты как есть, не подгоняйте числа.