Admin API et Webservice dans PrestaShop 9 : quand utiliser l'un ou l'autre
PrestaShop 9 inaugure une API d'administration moderne, mais le Webservice de toujours est encore là. Nous vous aidons à choisir pour votre intégration.
Pendant plus de dix ans, la façon de dialoguer avec PrestaShop depuis l'extérieur a été le Webservice : une API REST en XML (ou JSON) avec une clé par intégration. PrestaShop 9 introduit une nouvelle Admin API, construite sur API Platform et avec une authentification OAuth2. Les deux coexistent, et il faut savoir laquelle utiliser.
Le Webservice classique
- Il s'active dans Paramètres avancés > Webservice, en créant une clé avec des permissions par ressource.
- Authentification basique avec la clé comme nom d'utilisateur.
- Il couvre presque tout le modèle de données : produits, déclinaisons, commandes, clients, stock…
- Il repose sur les
ObjectModeldu cœur : ce que vous enregistrez passe par les mêmes validations que l'ancien back-office.
curl -u CLAVE: "https://tienda.com/api/products/12?output_format=JSON"
L'Admin API
- Authentification OAuth2 en client credentials : vous demandez un jeton d'accès et vous l'utilisez dans l'en-tête
Authorization: Bearer. - JSON natif, documentation générée automatiquement et permissions par scopes.
- Ses opérations réutilisent les commandes et requêtes (CQRS) du nouveau back-office : la logique est donc la même que celle des écrans Symfony.
- Sa couverture s'étend version après version ; dans les premières versions de PrestaShop 9, elle n'atteint pas toutes les ressources que propose le Webservice.
Laquelle choisir ?
| Situation | Recommandation |
|---|---|
| Nouvelle intégration avec des ressources que l'Admin API couvre déjà | Admin API |
| Vous avez besoin d'une ressource que l'Admin API n'a pas encore | Webservice |
| Boutique en PrestaShop 8 ou antérieur | Webservice |
| ERP qui dialogue déjà avec le Webservice et qui fonctionne | Ne le changez pas sans raison |
Conseils pour toute intégration
- Une clé ou un client par intégration, avec les permissions minimales. Si l'une fuite, on la révoque sans toucher aux autres.
- Toujours en HTTPS.
- Pagination et filtres : ne demandez pas toutes les commandes de l'historique à chaque appel.
- Journal des appels de votre côté : quand quelque chose ne colle pas, vous saurez ce qui a été envoyé et quand.
Vous souhaitez l’appliquer à votre boutique ? Rekire vous accompagne : développement de modules PrestaShop sur mesure et support technique PrestaShop par forfaits d’heures.