File size: 1,985 Bytes
90b7683
 
 
709ba83
7f71abb
90b7683
 
7f71abb
 
a5bd968
90b7683
65f6dfa
 
 
 
 
 
 
90b7683
a5bd968
7f71abb
65f6dfa
b67b0f2
7f71abb
 
 
90b7683
7f71abb
 
a5bd968
 
 
 
 
 
 
 
 
90b7683
7f71abb
90b7683
65f6dfa
 
 
 
90b7683
 
65f6dfa
a5bd968
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
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 []