Forcer la réponse JSON
PrestaShop retourne du XML par défaut. Pour obtenir du JSON, ajoutez le paramètre output_format=JSON à chaque requête, ou envoyez le header Accept: application/json.
GET https://boutique.fr/api/products/1?output_format=JSONLire une liste de produits (GET)
curl -u CLÉ_API: "https://boutique.fr/api/products?output_format=JSON&limit=10&sort=id_product_DESC"Paramètres de filtrage disponibles :
limitetoffsetpour la paginationfilter[active]=[1]pour les produits actifs uniquementdisplay=[id,name,price,quantity]pour limiter les champs retournés
Modifier un produit (PUT)
Les modifications passent par du XML, même si vous lisez en JSON. C'est le comportement natif de l'API WebService :
- Récupérez le schéma de la ressource :
GET /api/products/1?schema=blank&output_format=JSON - Modifiez uniquement les champs nécessaires
- Envoyez un PUT avec le XML complet de la ressource
Les pièges à éviter
- Erreur 403 sur une ressource spécifique : vérifiez les permissions granulaires de votre clé, pas seulement son existence
- Erreur 500 silencieuse sur un module custom : vérifiez que la ressource WebService est correctement déclarée dans le module (flag
$definitioncomplet, schéma présent) - Champs manquants dans la réponse : utilisez le paramètre
display=fullpour obtenir toutes les données, puis affinez avecdisplay=[champ1,champ2]
Une intégration WebService solide commence toujours par 30 minutes de tests manuels avec curl, avant d'écrire le moindre code applicatif. Ce temps investi en amont évite des heures de debug en aval.



