import 'dotenv/config'; import { MagnitApiScraper } from '../../scrapers/api/magnit/MagnitApiScraper.js'; import { Logger } from '../../utils/logger.js'; async function main() { const storeCode = process.env.MAGNIT_STORE_CODE || '992301'; const productId = '1000233138'; // Из inspect скрипта const scraper = new MagnitApiScraper({ storeCode, storeType: process.env.MAGNIT_STORE_TYPE || '6', catalogType: process.env.MAGNIT_CATALOG_TYPE || '1', headless: process.env.MAGNIT_HEADLESS !== 'false', }); try { await scraper.initialize(); Logger.info(`Попытка получить детали товара ${productId}...\n`); // Пробуем разные возможные endpoints для деталей товара const endpoints = [ `/webgate/v2/goods/${productId}`, `/webgate/v2/products/${productId}`, `/webgate/v2/catalog/product/${productId}`, `/webgate/v2/goods/detail/${productId}`, ]; for (const endpoint of endpoints) { try { Logger.info(`Пробую: ${endpoint}`); const response = await (scraper as any).httpClient.get(endpoint); Logger.info(`✅ Успех! Status: ${response.status}`); Logger.info(JSON.stringify(response.data, null, 2)); break; // Если успешно, выходим из цикла } catch (error: any) { if (error.response?.status === 404) { Logger.info(` ❌ 404 Not Found`); } else if (error.response?.status === 403) { Logger.info(` ❌ 403 Forbidden (нужна аутентификация)`); } else { Logger.info(` ❌ ${error.response?.status || error.message}`); } } } } catch (error) { Logger.error('❌ Ошибка:', error); process.exit(1); } finally { await scraper.close(); } } main();