🍒 wb-private-api
NodeJS модуль. Работает через приватное API Wildberries
npm i wb-private-api
После установки рекомендую протестировать работоспособность
npm run test
Если все результаты положительные, значит библиотека полностью работоспособна и сервера WB отвечают верно. В случае, если каки-либо тесты отрицательные, прошу создать обращение https://github.com/glmn/wb-private-api/issues . Данный модуль развивается мною в одиночку (надеюсь, что пока что), буду обрабатывать обращения и вносить правки по возможности.
Пример работы
const WBPrivateAPI = require('WBPrivateAPI');
const wbapi = new WBPrivateAPI();
(async () => {
const KEYWORD = 'менструальные чаши';
const catalog = await wbapi.search(KEYWORD, 2);
const ads = await wbapi.getSearchAds(KEYWORD);
console.log(`
Ключевое слово: ${KEYWORD}
Найдено товаров: ${catalog.totalProducts}
Всего страниц: ${catalog.pages}
Всего рекламодателей: ${ads.adverts.length}
Самый высокий CPM: ${ads.adverts[0].cpm} Рублей
`);
const product = catalog.page(1)[0];
const stocks = await product.getStocks();
const promo = await product.getPromo();
console.log(stocks, product.totalStocks, promo);
})();
WBPrivateAPI
методы
.search(keyword, pageCount)
- Поиск всех товаров по Ключевому слову keyword
. pageCount
отвечает за кол-во необходимых страниц для прохода. Если pageCount = 0
, то будет взяты все страницы или 100
, если их больше. (Возвращает объект WBCatalog
)
.getSearchAds(keyword)
- Поиск рекламодателей (в разделе Поиск) по Ключевому слову
.getCarouselAds(keyword)
- Поиск рекламодателей внутри карточке в каруселе "Рекламный блок"
.keyHint(query)
- Возвращает список подсказок из поиска WB по фразе query
.searchSimilarByNm(productId)
- Возвращает список похожих товаров (как в разделе "Похожие товары" внутри карточки на WB)
WBCatalog
методы
.page(number)
- Возвращает массив товаров с заданной страницы (массив состоит из объектов WBProduct
)
.getPosition(productId)
- Возвращает номер позиции по заданному SKU. Если такого SKU в выдаче нет, то вернёт -1
WBProduct
методы
.create(id)
- Статичный метод. Использовать в виде WBProduct.create(id)
. Где id
= Артикул товара
. Метод асинхронный, поэтому перед вызовом используйте await
. Вернет объект WBProduct
.totalStocks
- Вернёт сумму остатков товара со всех складов (!) предварительно вызвать .getStocks()
)
.getStocks()
- Присвоет (и вернет) свойству stocks
массив с данными об остатках на складе
.getPromo()
- Присвоет (и вернет) свойству promo
объект с данными об участии в промо-акции
.getFeedbacks()
- Присвоет (и вернет) свойству feedbacks
массив со всеми отзывами WBFeedback
о товаре
.getQuestions()
- Присвоет (и вернет) свойству questions
массив со всеми вопросами WBQuestion
о товаре
WBFeedback
методы
.getPhotos(size='min')
- Вернет ссылки на все фотографии в текущем отзыве. size
по умолчанию = min
. Заменить на full
если необходим большой размер