. {{ product.name }} from flask import Flask, request, jsonify, render_template import requests import json from jinja2 import Template # ======== Load config ======== with open("config.json") as f: config = json.load(f) ACCESS_TOKEN = config["access_token"] SITE_URL = config["site_url"] BRAND_NAME = config["brand_name"] INDEXING_API_URL = "https://indexing.googleapis.com/v3/urlNotifications:publish" app = Flask(__name__, template_folder="templates") def notify_google(product_url): headers = { "Content-Type": "application/json", "Authorization": f"Bearer {ACCESS_TOKEN}" } data = { "url": product_url, "type": "URL_UPDATED" } response = requests.post(INDEXING_API_URL, headers=headers, json=data) return response.status_code, response.text # ======== Webhook endpoint ======== @app.route("/google-indexing", methods=["POST"]) def google_indexing(): data = request.json product_slug = data.get("slug") if not product_slug: return jsonify({"error": "No product slug provided"}), 400 product_data = { "name": data.get("name"), "short_description": data.get("short_description"), "description": data.get("description"), "sku": data.get("sku"), "price": data.get("price"), "image_url": data.get("image_url"), "tags": data.get("tags", []), "url": f"{SITE_URL}/product/{product_slug}" } # Render template HTML (Optional: برای ایندکس بهتر گوگل) template = render_template("product_template.html", product=product_data, brand_name=BRAND_NAME) with open(f"rendered_products/{product_slug}.html", "w", encoding="utf-8") as f: f.write(template) # Notify Google Indexing API status, result = notify_google(product_data["url"]) return jsonify({"status": status, "result": result}) if __name__ == "__main__": app.run(host="0.0.0.0", port=5000)
جستجو در محصولات
کالایی در این صفحه موجود نیست
    پروفایلسبد خریددسته‌بندیخانه