Как получить все продукты по API?

Согласно документации я хочу получить все товары, но как бы я не менял параметр per_page, не выдает все товары и сколько страниц с товарами не могу узнать.

Вопрос как получить все товары по api?

const getProductsFromSite = async() => {
    // Parse paginated page
    let paginate = [];
    let page = 1;

    let response = await WooCommerce.get(`products?page=${page}`, {
        per_page: 100
    })

    while (response.data.length >= 1) {
        paginate = [...paginate, ...response.data]
        console.log({id: response.data[0].id, total: paginate.length, page})

        page++;
        response = await WooCommerce.get(`products?page=${page}`, {per_page: 100})
    }


    let products = await Promise.all(response.data.map( item => {
       const {id, sku, regular_price, manage_stock, stock_quantity} = item;
       if(sku) return {id, sku, regular_price, manage_stock, stock_quantity}
    }).filter(Boolean))

    return products 
}
  • Вопрос задан
  • 210 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы