К содержимому

Документация

Python SDK: Wildberries: товары и регионы

ctx.wildberries() доступен сценарию готового решения. Локальные методы читают настройки; сетевые методы запрашивают карточки и возвращают данные.

Примеры являются фрагментами тела def run(ctx):. Все методы SDK синхронны, await не нужен.

Методы

products

ctx.wildberries().products() -> list[str]

Аргументы не нужны.

Результат: list[str].

Возвращает строки артикулов, указанные в настройках сценария. Метод не отправляет запрос.

result = ctx.wildberries().products()

regions

ctx.wildberries().regions() -> list[dict[str, Any]]

Аргументы не нужны.

Результат: list[dict[str, Any]].

Возвращает регионы из настроек сценария в виде объектов { id, name, code }. В сетевые методы передавайте id, а не code.

result = ctx.wildberries().regions()

cards

ctx.wildberries().cards(ids, region_id) -> list[dict[str, Any]]

Аргумент Тип Обязателен Назначение
ids list[str] Да Список разрешённых идентификаторов.
region_id str Да Идентификатор разрешённого региона, не его отображаемое название.

Результат: list[dict[str, Any]].

Получает до 50 карточек за вызов для выбранного региона. Возвращает массив карточек; цена может быть None, а отсутствующая карточка не добавляется в ответ.

wb = ctx.wildberries()
regions = wb.regions()
if not regions:
    ctx.abort('Select a collection region')
result = wb.cards(wb.products(), regions[0]['id'])

category_query

ctx.wildberries().category_query() -> str

Аргументы не нужны.

Результат: str.

Возвращает поисковую фразу категории из настроек сценария. Сетевого запроса нет.

result = ctx.wildberries().category_query()

max_pages

ctx.wildberries().max_pages() -> int

Аргументы не нужны.

Результат: int.

Возвращает выбранную глубину обхода, ограниченную 1–20 страницами.

result = ctx.wildberries().max_pages()

search

ctx.wildberries().search(region_id, page) -> dict[str, Any]

Аргумент Тип Обязателен Назначение
region_id str Да Идентификатор разрешённого региона, не его отображаемое название.
page int Да Номер страницы в разрешённой глубине.

Результат: dict[str, Any].

Получает страницу выдачи категории. Результат содержит cards, total и page; фраза поиска берётся из настроек сценария.

wb = ctx.wildberries()
regions = wb.regions()
if not regions:
    ctx.abort('Select a collection region')
result = wb.search(regions[0]['id'], 1)

analogs

ctx.wildberries().analogs(region_id) -> dict[str, Any]

Аргумент Тип Обязателен Назначение
region_id str Да Идентификатор разрешённого региона, не его отображаемое название.

Результат: dict[str, Any].

Ищет новые похожие товары и возвращает объект с own_id, ids, new_ids, found_now и query. Вызывайте при каждом повторном сборе.

wb = ctx.wildberries()
regions = wb.regions()
if not regions:
    ctx.abort('Select a collection region')
result = wb.analogs(regions[0]['id'])

details

ctx.wildberries().details(id) -> dict[str, Any]

Аргумент Тип Обязателен Назначение
id str Да Разрешённый идентификатор вложения/товара по контексту.

Результат: dict[str, Any].

Получает описание и характеристики карточки по артикулу. Если карточка временно недоступна, вызов завершится ошибкой.

result = ctx.wildberries().details('12345678')

details_many

ctx.wildberries().details_many(ids) -> dict[str, Any]

Аргумент Тип Обязателен Назначение
ids list[str] Да Список разрешённых идентификаторов.

Результат: dict[str, Any].

Получает описания до 50 артикулов одним вызовом. Возвращает объект, где ключ: артикул; временно недоступные карточки могут отсутствовать.

result = ctx.wildberries().details_many(['12345678'])

title

ctx.wildberries().title(card) -> str

Аргумент Тип Обязателен Назначение
card dict[str, Any] Да Уже полученная карточка источника.

Результат: str.

Возвращает название из уже полученной карточки. Сетевого запроса нет.

result = ctx.wildberries().title({'title': 'Product'})

characteristics

ctx.wildberries().characteristics(card) -> dict[str, Any]

Аргумент Тип Обязателен Назначение
card dict[str, Any] Да Уже полученная карточка источника.

Результат: dict[str, Any].

Возвращает объект характеристик уже полученной карточки. Для полных характеристик сначала вызовите details(id).

result = ctx.wildberries().characteristics({'characteristics': {'size': 'M'}})

Ошибки и контекст выполнения

Все вызовы синхронны. Неверный аргумент или формат данных может вызвать ValueError/TypeError; отказ платформы или недоступность сервиса вызывает RuntimeError. Отсутствие элемента/значения даёт None либо пустой список только там, где это явно описано. Не превращайте любое исключение в пустой успешный результат. Методы внешних сервисов недоступны в преобразовании выгрузки; см. ограничения преобразований и среду.