import requests import json PRESTASHOP_API_URL = "https://ton-site-prestashop.fr/api/products?output_format=JSON&display=full" PRESTASHOP_API_KEY = "SI4TMK8J6Z38DJ4SB29GAMUQP7MF9EQI" def fetch_prestashop_products(): """Récupère les produits depuis PrestaShop avec gestion d'erreurs améliorée""" headers = {"Authorization": f"Basic {PRESTASHOP_API_KEY}", "Accept": "application/json"} try: print("🔍 Test de connexion à l'API PrestaShop...") response = requests.get(PRESTASHOP_API_URL, headers=headers, timeout=5) if response.status_code != 200: print(f"❌ Erreur: Statut {response.status_code} - {response.text}") return [] data = response.json() print("🔍 Données brutes reçues de PrestaShop:", json.dumps(data, indent=2)) # Debugging products = data.get("products", []) if not products: print("⚠️ Aucun produit trouvé dans PrestaShop !") return [] structured_products = [] for product in products: try: structured_products.append({ "title": product.get("name", {}).get("language", [{}])[0].get("value", "Produit inconnu"), "category": product.get("category", "Non classé"), "price": float(product.get("price", 0.0)), "id": product.get("id", "N/A") }) except Exception as e: print(f"⚠️ Erreur lors du traitement d'un produit: {e}") return structured_products except requests.exceptions.ConnectionError: print("❌ Erreur : Impossible de se connecter à PrestaShop. Vérifie l'URL et la connexion Internet.") except requests.exceptions.Timeout: print("❌ Erreur : Délai d'attente dépassé pour l'API PrestaShop.") except requests.exceptions.RequestException as e: print(f"❌ Erreur API PrestaShop : {e}") return []