// npm install puppeteer node-fetch const puppeteer = require('puppeteer'); const fetch = require('node-fetch'); // ⚙️ تنظیمات const SITE_URL = 'https://yoursite.com/admin/products'; // صفحه محصولات میکسین const USERNAME = 'username_اینجا'; const PASSWORD = 'password_اینجا'; const API_KEY = "API_KEY_خودت_اینجا"; const SHOP_ID = "SHOP_ID_خودت_اینجا"; const API_URL = "https://api.trebsale.com/v1/products"; // تابع ارسال محصول به ترب async function sendProduct(product) { try { const response = await fetch(API_URL, { method: 'POST', headers: { 'Authorization': `Bearer ${API_KEY}`, 'Content-Type': 'application/json', 'Accept': 'application/json' }, body: JSON.stringify(product) }); const data = await response.json(); if (response.ok) { console.log(`✅ محصول '${product.title}' ارسال شد`, data); return true; } else { console.error(`❌ خطا در ارسال '${product.title}':`, data); return false; } } catch (err) { console.error(`❌ خطای شبکه برای '${product.title}':`, err); return false; } } // تابع اصلی Puppeteer async function run() { const browser = await puppeteer.launch({ headless: true }); const page = await browser.newPage(); // ورود به پنل میکسین await page.goto(SITE_URL, { waitUntil: 'networkidle2' }); await page.type('#username', USERNAME); // جایگزین با selector واقعی await page.type('#password', PASSWORD); await page.click('#login-button'); // جایگزین با selector واقعی await page.waitForNavigation({ waitUntil: 'networkidle2' }); // گرفتن محصولات جدید از جدول const products = await page.evaluate(() => { // ⚠️ باید selector واقعی جدول محصولات سایت شما جایگزین شود const rows = Array.from(document.querySelectorAll('table#products tbody tr')); return rows.map(row => ({ title: row.querySelector('.product-title').innerText.trim(), price: parseInt(row.querySelector('.product-price').innerText.replace(/\D/g,'')), sku: row.querySelector('.product-sku').innerText.trim(), stock: parseInt(row.querySelector('.product-stock').innerText), description: row.querySelector('.product-description').innerText.trim() })); }); console.log(`محصولات پیدا شده: ${products.length}`); // ارسال هر محصول به ترب for (const product of products) { await sendProduct(product); } await browser.close(); console.log("✅ ارسال خودکار تمام شد!"); } // اجرا هر 5 دقیقه run(); setInterval(run, 5 * 60 * 1000);
🎁 کد تخفیف ویژه اولین خرید: naniwa | ارسال سریع به سراسر کشور 🚀.