mon_ecommerce_ai / import_prestashop.py
adel67460's picture
Update import_prestashop.py
a5bd968 verified
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 []