import requests import json import time from datetime import datetime # تنظیم آدرس دادهها BASE_URL = "https://lavasemkhangi.ir/api/torob/v3/products/" TOROB_API = "https://api.torob.com/v3/update_products/" EMALZ_API = "https://api.emalls.ir/v1/products/update" BANUKALA_API = "https://api.banookala.ir/v1/sync" DIGIKALA_API = "https://api.digikala.com/merchants/update" TOKENS = { "torob": "TOROB_ACCESS_TOKEN", "emalz": "EMALZ_ACCESS_TOKEN", "banukala": "BANUKALA_ACCESS_TOKEN", "digikala": "DIGIKALA_ACCESS_TOKEN", } def fetch_products(): res = requests.get(BASE_URL, timeout=10) res.raise_for_status() return res.json() def build_payload(product): seo = auto_seo_optimization(product) schema = { "@context": "https://schema.org/", "@type": "Product", "name": seo["seo"]["title"], "image": product["image"], "description": seo["seo"]["meta_description"], "brand": product["brand"], "offers": { "@type": "Offer", "priceCurrency": "IRR", "price": str(product["price"]), "availability": "InStock" if product["stock"] > 0 else "OutOfStock" } } return {**product, "seo": seo["seo"], "schema": schema} def auto_seo_optimization(product): t = f"خرید {product['name']} با قیمت عالی - فروشگاه لوازم خانگی" m = f"قیمت و مشخصات {product['name']} با گارانتی اصلی، ارسال فوری و تخفیف ویژه." k = f"{product['name']}, خرید {product['brand']}, لوازم خانگی ارزان" product["seo"] = {"title": t, "meta_description": m, "keywords": k} return product def push(product, platform): headers = {"Authorization": f"Token {TOKENS[platform]}", "Content-Type": "application/json"} data = build_payload(product) url = {"torob": TOROB_API, "emalz": EMALZ_API, "banukala": BANUKALA_API, "digikala": DIGIKALA_API}[platform] r = requests.post(url, json=data, headers=headers) status = "✅ موفق" if r.status_code == 200 else f"❌ خطا {r.status_code}" print(f"{platform}: محصول {product['id']} → {status}") def sync_all(): products = fetch_products() print(f"{datetime.now()} | شروع همگامسازی {len(products)} محصول") for product in products: for platform in ["torob", "emalz", "banukala", "digikala"]: push(product, platform) time.sleep(0.5) print("🚀 همگامسازی کامل شد") if __name__ == "__main__": sync_all()
🎁 کد تخفیف ویژه اولین خرید: naniwa | ارسال سریع به سراسر کشور 🚀.