🔌 Module 37
5

Premières requêtes CRUD : lire, créer, modifier via l'API

Leçon 5 / 5 — 2h

« Pour atteindre la vérité, il faut une fois dans la vie douter de tout. »

R

René Descartes

Le Méthodique · 1596-1650

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=JSON

Lire 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 :

  • limit et offset pour la pagination
  • filter[active]=[1] pour les produits actifs uniquement
  • display=[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 :

  1. Récupérez le schéma de la ressource : GET /api/products/1?schema=blank&output_format=JSON
  2. Modifiez uniquement les champs nécessaires
  3. 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 $definition complet, schéma présent)
  • Champs manquants dans la réponse : utilisez le paramètre display=full pour obtenir toutes les données, puis affinez avec display=[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.

A retenir : Testez chaque endpoint avec curl avant de l'intégrer dans votre code : une requête qui fonctionne en curl fonctionne partout — c'est votre contrat de base avec l'API.

Questions & Réponses

Une question sur cette leçon ? L'IA répond automatiquement.

Vos questions et les réponses IA sont publiques et enrichissent le cours pour tous. Votre email est utilisé uniquement pour l'authentification (base légale : intérêt légitime, durée : 3 ans). Politique de confidentialité.