Работа с товарами (products)
Работа с товарами включает в себя:
- Создание и редактирование карточек товаров: в том числе, получение категорий, предметов и характеристик товаров и загрузку медиафайлов.
- Настройку ярлыков для удобного поиска товаров.
- Установку цен и скидок.
- Управление остатками товаров и складами, если вы работаете по модели продаж со склада продавца.
Работа с товарами включает в себя:
- Создание и редактирование карточек товаров: в том числе, получение категорий, предметов и характеристик товаров и загрузку медиафайлов.
- Настройку ярлыков для удобного поиска товаров.
- Установку цен и скидок.
- Управление остатками товаров и складами, если вы работаете по модели продаж со склада продавца.
Для создания карточек товаров необходимо:
- Определить родительскую категорию, к которой будет относиться товар.
- Внутри категории выбрать предмет.
- Подобрать для каждого предмета характеристики товара. Характеристики Цвет, Пол, Страна производства, Сезон, Ставка НДС и ТНВЭД-код можно получить с помощью отдельных методов.
Родительские категории товаров{{ /content/v2/object/parent/all }}
Метод предоставляет названия и ID всех родительских категорий для создания карточек товаров: например, Электроника
, Бытовая химия
, Рукоделие
.
Authorizations:
query Parameters
locale | string Example: locale=en Язык поля ответа
Не используется в песочнице |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "name": "Электроника",
- "id": 479,
- "isVisible": true
}
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}
Список предметов{{ /content/v2/object/all }}
Метод предоставляет список названий родительских категорий предметов и их предметов с ID. Например, у категории Игрушки
будут предметы Калейдоскопы
, Куклы
, Мячики
.
Authorizations:
query Parameters
name | string Example: name=Носки Поиск по названию предмета (Носки), поиск работает по подстроке, искать можно на любом из поддерживаемых языков. |
limit | integer Example: limit=1000 Количество предметов, максимум 1 000 |
locale | string Example: locale=en Язык полей ответа:
Не используется в песочнице |
offset | integer Example: offset=5000 Номер позиции, с которой необходимо получить ответ |
parentID | integer Example: parentID=1000 ID родительской категории предмета |
Responses
Response samples
- 200
- 401
- 429
{- "data": [
- {
- "subjectID": 2560,
- "parentID": 479,
- "subjectName": "3D очки",
- "parentName": "Электроника"
}, - {
- "subjectID": 1152,
- "parentID": 858,
- "subjectName": "3D-принтеры",
- "parentName": "Оргтехника"
}
], - "error": false,
- "errorText": "",
- "additionalErrors": null
}
Характеристики предмета{{ /content/v2/object/charcs/{subjectId} }}
Метод предоставляет параметры характеристик предмета: названия, типы данных, единицы измерения и так далее. В запросе необходимо указать ID предмета.
Authorizations:
path Parameters
subjectId required | integer Example: 105 ID предмета |
query Parameters
locale | string Example: locale=en Язык полей ответа
Не используется в песочнице |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "charcID": 54337,
- "subjectName": "Кроссовки",
- "subjectID": 105,
- "name": "Размер",
- "required": false,
- "unitName": "см",
- "maxCount": 0,
- "popular": false,
- "charcType": 4
}
], - "error": false,
- "errorText": "",
- "additionalErrors": null
}
Цвет{{ /content/v2/directory/colors }}
Метод предоставляет возможные значения характеристики предмета Цвет
.
Authorizations:
query Parameters
locale | string Example: locale=en Язык полей ответа
Не используется в песочнице |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "name": "персиковый мелок",
- "parentName": "оранжевый"
}
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}
Пол{{ /content/v2/directory/kinds }}
Метод предоставляет возможные значения характеристики предмета Пол
.
Authorizations:
query Parameters
locale | string Example: locale=en Язык полей ответа
Не используется в песочнице |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- "Мужской"
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}
Страна производства{{ /content/v2/directory/countries }}
Метод предоставляет возможные значения характеристики предмета Страна производства
.
Authorizations:
query Parameters
locale | string Example: locale=en Язык полей ответа
Не используется в песочнице |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "name": "Афганистан",
- "fullName": "Исламский Эмират Афганистан"
}
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}
Сезон{{ /content/v2/directory/seasons }}
Метод предоставляет возможные значения характеристики предмета Сезон
.
Authorizations:
query Parameters
locale | string Example: locale=en Язык полей ответа
Не используется в песочнице |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- "демисезон"
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}
Ставка НДС{{ /content/v2/directory/vat }}
Метод предоставляет возможные значения характеристики предмета Ставка НДС
.
Authorizations:
query Parameters
locale required | string Example: locale=ru Язык полей ответа
Не используется в песочнице |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- "0",
- "10",
- "20",
- "Без НДС",
- "13"
], - "error": false,
- "errorText": "",
- "additionalErrors": null
}
ТНВЭД-код{{ /content/v2/directory/tnved }}
Authorizations:
query Parameters
subjectID required | integer Example: subjectID=105 ID предмета |
search | integer Example: search=6106903000 Поиск по ТНВЭД-коду. Работает только в паре с |
locale | string Example: locale=en Язык полей ответа:
Не используется в песочнице |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "tnved": "6106903000",
- "isKiz": true
}
], - "error": false,
- "errorText": "",
- "additionalErrors": null
}
После получения категорий, предметов и характеристик товаров вы можете создать карточку товара. Для этого:
- Проверьте лимиты для создания карточек товаров.
- Вы можете сгенерировать баркоды для карточек товаров. Но если вы создадите карточку товара без баркода, он будет сгенерирован автоматически. Либо вы можете использовать свой баркод.
Можно создавать карточки товаров:
- Объединёнными или необъединёнными.
- Объединёнными с уже существующими карточками товаров.
Объединить и разъединить карточки товаров можно через imtID
— ID карточки в WB для объединения.
Лимиты карточек товаров{{ /content/v2/cards/limits }}
Возвращает бесплатные и платные лимиты продавца на создание карточек товаров.
Формула для получения количества карточек, которые можно создать:
(
freeLimits
+paidLimits
) - количество созданных карточек
Созданными считаются карточки, которые можно получить через методы список карточек товаров и список карточек товаров в корзине.
Authorizations:
Responses
Response samples
- 200
- 401
- 403
- 429
{- "data": {
- "freeLimits": 1500,
- "paidLimits": 10
}, - "error": false,
- "errorText": "",
- "additionalErrors": null
}
Генерация баркодов{{ /content/v2/barcodes }}
Метод генерирует массив уникальных баркодов для создания размера в карточке товара. Можно использовать, если у вас нет собственных баркодов.
Authorizations:
Request Body schema: application/jsonrequired
count | integer Кол-во баркодов которые надо сгенерировать, максимальное доступное количество баркодов для генерации - |
Responses
Request samples
- Payload
{- "count": 100
}
Response samples
- 200
- 401
- 403
- 429
{- "data": [
- "5032781145187"
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}
Создание карточек товаров{{ /content/v2/cards/upload }}
Метод создаёт карточки товаров c указанием описаний и характеристик товаров.
Габариты товаров можно указать только в сантиметрах.
Создание карточки товара происходит асинхронно. После отправки запрос становится в очередь на обработку.
В одном запросе можно создать максимум 100 объединённых карточек товаров (imtID
), по 30 карточек товаров в каждой. Максимальный размер запроса 10 Мб.
Если ответ Успешно
(200
), но какие-то карточки не обновились, получите список несозданных карточек товаров.
Authorizations:
Request Body schema: application/json
subjectID required | integer ID предмета |
required | Array of objects Массив вариантов товара. В каждой карточке товара может быть не более 30 карточек товаров |
Responses
Request samples
- Payload
[- {
- "subjectID": 105,
- "variants": [
- {
- "vendorCode": "АртикулПродавца",
- "title": "Наименование товара",
- "description": "Описание товара",
- "brand": "Бренд",
- "dimensions": {
- "length": 55,
- "width": 40,
- "height": 15
}, - "characteristics": [
- {
- "id": 12,
- "value": [
- "Turkish flag"
]
}, - {
- "id": 25471,
- "value": 1200
}, - {
- "id": 14177449,
- "value": [
- "red"
]
}
], - "sizes": [
- {
- "techSize": "S",
- "wbSize": "42",
- "price": 5000,
- "skus": [
- "88005553535"
]
}
]
}
]
}
]
Response samples
- 200
- 400
- 401
- 413
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}
Создание карточек товаров с объединением{{ /content/v2/cards/upload/add }}
Метод создаёт новые карточки товаров, объединяя их с существующими карточками.
Габариты товаров можно указать только в сантиметрах.
Создание карточки товара происходит асинхронно. После отправки запрос становится в очередь на обработку.
Максимальный размер запроса 10 Мб.
Если ответ Успешно
(200
), но какие-то карточки не обновились, получите список несозданных карточек товаров.
Authorizations:
Request Body schema: application/json
imtID | integer
|
Array of objects Структура добавляемой карточки товара |
Responses
Request samples
- Payload
{- "imtID": 987654321,
- "cardsToAdd": [
- {
- "vendorCode": "myVariant1",
- "title": "Наименование товара",
- "description": "Описание товара",
- "brand": "Бренд",
- "dimensions": {
- "length": 55,
- "width": 40,
- "height": 15
}, - "characteristics": [
- {
- "id": 12,
- "value": [
- "Russian flag"
]
}, - {
- "id": 25471,
- "value": 1300
}, - {
- "id": 14177449,
- "value": [
- "blue"
]
}
], - "sizes": [
- {
- "skus": [
- "12345678"
]
}
]
}, - {
- "vendorCode": "myVariant2",
- "title": "Наименование товара",
- "description": "Описание товаров",
- "brand": "Бренд",
- "dimensions": {
- "length": 55,
- "width": 40,
- "height": 15
}, - "characteristics": [
- {
- "id": 12,
- "value": [
- "Russian flag"
]
}, - {
- "id": 25471,
- "value": 1300
}, - {
- "id": 14177449,
- "value": [
- "blue"
]
}
], - "sizes": [
- {
- "skus": [
- "222222222222"
]
}
]
}
]
}
Response samples
- 200
- 400
- 401
- 413
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}
После создания карточек товаров вы можете:
- Получать списки с подробной информацией об уже созданных карточках. Если вы не увидели карточку товара в списке, при её создании произошла ошибка.
- Объединять и разъединять созданные карточки.
- Редактировать данные карточки товара.
- Работать с корзиной: можно переносить карточки товаров в корзину и восстанавливать их.
- Получать списки карточек товаров в корзине.
Список карточек товаров{{ /content/v2/get/cards/list }}
Метод предоставляет список созданных карточек товаров.
Чтобы получить больше 100 карточек товаров, воспользуйтесь пагинацией:
- Сделайте первый запрос:
{ "settings": { "cursor": { "limit": 100 }, "filter": { "withPhoto": -1 } } }
- Пройдите в конец полученного списка карточек товаров.
- Скопируйте из
cursor
две строки:"updatedAt": "***"
"nmID": ***
- Вставьте скопированные строки в параметр запроса
cursor
. - Повторите запрос.
- Повторяйте пункты со 2 по 5, пока поле
total
в ответе не станет меньше чем параметрlimit
в запросе. Это будет означать, что вы получили все карточки.
Authorizations:
query Parameters
locale | string Example: locale=ru Язык полей ответа
Не используется в песочнице. |
Request Body schema: application/jsonrequired
object Настройки |
Responses
Request samples
- Payload
{- "settings": {
- "sort": {
- "ascending": false
}, - "filter": {
- "textSearch": "",
- "allowedCategoriesOnly": true,
- "tagIDs": [ ],
- "objectIDs": [ ],
- "brands": [ ],
- "imtID": 0,
- "withPhoto": -1
}, - "cursor": {
- "updatedAt": "2023-12-06T11:17:00.96577Z",
- "nmID": 0,
- "limit": 11
}
}
}
Response samples
- 200
- 400
- 401
- 403
- 429
{- "cards": [
- {
- "nmID": 12345678,
- "imtID": 123654789,
- "nmUUID": "01bda0b1-5c0b-736c-b2be-d0a6543e9be",
- "subjectID": 7771,
- "subjectName": "AKF системы",
- "vendorCode": "wb7f6mumjr1",
- "brand": "",
- "title": "",
- "photos": [
- {
}
], - "dimensions": {
- "length": 0,
- "width": 0,
- "height": 0,
- "isValid": false
}, - "characteristics": [
- {
- "id": 14177449,
- "name": "Цвет",
- "value": [
- "красно-сиреневый"
]
}
], - "sizes": [
- {
- "chrtID": 316399238,
- "techSize": "0",
- "skus": [
- "987456321654"
]
}
], - "tags": [
- {
- "id": 592569,
- "name": "Популярный",
- "color": "D1CFD7"
}
], - "createdAt": "2023-12-06T11:17:00.96577Z",
- "updatedAt": "2023-12-06T11:17:00.96577Z"
}
], - "cursor": {
- "updatedAt": "2023-12-06T11:17:00.96577Z",
- "nmID": 123654123,
- "total": 1
}
}
Список несозданных карточек товаров с ошибками{{ /content/v2/cards/error/list }}
Метод предоставляет список карточек товаров, при создании или редактировании которых произошли ошибки, с описанием этих ошибок.
Authorizations:
query Parameters
locale | string Example: locale=en Параметр выбора языка значений полей ответа (для которых предусмотрена мультиязычность). Не используется в песочнице. |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": [
- {
- "object": "Блузки",
- "vendorCode": "6000000001",
- "updateAt": "2022-06-15T14:37:13Z",
- "errors": [
- "Поля Рос. размер, Размер обязательны для заполнения"
], - "objectID": 41
}
], - "error": false,
- "errorText": "",
- "additionalErrors": ""
}
Редактирование карточек товаров{{ /content/v2/cards/update }}
Метод обновляет карточки товаров. Данные для обновления можно получить через список карточек товаров и список карточек товаров в корзине.
Нельзя редактировать или удалять баркоды, но можно добавить дополнительный баркод к карточке товара. Параметры photos
, video
и tags
редактировать или удалять через данный метод нельзя.
Габариты товаров можно указать только в сантиметрах.
В одном запросе можно отредактировать максимум 3000 карточек товаров (nmID
). Максимальный размер запроса 10 Мб.
Если ответ Успешно
(200
), но какие-то карточки не обновились, получите список несозданных карточек товаров.
Authorizations:
Request Body schema: application/json
nmID required | integer Артикул WB |
vendorCode required | string Артикул продавца |
brand | string Бренд |
title | string Наименование товара |
description | string Описание товара. Максимальное количество символов зависит от категории товара. Стандарт — 2000, минимум — 1000, максимум — 5000. |
object Габариты упаковки товара. Указывать в сантиметрах для любого товара. | |
Array of objects Характеристики товара | |
required | Array of objects Массив размеров артикула. |
Responses
Request samples
- Payload
[- {
- "nmID": 11111111,
- "vendorCode": "wbiz72wmro",
- "brand": "",
- "title": "Свитер женский оверсайз с горлом",
- "description": "12345",
- "dimensions": {
- "length": 0,
- "width": 0,
- "height": 0
}, - "characteristics": [
- {
- "id": 14177450,
- "value": [
- "хлопок 50% акрил 50%"
]
}, - {
- "id": 50,
- "value": [
- "свободный крой"
]
}
], - "sizes": [
- {
- "chrtID": 12345678,
- "techSize": "ONE SIZE",
- "wbSize": "78-90",
- "skus": [
- "123487653460134"
]
}
]
}
]
Response samples
- 200
- 400
- 401
- 403
- 413
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}
Объединение и разъединение карточек товаров{{ /content/v2/cards/moveNm }}
Метод объединяет и разъединяет карточки товаров. Карточки товаров считаются объединёнными, если у них одинаковый imtID
.
Для объединения карточек товаров сделайте запрос с указанием imtID
. Можно объединять не более 30 карточек товаров.
Для разъединения карточек товаров сделайте запрос без указания imtID
. Для разъединенных карточек будут сгенерированы новые imtID
.
Если вы разъедините одновременно несколько карточек товаров, эти карточки объединятся в одну и получат новый imtID
.
Чтобы присвоить каждой карточке товара уникальный imtID
, необходимо передавать по одной карточке товара за запрос.
Максимальный размер запроса 10 Мб.
Authorizations:
Request Body schema: application/json
targetIMT required | integer Существующий у продавца |
nmIDs required | Array of integers
|
Responses
Request samples
- Payload
{- "targetIMT": 123,
- "nmIDs": [
- 837459235,
- 828572090
]
}
Response samples
- 200
- 400
- 401
- 403
- 413
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}
Перенос карточек товаров в корзину{{ /content/v2/cards/delete/trash }}
Метод переносит карточки товаров в корзину. При этом карточки товаров не удаляются, их можно восстановить.
imtID
.
Карточки товаров удаляются автоматически, если лежат в корзине больше 30 дней. Очистка корзины происходит каждую ночь по московскому времени.
Карточки товаров можно удалить в любое время в личном кабинете.
Authorizations:
Request Body schema: application/jsonrequired
nmIDs | Array of integers Артикул WB (max. 1000) |
Responses
Request samples
- Payload
{- "nmIDs": [
- 123456789,
- 987654321
]
}
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}
Восстановление карточек товаров из корзины{{ /content/v2/cards/recover }}
Метод восстанавливает карточки товаров из корзины.
imtID
, что был присвоен ей при перемещении в корзину.
Authorizations:
Request Body schema: application/jsonrequired
nmIDs | Array of integers Артикул WB (max. 1000) |
Responses
Request samples
- Payload
{- "nmIDs": [
- 123456789,
- 987654321
]
}
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": { }
}
Список карточек товаров в корзине{{ /content/v2/get/cards/trash }}
Метод предоставляет список карточек товаров в корзине.
Чтобы получить больше 100 карточек товаров, воспользуйтесь пагинацией:
- Сделайте первый запрос:
{ "settings": { "cursor": { "limit": 100 }, "filter": { "withPhoto": -1 } } }
- Пройдите в конец полученного списка карточек товаров.
- Скопируйте из
cursor
две строки:"updatedAt": "***"
"nmID": ***
- Вставьте скопированные строки в параметр запроса
cursor
. - Повторите запрос.
- Повторяйте пункты со 2 по 5, пока поле
total
в ответе не станет меньше чем параметрlimit
в запросе. Это будет означать, что вы получили все карточки.
Authorizations:
query Parameters
locale | string Enum: "ru" "en" "zh" Язык полей ответа Не используется в песочнице |
Request Body schema: application/jsonrequired
object Настройки |
Responses
Request samples
- Payload
{- "settings": {
- "sort": {
- "ascending": false
}, - "filter": {
- "textSearch": ""
}, - "cursor": {
- "limit": 11
}
}
}
Response samples
- 200
- 400
- 401
- 403
- 429
{- "cards": [
- {
- "nmID": 1234567,
- "vendorCode": "wb5xsy5ftj",
- "subjectID": 1436,
- "subjectName": "Ведра хозяйственные",
- "photos": [
- {
}
], - "sizes": [
- {
- "chrtID": 111111111,
- "techSize": "0",
- "skus": [
- "xxxxxxxxxxxx"
]
}
], - "dimensions": {
- "length": 0,
- "width": 0,
- "height": 0,
- "isValid": false
}, - "createdAt": "2023-12-05T14:55:09.323462Z",
- "trashedAt": "2023-12-06T10:57:42.193028Z"
}
], - "cursor": {
- "trashedAt": "2023-12-06T10:57:42.193028Z",
- "nmID": 194128521,
- "total": 1
}
}
Управлять медиафайлами в карточке товара можно двумя способами:
- Через прямую загрузку одного медиафайла в карточку товара.
- Через перечисление ссылок на медиафайлы. В этом случае новые медиафайлы заменяют медиафайлы, уже добавленные в карточку товара.
Загрузить медиафайл{{ /content/v3/media/file }}
Метод загружает и добавляет один медиафайл к карточке товара.
Требования к изображениям:
- максимум изображений для одной карточки товара — 30
- минимальное разрешение — 700x900 px
- максимальный размер — 32 Мб
- минимальное качество — 65%
- форматы — JPG, PNG, BMP, GIF (статичные), WebP
Требования к видео:
- максимум одно видео для одной карточки товара
- максимальный размер — 50 Мб
- форматы — MOV, MP4
Authorizations:
header Parameters
X-Nm-Id required | string Example: 213864079 Артикул WB |
X-Photo-Number required | integer Example: 2 Номер медиафайла на загрузку, начинается с Чтобы добавить изображение к уже загруженным, номер медиафайла должен быть больше количества уже загруженных медиафайлов. |
Request Body schema: multipart/form-datarequired
uploadfile | string <binary> |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
{- "data": { },
- "error": false,
- "errorText": "",
- "additionalErrors": null
}
Загрузить медиафайлы по ссылкам{{ /content/v3/media/save }}
Метод загружает набор медиафайлов в карточку товара через указание ссылок в запросе.
Требования к изображениям:
- максимум изображений для одной карточки товара — 30
- минимальное разрешение — 700×900 px
- максимальный размер — 32 Мб
- минимальное качество — 65%
- форматы — JPG, PNG, BMP, GIF (статичные), WebP
Требования к видео:
- максимум одно видео для одной карточки товара
- максимальный размер — 50 Мб
- форматы — MOV, MP4
Если видео или хотя бы одно изображение в запросе не соответствует требованиям, то даже при успешном ответе ни одно изображение/видео не загрузится.
Authorizations:
Request Body schema: application/jsonrequired
nmId | integer Артикул WB |
data | Array of strings Ссылки на изображения в том порядке, в котором они будут в карточке товара, и на видео, на любой позиции массива |
Responses
Request samples
- Payload
Response samples
- 200
- 400
- 401
- 403
- 409
- 422
- 429
{- "data": { },
- "error": false,
- "errorText": "",
- "additionalErrors": null
}
Ярлыки позволяют быстро фильтровать и искать карточки товаров в личном кабинете. В разделе вам доступны методы:
- Получения списка ярлыков продавца. Эти ярлыки можно использовать в карточках товаров.
- Добавления новых ярлыков.
- Изменения существующих ярлыков.
- Удаления ярлыков.
- Управления ярлыками в карточке товара: добавления или удаления ярлыка.
Создание ярлыка{{ /content/v2/tag }}
Authorizations:
Request Body schema: application/jsonrequired
color | string Цвет ярлыка.
|
name | string Имя ярлыка |
Responses
Request samples
- Payload
{- "color": "D1CFD7",
- "name": "Sale"
}
Response samples
- 200
- 400
- 401
- 403
- 429
Успешно
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": null
}
Изменение ярлыка{{ /content/v2/tag/{id} }}
Authorizations:
path Parameters
id required | integer Example: 1 Числовой ID ярлыка |
Request Body schema: application/jsonrequired
color | string Цвет ярлыка |
name | string Имя ярлыка |
Responses
Request samples
- Payload
{- "color": "D1CFD7",
- "name": "Sale"
}
Response samples
- 200
- 400
- 401
- 403
- 429
Успешно
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": null
}
Удаление ярлыка{{ /content/v2/tag/{id} }}
Метод удаляет ярлык из списка ярлыков продавца.
Authorizations:
path Parameters
id required | integer Example: 1 Числовой ID ярлыка |
Responses
Response samples
- 200
- 400
- 401
- 403
- 429
Успешно
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": null
}
Управление ярлыками в карточке товара{{ /content/v2/tag/nomenclature/link }}
Метод добавляет или снимает ярлык с карточки товара. К карточке можно добавить максимум 15 ярлыков.
При удалении ярлыка из карточки товара он не удаляется из списка ярлыков продавца.
Authorizations:
Request Body schema: application/jsonrequired
nmID | integer Артикул WB |
tagsIDs | Array of integers Массив числовых ID ярлыков. |
Responses
Request samples
- Payload
{- "nmID": 179891389,
- "tagsIDs": [
- 123456
]
}
Response samples
- 200
- 400
- 401
- 403
- 429
Успешно
{- "data": null,
- "error": false,
- "errorText": "",
- "additionalErrors": null
}
С помощью этих методов можно устанавливать цены и скидки, в том числе для размеров одного товара.
Когда вы обновляете цены или скидки, данные по каким-то товарам могут не обновиться. Например, если вы передали неправильную цену или скидку. Проверяйте статус загрузки с помощью метода состояния обработанной загрузки.
Если вы задаёте цены и скидки в календаре акций, загрузка с такими товарами попадает в обработку. Цены и скидки изменятся к началу акции. У такой загрузки будет статус 1
, получить информацию про нее можно с помощью методов детализации необработанной загрузки и состояния необработанной загрузки.
Статусы загрузки:
3
— обработана. В товарах нет ошибок, цены и скидки обновились.4
— отменена5
— обработана, но в товарах есть ошибки. Ошибки можно получить с помощью метода детализации обработанной загрузки. Для товаров без ошибок цены и скидки обновились.6
— обработана, но во всех товарах есть ошибки. Ошибки можно получить с помощью метода детализации обработанной загрузки.
2
.
Установить цены и скидки{{ /api/v2/upload/task }}
Метод устанавливает цены и скидки для товаров.
Чтобы установить цены и скидки для размеров товара, используйте отдельный метод.
Authorizations:
Request Body schema: application/jsonrequired
Array of objects (Goods) Товары, цены и скидки для них. Максимум 1 000 товаров. Цена и скидка не могут быть пустыми одновременно.
|
Responses
Request samples
- Payload
{- "data": [
- {
- "nmID": 123,
- "price": 999,
- "discount": 30
}
]
}
Response samples
- 200
- 208
- 400
- 401
- 422
- 429
{- "data": {
- "id": 0,
- "alreadyExists": false
}, - "error": false,
- "errorText": ""
}
Установить цены для размеров{{ /api/v2/upload/task/size }}
Метод устанавливает цены отдельно для размеров товаров.
Работает только для товаров из категорий, где можно устанавливать цены отдельно для разных размеров. Для таких товаров editableSizePrice: true
.
Чтобы установить цены и скидки для самих товаров, используйте отдельный метод.
Authorizations:
Request Body schema: application/jsonrequired
Array of objects (SizeGoodsBody) Размеры и цены для них. Максимум 1 000 размеров.
|
Responses
Request samples
- Payload
{- "data": [
- {
- "nmID": 123,
- "sizeID": 98989887,
- "price": 999
}
]
}
Response samples
- 200
- 208
- 400
- 401
- 422
- 429
{- "data": {
- "id": 0,
- "alreadyExists": false
}, - "error": false,
- "errorText": ""
}
Установить скидки WB Клуба{{ /api/v2/upload/task/club-discount }}
Устанавливает скидки для товаров в рамках подписки WB Клуб.
Authorizations:
Request Body schema: application/jsonrequired
Array of objects (ClubDisc) Товары и скидки WB Клуба для них. Максимум 1 000 товаров. |
Responses
Request samples
- Payload
{- "data": [
- {
- "nmID": 123,
- "clubDiscount": 5
}
]
}
Response samples
- 200
- 208
- 400
- 401
- 422
- 429
{- "data": {
- "id": 0,
- "alreadyExists": false
}, - "error": false,
- "errorText": ""
}
Состояние обработанной загрузки{{ /api/v2/history/tasks }}
Метод предоставляет информацию об обработанной загрузке цен и скидок.
Authorizations:
query Parameters
uploadID required | integer Example: uploadID=146567 ID загрузки |
Responses
Response samples
- 200
- 400
- 401
- 429
{- "data": {
- "uploadID": 395643565,
- "status": 3,
- "uploadDate": "2022-08-21T22:00:13+02:00",
- "activationDate": "2022-08-21T22:00:13+02:00",
- "overAllGoodsNumber": 0,
- "successGoodsNumber": 0
}, - "error": false,
- "errorText": "The product is in quarantine"
}
Детализация обработанной загрузки{{ /api/v2/history/goods/task }}
Метод предоставляет информацию о товарах и об ошибках в товарах в обработанной загрузке.
Authorizations:
query Parameters
limit required | integer <uint> Example: limit=10 Сколько элементов вывести на одной странице (пагинация). Максимум 1 000 элементов |
offset | integer <uint> >= 0 Example: offset=0 После какого элемента выдавать данные |
uploadID required | integer Example: uploadID=146567 ID загрузки |
Responses
Response samples
- 200
- 400
- 401
- 429
{- "data": {
- "uploadID": 3235236546,
- "historyGoods": [
- {
- "nmID": 544833232,
- "vendorCode": "34552332",
- "sizeID": 54483342,
- "techSizeName": "42",
- "price": 1500,
- "currencyIsoCode4217": "RUB",
- "discount": 25,
- "clubDiscount": 5,
- "status": 1,
- "errorText": "The product is in quarantine"
}
]
}
}
Состояние необработанной загрузки{{ /api/v2/buffer/tasks }}
Метод предоставляет информацию про загрузку скидок в обработке.
Authorizations:
query Parameters
uploadID required | integer Example: uploadID=146567 ID загрузки |
Responses
Response samples
- 200
- 400
- 401
- 429
{- "data": {
- "uploadID": 395643565,
- "status": 1,
- "uploadDate": "2022-08-21T22:00:13+02:00",
- "activationDate": "2022-08-21T22:00:13+02:00",
- "overAllGoodsNumber": 100,
- "successGoodsNumber": 0
}, - "error": false,
- "errorText": ""
}
Детализация необработанной загрузки{{ /api/v2/buffer/goods/task }}
Метод предоставляет информацию о товарах и ошибках в товарах из загрузки в обработке.
Authorizations:
query Parameters
limit required | integer <uint> Example: limit=10 Сколько элементов вывести на одной странице (пагинация). Максимум 1 000 элементов |
offset | integer <uint> >= 0 Example: offset=0 После какого элемента выдавать данные |
uploadID required | integer Example: uploadID=146567 ID загрузки |
Responses
Response samples
- 200
- 400
- 401
- 429
{- "data": {
- "uploadID": 3235236546,
- "bufferGoods": [
- {
- "nmID": 544833232,
- "vendorCode": "34552332",
- "sizeID": 54483342,
- "techSizeName": "XXL",
- "price": 1500,
- "currencyIsoCode4217": "RUB",
- "discount": 25,
- "clubDiscount": 5,
- "status": 1,
- "errorText": null
}
]
}, - "error": false,
- "errorText": ""
}
Получить товары{{ /api/v2/list/goods/filter }}
Метод предоставляет информацию о товаре по его артикулу.
Чтобы получить информацию обо всех товарах продавца, оставьте артикул пустым. Чтобы получить информацию о размерах товара, используйте отдельный метод.
Authorizations:
query Parameters
limit required | integer <uint> Example: limit=10 Сколько элементов вывести на одной странице (пагинация). Максимум 1 000 элементов |
offset | integer <uint> >= 0 Example: offset=0 После какого элемента выдавать данные |
filterNmID | integer Example: filterNmID=44589768676 Артикул WB, по которому искать товар |
Responses
Response samples
- 200
- 400
- 401
- 429
{- "data": {
- "listGoods": [
- {
- "nmID": 98486,
- "vendorCode": "07326060",
- "sizes": [
- {
- "sizeID": 3123515574,
- "price": 500,
- "discountedPrice": 350,
- "clubDiscountedPrice": 332.5,
- "techSizeName": "42"
}
], - "currencyIsoCode4217": "RUB",
- "discount": 30,
- "clubDiscount": 5,
- "editableSizePrice": true
}
]
}
}
Получить размеры товара{{ /api/v2/list/goods/size/nm }}
Метод предоставляет информацию обо всех размерах одного товара.
Работает только для товаров из категорий, где можно устанавливать цены отдельно для разных размеров. Для таких товаров editableSizePrice: true
.
Чтобы получить информацию о самом товаре, используйте отдельный метод.
Authorizations:
query Parameters
limit required | integer <uint> Example: limit=10 Сколько элементов вывести на одной странице (пагинация). Максимум 1 000 элементов |
offset | integer <uint> >= 0 Example: offset=0 После какого элемента выдавать данные |
nmID required | integer Example: nmID=1 Артикул WB |
Responses
Response samples
- 200
- 400
- 401
- 429
{- "data": {
- "listGoods": [
- {
- "nmID": 123,
- "sizeID": 98989887,
- "vendorCode": "34552332",
- "price": 1000,
- "currencyIsoCode4217": "RUB",
- "discountedPrice": 700,
- "clubDiscountedPrice": 665,
- "discount": 30,
- "clubDiscount": 5,
- "techSizeName": "42",
- "editableSizePrice": true
}
]
}, - "error": false,
- "errorText": "string"
}
Получить товары в карантине{{ /api/v2/quarantine/goods }}
Метод предоставляет информацию о товарах в карантине.
Если новая цена товара со скидкой будет минимум в 3 раза меньше старой, товар попадёт в карантин и будет продаваться по старой цене. Ошибка об этом будет в ответах методов состояний загрузок.
Вы можете изменить цену или скидку с помощью API либо вывести товар из карантина в личном кабинете.
Для товаров с поразмерной установкой цен карантин не применяется.
Authorizations:
query Parameters
limit required | integer <uint> Example: limit=10 Сколько элементов вывести на одной странице (пагинация). Максимум 1 000 элементов |
offset | integer <uint> >= 0 Example: offset=0 После какого элемента выдавать данные |
Responses
Response samples
- 200
- 400
- 401
- 422
- 429
{- "data": {
- "quarantineGoods": [
- {
- "nmID": 206025152,
- "sizeID": null,
- "techSizeName": "",
- "currencyIsoCode4217": "RUB",
- "newPrice": 134,
- "oldPrice": 4000,
- "newDiscount": 25,
- "oldDiscount": 25,
- "priceDiff": -2899.5
}
]
}, - "error": false,
- "errorText": ""
}
На складах продавца доступно управление остатками товаров.
Чтобы работать со складами продавца, вы можете:
- Получать список складов WB, если вы работаете по схеме FBS (Fulfillment by Seller). Это нужно, чтобы связывать склады WB и склады продавца при создании и редактировании склада.
- Получать список складов продавца, если работаете по модели продаж со склада продавца.
- Создавать склады продавца.
- Обновлять склады продавца.
- Удалять склады продавца.
Получить список складов WB{{ /api/v3/offices }}
Метод предоставляет список всех складов WB для привязки к складам продавца. Предназначен для определения складов WB, чтобы сдавать готовые заказы по схеме FBS (Fulfillment by Seller).
Authorizations:
Responses
Response samples
- 200
- 401
- 403
- 429
[- {
- "address": "ул. Троицкая, Подольск, Московская обл.",
- "name": "Москва (Коледино)",
- "city": "Москва",
- "id": 15,
- "longitude": 55.386871,
- "latitude": 37.588898,
- "cargoType": 1,
- "deliveryType": 1,
- "selected": true
}
]
Получить список складов продавца{{ /api/v3/warehouses }}
Метод предоставляет список всех складов продавца. Может использоваться для получения остатков товаров.
Authorizations:
Responses
Response samples
- 200
- 401
- 403
- 429
[- {
- "name": "ул. Троицкая, Подольск, Московская обл.",
- "officeId": 15,
- "id": 1,
- "cargoType": 1,
- "deliveryType": 1
}
]
Создать склад продавца{{ /api/v3/warehouses }}
Метод создаёт склад продавца для работы с остатками товаров. Нужно привязать к складу продавца склад WB для работы по схеме FBS (Fulfillment by Seller).
Authorizations:
Request Body schema: application/jsonrequired
name required | string [ 1 .. 200 ] characters Имя склада продавца |
officeId required | integer >= 1 ID склада WB |
Responses
Request samples
- Payload
{- "name": "Склад Коледино",
- "officeId": 15
}
Response samples
- 201
- 400
- 401
- 403
- 404
- 409
- 429
{- "id": 2
}
Обновить склад продавца{{ /api/v3/warehouses/{warehouseId} }}
Метод обновляет данные склада продавца в списке складов. Данные о привязанном складе WB можно изменить один раз в сутки.
Authorizations:
path Parameters
warehouseId required | integer <int64> Example: 1 ID склада продавца |
Request Body schema: application/jsonrequired
name required | string [ 1 .. 200 ] characters Имя склада продавца |
officeId required | integer >= 1 ID склада WB |
Responses
Request samples
- Payload
{- "name": "Склад Коледино",
- "officeId": 15
}
Response samples
- 400
- 401
- 403
- 404
- 409
- 429
{- "code": "IncorrectRequestBody",
- "message": "Некорректное тело запроса"
}
Удалить склад продавца{{ /api/v3/warehouses/{warehouseId} }}
Метод удаляет склад продавца из списка складов.
Authorizations:
path Parameters
warehouseId required | integer <int64> Example: 1 ID склада продавца |
Responses
Response samples
- 401
- 403
- 404
- 429
{- "title": "unauthorized",
- "detail": "token problem; token is malformed: could not base64 decode signature: illegal base64 data at input byte 84",
- "code": "07e4668e--a53a3d31f8b0-[UK-oWaVDUqNrKG]; 03bce=277; 84bd353bf-75",
- "requestId": "7b80742415072fe8b6b7f7761f1d1211",
- "origin": "s2s-api-auth-catalog",
- "status": 401,
- "statusText": "Unauthorized",
- "timestamp": "2024-09-30T06:52:38Z"
}
Если вы работаете по модели продаж со склада продавца, через эти методы вы можете:
- Обновлять остатки товаров.
- Удалять остатки. После удаления остатки можно будет загрузить повторно.
- Проверять количество остатков.
Обновить остатки товаров{{ /api/v3/stocks/{warehouseId} }}
Метод обновляет количество остатков товаров продавца в списке.
204
), но остатки не обновятся.
Authorizations:
path Parameters
warehouseId required | integer <int64> Example: 1 ID склада продавца |
Request Body schema: application/json
required | Array of objects [ 1 .. 1000 ] items Массив баркодов товаров и их остатков |
Responses
Request samples
- Payload
{- "stocks": [
- {
- "sku": "BarcodeTest123",
- "amount": 10
}
]
}
Response samples
- 400
- 401
- 403
- 404
- 406
- 409
- 429
{- "code": "IncorrectRequestBody",
- "message": "Некорректное тело запроса"
}
Удалить остатки товаров{{ /api/v3/stocks/{warehouseId} }}
Метод удаляет запись об остатках товаров продавца из списка остатков.
Authorizations:
path Parameters
warehouseId required | integer <int64> Example: 1 ID склада продавца |
Request Body schema: application/jsonrequired
skus | Array of strings [ 1 .. 1000 ] items Массив баркодов |
Responses
Request samples
- Payload
{- "skus": [
- "BarcodeTest123"
]
}
Response samples
- 400
- 401
- 403
- 404
- 429
{- "code": "IncorrectRequestBody",
- "message": "Некорректное тело запроса"
}
Получить остатки товаров{{ /api/v3/stocks/{warehouseId} }}
Метод предоставляет данные об остатках товаров на складах продавца.
Authorizations:
path Parameters
warehouseId required | integer <int64> Example: 1 ID склада продавца |
Request Body schema: application/jsonrequired
skus | Array of strings [ 1 .. 1000 ] items Массив баркодов |
Responses
Request samples
- Payload
{- "skus": [
- "BarcodeTest123"
]
}
Response samples
- 200
- 400
- 401
- 403
- 404
- 429
{- "stocks": [
- {
- "sku": "BarcodeTest123",
- "amount": 10
}
]
}