Список карточек товаров
POST /content/v2/get/cards/listБаза: https://content-api.wildberries.ru · Модуль: items · Раздел: Карточки товаров · Документация спецификации ↗
Метод возвращает список созданных карточек товаров.
В ответе метода не будет карточек, находящихся в корзине. Получить такие карточки можно через отдельный метод
Чтобы получить **больше 100** карточек товаров, используйте пагинацию:
- Сделайте первый запрос:
{
"settings": {
"sort": {
"ascending": true
},
"cursor": {
"limit": 100
},
"filter": {
"withPhoto": -1
}
}
}Чтобы после выгрузки получать только новые или обновлённые карточки товаров, используйте сортировку по возрастанию: "sort":{"ascending":true}. 2. Скопируйте "updatedAt":"\*\*\*","nmID":"\*\*\*" из cursor ответа и вставьте в cursor запроса. 3. Повторите запрос. 4. Повторяйте пункты 2 и 3, пока значение total в ответе не станет меньше, чем значение limit в запросе. Это будет означать, что вы получили все карточки. Чтобы получать только карточки товаров, которые были созданы или обновлены после предыдущей выгрузки данных:
- Сохраните поля
"cursor":{"updatedAt":"\*\*\*","nmID":"\*\*\*"}из последнего ответа предыдущей выгрузки. При выгрузке используйте сортировку по возрастанию:"sort":{"ascending":true}. - Укажите в первом запросе сохранённые поля
"cursor":{"updatedAt":"\*\*\*","nmID":"\*\*\*"}. Продолжайте использовать сортировку по возрастанию. - Сохраните поля
"cursor":{"updatedAt":"\*\*\*","nmID":"\*\*\*"}из последнего ответа текущей выгрузки.
В объекте documents метод возвращает:
- информацию о переданных документах — массив
items - результаты проверки по каждому документу — объект
verdictвitems. Еслиverdictне возвращается в ответе — проверка документа ещё не завершена - результат проверки всей карточки — объект
overallVerdict. Проверка всей карточки включает проверку не только документов, но и других данных. Например, наличия обязательной маркировки и сведений из внешних реестров. ЕслиoverallVerdictне возвращается в ответе — проверка карточки ещё не завершена Проверки документов и карточки выполняются асинхронно и могут занимать до 3 дней. Каждое изменение результата проверки обновляет дату и время изменения карточки в поле ответаupdatedAt. Чтобы получить новые результаты проверки, используйте выгрузку с пагинацией с сортировкой по возрастанию.
Лимит запросов на один профиль продавца:
| Период | Лимит | Интервал | Всплеск |
|---|---|---|---|
| 1 мин | 100 запросов | 600 мс | 5 запросов |
Параметры
| Имя | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
locale | query | string | нет | Язык полей ответа name, value и object: - ru — русский - en — английский - zh — китайский Не используется в песочнице. Данные песочницы возвращаются только на русском языке |
Тело запроса
application/json — схема object, обязательно
settingsobject— Настройкиsortobject— Сортировка по дате и времени изменения карточек товаровupdatedAtascendingboolean— Порядок сортировки: -false— по убыванию -true— по возрастанию
filterobject— Параметры фильтрацииwithPhotointeger<int64>=-1|0|1|2— Фильтр по фото: *-1— любые карточки товаров *0— любые карточки товаров *1— только карточки с фото *2— только карточки без фотоtextSearchstring— Поиск по артикулу продавца, артикулу WB, баркодуtagIDsinteger<int64>[]— Поиск по ID ярлыковallowedCategoriesOnlyboolean— Фильтр по категории: -true— только разрешённые -false— все Не используется в песочницеobjectIDsinteger<int64>[]— Поиск по ID предметовbrandsstring[]— Поиск по брендамimtIDinteger<int64>— Поиск по ID для объединённых карточек товаров
cursorobject— Курсорlimitinteger<int64>— Сколько карточек товаров выдать в ответеupdatedAtstring— Дата и время измененияnmIDinteger<int64>— Артикул WB, с которого надо запрашивать следующий список карточек товаров
Ответы
| Код | Описание | Схема |
|---|---|---|
200 | Успешно | PostV2GetCardsListResponse200 |
400 | Неправильный запрос | responseBodyContentError400 |
401 | Не авторизован | object |
402 | Требуется платёж | object |
403 | Доступ запрещён | responseBodyContentError403 |
429 | Слишком много запросов | object |
Структура 200:
cardsobject[]— Список карточек товаровnmIDinteger<int64>— Артикул WBimtIDinteger<int64>— ID для объединённых карточек товаров. Един для всех артикулов WB группы объединённых карточек. У каждой карточки товара естьimtID, даже если она не объединена с другими карточкамиnmUUIDstring<UUID>— Внутренний технический ID карточки товараsubjectIDinteger<int64>— ID предметаsubjectNamestring— Название предметаvendorCodestring— Артикул продавцаbrandstring— Брендtitlestring— Наименование товараgtinstring— Дополнительный GTIN. Поле вернётся только при заполненном дополнительном GTIN. Только для продавцов из РФdescriptionstring— Описание товараneedKizboolean— Требуется ли код маркировки Честного знака для этого товара: -false— не требуется -true— требуетсяkizMarkedboolean— Есть ли подтверждение от продавца, что обязательный код маркировки Честного знака нанесён на товар: -true— да -false— нет Является ли код маркировки Честного знака обязательным, указано в полеneedKizphotosobject[]— Массив фотоbigstring— URL фото900x1200c246x328string— URL фото248x328c516x688string— URL фото516x688squarestring— URL фото600x600tmstring— URL фото75x100
videostring— URL видеоwholesaleobject— B2B-продажаenabledboolean— Предназначен ли товар для продажи только B2B-покупателям: -true— товар предназначен для продажи только B2B-покупателям -false— товар предназначен для продажи B2B и B2C-покупателямquantumnumber<uint64>— Минимальное количество единиц товара в одной корзине B2B-покупателя. Только при"enable":true
dimensionsobject— Габариты и вес товара c упаковкой, см и кгlengthinteger<int64>— Длина, смwidthinteger<int64>— Ширина, смheightinteger<int64>— Высота, смweightBruttonumber— Вес, кг Количество знаков после запятой <=3isValidboolean— Потенциальная некорректность габаритов товара: -true— не выявлена."isValid":trueне гарантирует, что размеры указаны корректно. В отдельных случаях (например, при создании новой категории товаров)"isValid":trueбудет возвращаться при любых значениях, кроме нулевых. -false— указанные габариты значительно отличаются от средних по категории (предмету). Рекомендуется перепроверить, правильно ли указаны размеры товара в упаковке всантиметрах. Функциональность карточки товара, в том числе начисление логистики и хранения, при этом ограничена не будет. Логистика и хранение продолжают начисляться — по текущим габаритам. Также"isValid":falseвозвращается при отсутствии значений или нулевом значении любой стороны.
documentsobject— Документы, прикреплённые к карточке товара. Результаты проверки каждого документа указаны вitems. Результат проверки всей карточки товара указан вoverallVerdictitemsobject[]— Список документов и результаты проверки каждого документаidstring— ID документаtypeinteger<int64>— Тип документа: -1— Сертификат соответствия -2— Декларация о соответствии -3— Свидетельство о государственной регистрации (СГР) -4— Регистрационное удостоверение (РУ) на медицинские изделия -5— Регистрационное удостоверение Республики Беларусь -7— Данные о регистрации пестицида -8— Данные о регистрации агрохимиката -9— Регистрационное удостоверение (РУ) на лекарственные препаратыnumberstring— Номер документаproductNumberstring— Дополнительный номер документаtradeNamestring— Торговое наименованиеapplicantstring— Представитель изготовителя медицинского изделияstartDatestring— Дата и время начала срока действия документаendDatestring— Дата и время окончания срока действия документаisEndlessboolean— Бессрочный ли документ: -true— да, документ бессрочный -false— нет, у документа есть срок действияverdictobject— Результат проверки документа. Возвращается, когда проверка документа завершенаverifiedboolean— -true— документ проверен -false— документ не проверенstatusinteger<int64>— Результат проверки документа: -1— проверка пройдена -2— проверка не пройденаreasonreasonDocumentadditionalDataobject— Дополнительная информацияcreatedAtstring— Дата проверки документа
createdAtstring— Дата добавления документа
overallVerdictobject— Общий результат проверки всей карточки товара. Возвращается, когда проверка завершена. Результаты проверок отдельных документов и общий результат карточки могут различаться. Например, карточка может пройти проверку, если обязательный документ прошёл проверку, а дополнительный документ не прошёлisFullyCheckedboolean— -true— карточка товара проверена -false— карточка товара не проверенаstatusinteger<int64>— Результат проверки карточки товара: -1— проверка пройдена -2— проверка не пройденаreasonreasonListingcreatedAtstring— Дата и время проверки карточки товара
excludeDocumentsboolean— Подтверждение продавца, что для товара не требуются разрешительные документы: -true— продавец подтверждает, что документы не требуются. Все значения, переданные вdocuments, будут заменены на пустые значения -false— продавец не подтверждает, что документы не требуются Обязательность документов проверяется при создании и изменении карточки товара. Если для товара требуются документы и указано значениеtrue, карточка не пройдёт проверку
characteristicsobject[]— Характеристикиidinteger<int64>— ID характеристикиnamestring— Название характеристикиvalueobject— Значение характеристики. Тип значения зависит от типа характеристики
sizesobject[]— Размеры товараchrtIDinteger<int64>— Числовой ID размера для данного артикула WBtechSizestring— Размер товара (А, XXL, 57 и др.)wbSizestring— Российский размер товараskusstring[]— Баркод товара
tagsobject[]— Ярлыкиidinteger<int64>— ID ярлыкаnamestring— Название ярлыкаcolorstring— Цвет ярлыка. Доступные цвета: -D1CFD7— серый -FEE0E0— красный -ECDAFF— фиолетовый -E4EAFF— синий -DEF1DD— зеленый -FFECC7— желтый
createdAtstring— Дата и время созданияupdatedAtstring— Дата и время изменения
cursorobject— ПагинаторupdatedAtstring— Дата и время, с которых надо запрашивать следующий список карточек товаровnmIDinteger<int64>— Артикул WB, с которого надо запрашивать следующий список карточек товаровtotalinteger<int64>— Количество возвращённых карточек товаров
Структура 400:
dataobject— Данные ошибкиerrorboolean— Флаг ошибкиerrorTextstring— Описание ошибкиadditionalErrorsobject— Дополнительные ошибки
Структура 401:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиcodestring— Внутренний код ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WBstatusnumber— HTTP статус-кодstatusTextstring— Расшифровка HTTP статус-кодаtimestampstring— Дата и время запроса
Структура 402:
titlestring— Заголовок ошибкиdetailstring— Детали ошибки. Ошибка возвращается только сервисам из Каталога решений для бизнеса
Структура 403:
dataobject— Данные ошибкиerrorboolean— Флаг ошибкиerrorTextstring— Описание ошибкиadditionalErrorsstring— Дополнительные ошибки
Структура 429:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиcodestring— Внутренний код ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WBstatusnumber— HTTP статус-кодstatusTextstring— Расшифровка HTTP статус-кодаtimestampstring— Дата и время запроса
Примеры вызова
Аргументы показаны именами параметров — подставьте свои значения. Языки, в клиенте которых этой операции нет, не показаны.
from wb_api_client.items import Configuration, ApiClient
from wb_api_client.items.api import ItemsApi
cfg = Configuration(access_token="<ваш JWT WB>")
api = ItemsApi(ApiClient(cfg))
result = api.post_v2_get_cards_list(post_v2_get_cards_list_request=..., locale=...)
print(result)import {
Configuration,
ItemsApi,
} from "@valeryverkhoturov/wb-api-client/items";
const cfg = new Configuration({});
cfg.setAccessToken("<ваш JWT WB>");
const api = new ItemsApi(cfg);
const { data } = await api.postV2GetCardsList(postV2GetCardsListRequest, locale);
console.log(data);import (
"context"
"fmt"
wbitems "github.com/ValeryVerkhoturov/wb-api-client-go/items"
)
cfg := wbitems.NewConfiguration()
cfg.SetAccessToken("<ваш JWT WB>")
client := wbitems.NewAPIClient(cfg)
result, _, err := client.ItemsAPI.PostV2GetCardsList(context.Background()).PostV2GetCardsListRequest(postV2GetCardsListRequest).Locale(locale).Execute()
if err != nil {
panic(err)
}
fmt.Printf("%+v\n", result)import io.github.valeryverkhoturov.wbapi.items.ApiClient;
import io.github.valeryverkhoturov.wbapi.items.SecretString;
import io.github.valeryverkhoturov.wbapi.items.api.ItemsApi;
ApiClient client = new ApiClient();
client.setAccessToken(new SecretString("<ваш JWT WB>"));
ItemsApi api = new ItemsApi(client);
System.out.println(api.postV2GetCardsList(postV2GetCardsListRequest, locale));use ValeryVerkhoturov\WbApiClient\Items\Configuration;
use ValeryVerkhoturov\WbApiClient\Items\SecretString;
use ValeryVerkhoturov\WbApiClient\Items\Api\ItemsApi;
use GuzzleHttp\Client;
$config = (new Configuration())
->setAccessTokenSecret(new SecretString('<ваш JWT WB>'));
$api = new ItemsApi(new Client(), $config);
print_r($api->postV2GetCardsList($post_v2_get_cards_list_request));#Использовать "wb-api-client"
Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<ваш JWT WB>");
Клиент = Новый ItemsApi(Настройки);
Сообщить(Клиент.PostV2GetCardsList(Тело).Тело);using ValeryVerkhoturov.WbApiClient.Items.Api;
using ValeryVerkhoturov.WbApiClient.Items.Client;
var config = new Configuration();
config.AccessTokenSecret = new SecretString("<ваш JWT WB>");
var api = new ItemsApi(config);
Console.WriteLine(api.PostV2GetCardsList(postV2GetCardsListRequest));use wb_api_client::items::apis::{configuration::Configuration, items_api};
#[tokio::main]
async fn main() {
let mut cfg = Configuration::new();
cfg.set_access_token("<ваш JWT WB>");
let result = items_api::post_v2_get_cards_list(&cfg, post_v2_get_cards_list_request, locale).await;
println!("{:#?}", result);
}