TypeScript SDK: Wildberries: товары и регионы
ctx.wildberries() доступен сценарию готового решения. Локальные методы читают настройки; сетевые методы запрашивают карточки и возвращают данные.
Примеры — отдельные фрагменты тела async function run(ctx: Akmelo.Context): Promise<void>. Используйте await только для методов с Promise в сигнатуре.
Методы
products()regions()cards()categoryQuery()maxPages()search()analogs()details()detailsMany()title()characteristics()
products
ctx.wildberries().products() → Array<string>
Возвращает строки артикулов, указанные в настройках сценария. Метод не отправляет запрос.
const result = ctx.wildberries().products();
regions
ctx.wildberries().regions() → Array<{ id: string, name: string, code: number }>
Возвращает регионы из настроек сценария в виде объектов { id, name, code }. В сетевые методы передавайте id, а не code.
const result = ctx.wildberries().regions();
cards
ctx.wildberries().cards(ids, regionId) → Promise<Array<object>>
Получает до 50 карточек за вызов для выбранного региона. Возвращает массив карточек; цена может быть null, а отсутствующая карточка не добавляется в ответ.
const region = ctx.wildberries().regions()[0];
if (!region) ctx.abort('Выберите регион сбора');
const result = await ctx.wildberries().cards(ctx.wildberries().products(), region.id);
categoryQuery
ctx.wildberries().categoryQuery() → string
Возвращает поисковую фразу категории из настроек сценария. Сетевого запроса нет.
const result = ctx.wildberries().categoryQuery();
maxPages
ctx.wildberries().maxPages() → number
Возвращает выбранную глубину обхода, ограниченную 1–20 страницами.
const result = ctx.wildberries().maxPages();
search
ctx.wildberries().search(regionId, page) → Promise<object>
Получает страницу выдачи категории. Результат содержит cards, total и page; фраза поиска берётся из настроек сценария.
const region = ctx.wildberries().regions()[0];
if (!region) ctx.abort('Выберите регион сбора');
const result = await ctx.wildberries().search(region.id, 1);
analogs
ctx.wildberries().analogs(regionId) → Promise<object>
Ищет новые похожие товары и возвращает объект с own_id, ids, new_ids, found_now и query. Вызывайте при каждом повторном сборе.
const region = ctx.wildberries().regions()[0];
if (!region) ctx.abort('Выберите регион сбора');
const result = await ctx.wildberries().analogs(region.id);
details
ctx.wildberries().details(id) → Promise<object>
Получает описание и характеристики карточки по артикулу. Если карточка временно недоступна, вызов завершится ошибкой.
const result = await ctx.wildberries().details('12345678');
detailsMany
ctx.wildberries().detailsMany(ids) → Promise<object>
Получает описания до 50 артикулов одним вызовом. Возвращает объект, где ключ — артикул; временно недоступные карточки могут отсутствовать.
const result = await ctx.wildberries().detailsMany(['12345678']);
title
ctx.wildberries().title(card) → string
Возвращает название из уже полученной карточки. Сетевого запроса нет.
const result = ctx.wildberries().title({ title: 'Товар' });
characteristics
ctx.wildberries().characteristics(card) → object
Возвращает объект характеристик уже полученной карточки. Для полных характеристик сначала вызовите details(id).
const result = ctx.wildberries().characteristics({ characteristics: { size: 'M' } });