Listings
POST /content/v2/get/cards/listBase URL: https://content-api.wildberries.ru · Module: items · Section: Listings · Specification doc ↗
Returns the listings.
Listings from the trash are not provided in the method response. You can get these listings via different method
To get **more than 100** listings, use pagination:
- Make the first request:
{
"settings": {
"sort": {
"ascending": true
},
"cursor": {
"limit": 100
},
"filter": {
"withPhoto": -1
}
}
}To get only new or updated listings after data export, use ascending sorting: "sort":{"ascending":true}. 2. Copy "updatedAt": "\*\*\*","nmID":"\*\*\*" from the cursor in the response and insert into the cursor of your next request. 3. Make the next request. 4. Repeat 2 and 3 until total value in the response is less than the limit value in the request. This will mean you got all listings. To get only items that were listed or updated after the previous data export:
- Save the
"cursor":{"updatedAt":"\*\*\*","nmID":"\*\*\*"}fields from the last response of the previous data export. When exporting the data, use ascending sorting:"sort":{"ascending":true}. - Specify the saved
"cursor":{"updatedAt":"\*\*\*","nmID":"\*\*\*"}fields in the first request. Keep using ascending sorting. - Save the
"cursor":{"updatedAt":"\*\*\*","nmID":"\*\*\*"}fields from the last response of the current data export. In thedocumentsobject, the method returns:
- information about the added documents — the
itemsarray - the validation results for each document — the
verdictobject initems'. Ifverdict` is not returned in the response, the document validation is not completed yet - the validation result for the entire listing — the
overallVerdictobject. During the listing validation, not only the results of the document validation are taken into account, but also other data. For example, the data of required labeling codes and information from external registries. IfoverallVerdictis not returned in the response, the listing validation is not completed yet Document and listing validations are performed asynchronously and can take up to 3 days. Each change in the validation result updates the date and time in theupdatedAtresponse field. To get new validation results, use pagination uploads sorted in ascending order.
Request limit per one seller account:
| Period | Limit | Interval | Burst |
|---|---|---|---|
| 1 min | 100 requests | 600 ms | 5 requests |
Parameters
| Name | In | Type | Req. | Description |
|---|---|---|---|---|
locale | query | string | no | Language for response of the name, value and object fields: - ru — Russian - en — English - zh — Chinese Not used in the sandbox. The sandbox data is returned only in Russian |
Request body
application/json — schema object, required
settingsobject— Settingssortobject— Sorting byupdatedAt— date and time listings were updatedascendingboolean— Sorting order: -false— descending -true— ascending
filterobject— FilterswithPhotointeger<int64>=-1|0|1|2— Photo: *-1— any listings *0— any listings *1— only listings with photos *2— only listings without photostextSearchstring— Seller item number, WB item number or SKU searchtagIDsinteger<int64>[]— Label ID searchallowedCategoriesOnlyboolean— Category: -true— permitted -false— forbidden Not used in the sandboxobjectIDsinteger<int64>[]— Subcategory ID searchbrandsstring[]— Brand searchimtIDinteger<int64>— Merged listing ID search
cursorobject— Cursorlimitinteger<int64>— Number of listings in the responseupdatedAtstring— Update date and timenmIDinteger<int64>— WB item number for the next listing page
Responses
| Code | Description | Schema |
|---|---|---|
200 | Success | PostV2GetCardsListResponse200 |
400 | Bad request | responseBodyContentError400 |
401 | Unauthorized | object |
402 | Payment required | object |
403 | Access denied | responseBodyContentError403 |
429 | Too many requests | object |
Structure 200:
cardsobject[]— ListingsnmIDinteger<int64>— WB item numberimtIDinteger<int64>— Merged listing ID. The same for all WB item number of group of merged listings. Every listing hasimtID, even if is not merged with any other listingnmUUIDstring<UUID>— Internal system ID of the listingsubjectIDinteger<int64>— Subcategory IDsubjectNamestring— Subcategory namevendorCodestring— Seller item numberbrandstring— Brandtitlestring— Item titlegtinstring— Additional GTIN. The field is returned only if an additional GTIN is specified. Only for sellers from the Russiandescriptionstring— Item descriptionneedKizboolean— Is labeling code Chestny ZNAK required for the item: -false— labeling code is not required -true— labeling code is requiredkizMarkedboolean— Is there the confirmation from the seller that required labeling code Chestny ZNAK is applied to the item: -true— yes -false— no Whether labeling code Chestny ZNAK is required is specified in theneedKizfieldphotosobject[]— Photo arraybigstring— URL of900x1200photoc246x328string— URL of248x328photoc516x688string— URL of516x688photosquarestring— URL of600x600phototmstring— URL of75x100photo
videostring— Video URLwholesaleobject— B2B saleenabledboolean— Is the item intended for sale only to B2B buyers: -true— the item is intended for sale only to B2B buyers -false— the item is intended for sale to B2B and B2C buyersquantumnumber<uint64>— Minimum number of items in one cart of B2B buyer. Only when"enable":true
dimensionsobject— Dimensions and weight of packed item in cm and kglengthinteger<int64>— Length, cmwidthinteger<int64>— Width, cmheightinteger<int64>— Height, cmweightBruttonumber— Weight, kg Number of decimal places <=3isValidboolean— Potential inaccuracy of item dimensions: -true— not detected."isValid": truedoes not guarantee that the dimensions are correct. In some cases (for example, when creating a new item category),"isValid": truewill be returned for any values except zero. -false— the specified dimensions significantly differ from the average for the category (subcategory). it is recommended to double-check whether the item dimensions in the packaging are correctly specified incentimeters. The functionality of the listing, including the calculation of logistics and storage, will not be limited. Logistics and storage will continue to be calculated based on the current dimensions. Also,"isValid": falseis returned when there are missing values or any dimension is zero.
documentsobject— Documents added to the listing. Validation results for each document specified initems. Validation result of the entire listing specified inoverallVerdictitemsobject[]— Document list and validation results for each documentidstring— Document IDtypeinteger<int64>— Document type: -1— Certificate of Conformity -2— The Correspondence Declaration -3— Certificate of Registration of SGR -4— Registration Certificate -5— Certificate of Registration of the Republic of Belarus -7— Registration of a Pesticide -8— Registration of an Agrochemical -9— Medicine Registration Certificatenumberstring— Document numberproductNumberstring— Additional document numbertradeNamestring— Trade nameapplicantstring— Representative of the medical device manufacturerstartDatestring— Document start date and timeendDatestring— Document end date and timeisEndlessboolean— Is the document valid indefinitely: -true— yes, the document is indefinite -false— no, the document has an expiration dateverdictobject— Document validation result. Returns when the document validation is completedverifiedboolean— -true— the document is validated -false— the document is not validatedstatusinteger<int64>— Document validation result: -1— validation passed -2— validation failedreasonreasonDocumentadditionalDataobject— Additional datacreatedAtstring— Listing validation date
createdAtstring— Date the document was added
overallVerdictobject— The overall result of the entire listing validation. Returns when the validation is completed. The results of current documents validation and the overall result of the listing may vary. For example, a listing can pass validation if the required document passed validation, but the additional document failedisFullyCheckedboolean— -true— the listing is validated -false— the listing is not validatedstatusinteger<int64>— Listing validation result: -1— validation passed -2— validation failedreasonreasonListingcreatedAtstring— Listing validation date and time
excludeDocumentsboolean— Seller confirmation that no permits are required for the item: -true— yes, seller confirms that no permits are required. All values passed todocumentswill be replaced with empty values -false— no, seller does not confirm that no permits are required Whether the permits are required is checked when creating and changing the listing. If permits are required for the item and the valuetrueis specified, the listing will not pass validation
characteristicsobject[]— Characteristicsidinteger<int64>— Characteristic IDnamestring— Characteristic namevalueobject— Characteristic value
sizesobject[]— Item sizeschrtIDinteger<int64>— Size IDtechSizestring— Size (for example, S or 42)wbSizestring— Russian sizeskusstring[]— SKU
tagsobject[]— Labelsidinteger<int64>— Label IDnamestring— Label namecolorstring— Label color: -D1CFD7— grey -FEE0E0— red -ECDAFF— purple -E4EAFF— blue -DEF1DD— green -FFECC7— yellow
createdAtstring— Creation date and timeupdatedAtstring— Update date and time
cursorobject— PaginatorupdatedAtstring— Date and time for the next listing pagenmIDinteger<int64>— WB item number for the next listing pagetotalinteger<int64>— Number of listings
Structure 400:
dataobject— Error dataerrorboolean— Error flagerrorTextstring— Error descriptionadditionalErrorsobject— Additional errors
Structure 401:
titlestring— Error titledetailstring— Error detailscodestring— Internal error coderequestIdstring— Unique request IDoriginstring— WB internal service IDstatusnumber— HTTP status codestatusTextstring— Text of the HTTP status codetimestampstring— Request date and time
Structure 402:
titlestring— Error titledetailstring— Error details. The error is only returned to services from the Solutions for business Catalog
Structure 403:
dataobject— Error dataerrorboolean— Error flagerrorTextstring— Error descriptionadditionalErrorsstring— Additional errors
Structure 429:
titlestring— Error titledetailstring— Error detailscodestring— Internal error coderequestIdstring— Unique request IDoriginstring— WB internal service IDstatusnumber— HTTP status codestatusTextstring— Text of the HTTP status codetimestampstring— Request date and time
Call examples
Arguments are shown as parameter names — substitute your own values. Languages whose client does not expose this operation are omitted.
from wb_api_client.items import Configuration, ApiClient
from wb_api_client.items.api import ItemsApi
cfg = Configuration(access_token="<your WB JWT>")
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("<your WB JWT>");
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("<your WB JWT>")
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("<your WB JWT>"));
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('<your WB JWT>'));
$api = new ItemsApi(new Client(), $config);
print_r($api->postV2GetCardsList($post_v2_get_cards_list_request));#Использовать "wb-api-client"
Настройки = Новый Конфигурация();
Настройки.УстановитьТокен("<your WB JWT>");
Клиент = Новый ItemsApi(Настройки);
Сообщить(Клиент.PostV2GetCardsList(Тело).Тело);using ValeryVerkhoturov.WbApiClient.Items.Api;
using ValeryVerkhoturov.WbApiClient.Items.Client;
var config = new Configuration();
config.AccessTokenSecret = new SecretString("<your WB JWT>");
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("<your WB JWT>");
let result = items_api::post_v2_get_cards_list(&cfg, post_v2_get_cards_list_request, locale).await;
println!("{:#?}", result);
}