Список несозданных карточек товаров с ошибками
POST /content/v2/cards/error/listБаза: https://content-api.wildberries.ru · Модуль: items · Раздел: Карточки товаров · Документация спецификации ↗
Метод возвращает список карточек товаров (черновиков), при создании или редактировании которых произошли ошибки, с описанием этих ошибок.
Данные в ответе возвращаются пакетами batch. Один пакет содержит:
- все ошибки по одному массиву
variantsодного запроса при создании карточек товаров - все ошибки одного запроса при создании с присоединением или редактировании карточек товаров
Чтобы получить более 100 пакетов, используйте пагинацию:
- Сделайте первый запрос:
{
"cursor": {
"limit": 100
},
"order": {
"ascending": true
}
}- Скопируйте
"updatedAt":"\*\*\*","batchUUID":"\*\*\*"изcursorответа и вставьте вcursorзапроса. - Повторите запрос.
- Повторяйте пункты 2 и 3, пока не получите в ответе
"next":false. Это будет означать, что вы получили все пакеты.
Чтобы удалить карточку товара из списка, сделайте ещё один запрос на создание, создание с присоединением или редактирование карточки товара с исправленными ошибками
Лимит запросов на один профиль продавца для методов:
| Период | Лимит | Интервал | Всплеск |
|---|---|---|---|
| 1 мин | 10 запросов | 6 сек | 5 запросов |
В песочнице — максимум 1 запрос в секунду суммарно для всех методов Контента.
Параметры
| Имя | Где | Тип | Обяз. | Описание |
|---|---|---|---|---|
locale | query | string | нет | Язык названий предметов: - ru — русский - en — английский - zh — китайский Не используется в песочнице |
Тело запроса
application/json — схема requestPublicViewerPublicErrorsTableListV2, обязательно
cursorswagger.PublicErrorsCursorInputlimitnumber<int>— Количество пакетов в ответеupdatedAtstring— Дата и время формирования последнего пакета в ответе на предыдущий запросbatchUUIDstring<UUID>— ID последнего пакета в ответе на предыдущий запрос
orderswagger.PublicErrorsOrderV2ascendingboolean— -false— сортировка по убыванию -true— сортировка по возрастанию
Ответы
| Код | Описание | Схема |
|---|---|---|
200 | Успешно | responsePublicViewerPublicErrorsTableListV2 |
400 | Неправильный запрос | responseBodyContentError400 |
401 | Не авторизован | object |
403 | Доступ запрещён | responseBodyContentError403 |
429 | Слишком много запросов | object |
Структура 200:
datamodels.ErrorTableListPublicRespV2itemsmodels.ErrorTableListPublicRespV2Item[]— Пакеты данныхbatchUUIDstring<UUID>— ID пакетаsubjectsobject— Предметы. Разбивка поvendorCodesbrandsobject— Бренды. Разбивка поvendorCodesvendorCodesstring[]— Артикулы продавцаerrorsobject— Ошибки. Разбивка поvendorCodesupdatedAtstring— Дата и время создания или редактирования пакета
cursorviewer_contract.PublicErrorsCursorOutputnextboolean— Есть ли ещё черновики: -false— нет -true— даupdatedAtstring— Дата и время формирования последнего пакета в ответеbatchUUIDstring<UUID>— ID последнего пакета в ответе
errorboolean— Флаг ошибкиerrorTextstring— Описание ошибкиadditionalErrorsobject— Дополнительные ошибки
Структура 400:
dataobject— Данные ошибкиerrorboolean— Флаг ошибкиerrorTextstring— Описание ошибкиadditionalErrorsobject— Дополнительные ошибки
Структура 401:
titlestring— Заголовок ошибкиdetailstring— Детали ошибкиcodestring— Внутренний код ошибкиrequestIdstring— Уникальный ID запросаoriginstring— ID внутреннего сервиса WBstatusnumber— HTTP статус-кодstatusTextstring— Расшифровка HTTP статус-кодаtimestampstring— Дата и время запроса
Структура 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_cards_error_list(request_public_viewer_public_errors_table_list_v2=..., 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.postV2CardsErrorList(requestPublicViewerPublicErrorsTableListV2, 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.PostV2CardsErrorList(context.Background()).RequestPublicViewerPublicErrorsTableListV2(requestPublicViewerPublicErrorsTableListV2).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.postV2CardsErrorList(requestPublicViewerPublicErrorsTableListV2, 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->postV2CardsErrorList($request_public_viewer_public_errors_table_list_v2));#Использовать "wb-api-client"
Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<ваш JWT WB>");
Клиент = Новый ItemsApi(Настройки);
Сообщить(Клиент.PostV2CardsErrorList(Тело).Тело);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.PostV2CardsErrorList(requestPublicViewerPublicErrorsTableListV2));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_cards_error_list(&cfg, request_public_viewer_public_errors_table_list_v2, locale).await;
println!("{:#?}", result);
}