PrestaShop propose deux API. Le Webservice, présent depuis les premières versions, donne accès aux produits, aux stocks, aux commandes et aux clients avec une clé. L'Admin API, arrivée avec PrestaShop 9, est plus moderne (OAuth2, JSON, API Platform) mais ne couvre pas encore tout. Pour synchroniser des stocks ou exporter des commandes vers la comptabilité, le Webservice reste aujourd'hui la voie la plus complète, y compris sur PrestaShop 9.
Ce guide s'appuie sur la documentation développeur officielle de PrestaShop 9, consultée le 26 octobre 2026. Il vous aide à choisir la bonne API, à l'activer sans ouvrir de faille, et à construire deux connexions qu'on nous demande souvent : le stock partagé avec un magasin et l'envoi des ventes au logiciel comptable.
Webservice ou Admin API : laquelle utiliser ?
Le Webservice est l'API historique de PrestaShop : une API CRUD (lire, créer, modifier, supprimer) qui expose les données de la boutique, ressource par ressource, avec une clé d'accès. L'Admin API est la nouvelle API de PrestaShop 9 : elle repose sur API Platform 3, s'authentifie en OAuth2 et parle uniquement JSON.
| Critère | Webservice | Admin API (PrestaShop 9) |
|---|---|---|
| Versions | 1.6, 1.7, 8 et 9 | 9 uniquement |
| Authentification | Clé de 32 caractères, droits par ressource | OAuth2 (client credentials), jeton temporaire, scopes |
| Format | XML ; JSON possible en lecture, pas en écriture | JSON en lecture et en écriture |
| Données couvertes | Large : produits, déclinaisons, stocks, commandes, clients… | Plus restreinte pour l'instant (produits, groupes clients, règles panier, modules, hooks…) |
| Documentation | Liste des ressources dans les DevDocs | Documentation OpenAPI générée par la boutique (/admin-api/docs.html) |
| À privilégier pour | Stocks, commandes, export comptable, boutiques 1.7 et 8 | Nouveaux connecteurs sur PrestaShop 9, gestion des produits |
Le point qui fait la différence : dans l'exemple de la documentation officielle, les scopes disponibles de l'Admin API concernent les clients API, les règles panier, les groupes clients, les hooks, les modules et les produits. Les commandes et les stocks n'y figurent pas. Vérifiez la liste exacte sur votre boutique, sur la page /admin-api/docs.html : des modules peuvent ajouter des ressources, et l'API évolue à chaque version.
Comment activer le Webservice PrestaShop ?
Le Webservice s'active en deux minutes depuis le back-office, mais une clé mal réglée donne accès à toute la base de la boutique. Procédez ainsi :
- Ouvrez Paramètres avancés > Webservice et activez le Webservice.
- Ajoutez une clé : générez-la (32 caractères) et donnez-lui une description qui dit à quoi elle sert (« synchro stock caisse », par exemple).
- Cochez uniquement les ressources et les droits utiles. Un connecteur de stock n'a besoin que de lire les produits et de modifier les stocks, pas de supprimer des clients.
- Vérifiez que l'adresse
/api/répond : elle dépend de la réécriture d'URL (sur Apache,mod_rewriteet le.htaccessdoivent être pris en compte).
Pour les appels, la clé sert d'identifiant HTTP Basic, sans mot de passe. La documentation recommande de l'envoyer dans l'en-tête Authorization plutôt que dans l'URL. Ajoutez output_format=JSON pour recevoir du JSON ; les écritures, elles, se font toujours en XML.
Comment utiliser l'Admin API de PrestaShop 9 ?
L'Admin API est activée par défaut sur PrestaShop 9. En production, elle exige le HTTPS. Voici les étapes :
- Ouvrez Paramètres avancés > Admin API et créez un client API : nom, scopes autorisés, durée de vie du jeton.
- Copiez immédiatement le secret du client : PrestaShop ne l'affiche qu'une seule fois.
- Demandez un jeton : requête
POSTsur/admin-api/access_tokenavecgrant_type=client_credentials, l'identifiant, le secret et les scopes voulus. Les scopes doivent être demandés dès cette première requête. - Appelez les ressources avec l'en-tête
Authorization: Bearersuivi du jeton, par exemple/admin-api/productsavec le scopeproduct_read. - Renouvelez le jeton à son expiration (une heure dans l'exemple de la documentation).
Un scope manquant renvoie une erreur 403 « Invalid scope ». C'est voulu : chaque client n'obtient que ce que vous lui avez accordé.
Synchroniser le stock entre le magasin et la boutique PrestaShop
C'est la demande la plus fréquente des commerçants qui ont aussi une boutique physique : vendre en magasin un article qui reste « en stock » en ligne, ou l'inverse, crée des ventes impossibles à honorer. Dans PrestaShop, la quantité disponible de chaque produit ou déclinaison est stockée dans la ressource stock_availables du Webservice (champs id_product, id_product_attribute et quantity).
Avant d'écrire la moindre ligne de code, trois décisions conditionnent la fiabilité du connecteur :
| Décision | Options | Notre conseil |
|---|---|---|
| Qui fait foi ? | La caisse, la boutique, ou un outil de gestion tiers | Une seule source de vérité, en général la caisse ou l'outil de gestion. Les deux systèmes qui s'écrasent l'un l'autre, c'est la garantie d'écarts. |
| Quelle fréquence ? | Temps réel, toutes les quelques minutes, ou une fois par nuit | Selon le rythme des ventes : un article unique ou très demandé mérite une mise à jour rapprochée. |
| Comment reconnaître un article ? | Référence, code EAN, identifiant interne | Une référence unique et identique des deux côtés, déclinaisons comprises. C'est souvent le vrai chantier. |
Le schéma classique : la caisse ou l'outil de gestion envoie les quantités, un petit programme les compare à celles de la boutique et met à jour stock_availables par le Webservice. Dans l'autre sens, une vente en ligne doit faire baisser le stock du magasin : on récupère les commandes récentes, ou on réagit à la commande grâce à un hook dans un module. Pensez à un journal des mises à jour : le jour où un stock est faux, c'est lui qui dit pourquoi.
Envoyer les ventes PrestaShop vers la comptabilité
PrestaShop n'exporte pas nativement vers un logiciel comptable. Trois approches existent, du plus simple au plus intégré :
- Un module du marché pour votre logiciel comptable, s'il en existe un maintenu pour votre version de PrestaShop. C'est la solution la moins chère quand elle couvre votre cas.
- Un export de fichiers au format attendu par le logiciel comptable : commandes, clients, TVA, frais de port, modes de règlement. Le format est souvent strict, au nom de colonne près : il faut partir du fichier de référence fourni par votre expert-comptable.
- Une connexion directe par l'API du logiciel comptable, alimentée par le Webservice de PrestaShop. C'est la plus confortable au quotidien, et la plus longue à mettre en place.
Nous avons développé ce type d'export pour une boutique WooCommerce dont la comptabilité est tenue sous ISAGRI. La leçon vaut pour PrestaShop : les erreurs ne viennent presque jamais du code, mais des règles comptables. Un mode de frais de port mal choisi, et le montant importé ne correspond plus à la commande. Faites valider un premier export par votre comptable avant d'automatiser.
Les règles de sécurité à ne pas négliger
- Une clé ou un client API par usage, jamais une clé « tous droits » partagée entre plusieurs outils.
- Uniquement les ressources et les droits nécessaires, en lecture seule quand c'est possible.
- HTTPS obligatoire : une clé Webservice qui circule en clair donne accès à vos données.
- Clé dans l'en-tête
Authorization, pas dans une URL qui finit dans les journaux du serveur. - Désactivez les clés qui ne servent plus : le statut d'une clé se coupe en un clic.
- Gardez les secrets hors du code et hors des e-mails, dans un coffre de mots de passe.
Ces réglages complètent les mesures de notre guide pour sécuriser PrestaShop.
Faire développer son connecteur
Si vous voulez brancher votre caisse, votre ERP ou votre comptabilité sans y passer vos soirées, nous développons ces connecteurs : voir notre page module PrestaShop sur mesure. Votre boutique tourne encore en 1.6 ou 1.7 ? Le connecteur est l'occasion de préparer la migration vers PrestaShop 9, et la maintenance PrestaShop surveille ensuite qu'il continue de fonctionner après chaque mise à jour.
Sources
- PrestaShop DevDocs : Webservice, prise en main (consulté le 26/10/2026)
- PrestaShop DevDocs : créer un accès au Webservice (consulté le 26/10/2026)
- PrestaShop DevDocs : ressource stock_availables (consulté le 26/10/2026)
- PrestaShop DevDocs : Admin API (consulté le 26/10/2026)
- PrestaShop DevDocs : utiliser l'Admin API (consulté le 26/10/2026)
- PrestaShop DevDocs : serveur d'autorisation interne (consulté le 26/10/2026)

