Python SDK: Wildberries: товары и регионы
ctx.wildberries() доступен сценарию готового решения. Локальные методы читают настройки; сетевые методы запрашивают карточки и возвращают данные.
Примеры являются фрагментами тела def run(ctx):. Все методы SDK синхронны, await не нужен.
Методы
products()regions()cards()category_query()max_pages()search()analogs()details()details_many()title()characteristics()
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 либо пустой список только там, где это явно описано. Не превращайте любое исключение в пустой успешный результат. Методы внешних сервисов недоступны в преобразовании выгрузки; см. ограничения преобразований и среду.