A quoi servent les clés WebService de PrestaShop ?

Dans PrestaShop, il y a beaucoup de données (clients, produits, commandes etc…). Il est possible que vous ayez des outils externes au CMS qui veuillent récupérer des informations, ou même modifier certaines données !

Pour se faire, plutôt que d’utiliser des requêtes SQL, ou donner des accès à la base de donnée dans tous les sens, il y a la possibilité d’utiliser les clés WebService. Ces dernières permettront à n’importe quel API ou interface externe de se connecter à votre boutique PrestaShop et récupérer ou modifier les données que vous lui permettrez de voir / prendre.

Comment créer une clé WebService sous PrestaShop ?

Tout d’abord, sur votre back office de PrestaShop, accéder à la page de configuration des clés WebService en cliquant sur le menu « Paramètres avancés » (présent dans l’onglet « Configurer »), puis sur le sous menu « Webservice ».

Vous arrivez sur la page des clés WebService.

Pour visualiser une clé, cliquez sur l’icône en forme de crayon au bout de la ligne de celle voulue.

Pour en créer une nouvelle, cliquez sur le bouton « Ajouter une clé de service web » tout en haut à droite de la page.

Menu Webservice

Sur le formulaire de création de la clé webservice, il y a différents champs :

  • le champ Clé, permettant de générer une clé unique (utilisez le bouton « Générer » en bout de ligne).
  • Le champ Description permettant d’indiquer plus précisément le but de la clé (quelques mots suffisent, il faut que ça soit un contenu explicite pour bien s’y retrouver quand vous serez sur la page de listing des clés).
  • L’activation de la clé, nécessaire pour pouvoir l’utiliser bien évidemment.
  • Le tableau qui peut faire peur des permissions : il suffit de sélectionner les options* que vous souhaitez rendre disponible par la clé ainsi que les méthodes** voulues.

* Options = ressource disponible, telle que les produits, les commandes, les clients etc…

** Méthodes = les moyens de communication de la clé :

  • GET = Lecture uniquement (utile pour la récupération et affichage d’informations provenant de PrestaShop)
  • PUT = Modification de données (utile pour la modification de produits, clients, etc… depuis un outil externe)
  • POST = Ajout de données (utile pour l’envoi de produits, clients, etc… depuis un outil externe)
  • DELETE = Suppression de données (utile pour la suppression de produits, clients, etc… depuis un outil externe)
  • HEAD = Aperçu des données
  • ATTENTION : les méthodes PUT, POST et DELETE sont à utiliser avec précaution, cela viendra modifier votre PrestaShop.
Clés WebService
Ajouter une clé WebService

ATTENTION au fichier .htaccess

Attention, lors de la création d’une clé WebService dans PrestaShop, il est possible (et même plus que probable) que votre fichier htaccess soit impacté.

En l’occurence, il peut s’agir d’un bout de code qui va disparaître, et qui peut être utile avec certains registrars comme OVH, permettant la bonne redirection des informations de connexion pour autoriser l’ouverture de l’API. Cela peut paraître un peu barbare, mais si ces lignes ont sauté, votre application utilisant la clé WebService n’arrivera pas à se connecter à PrestaShop (ce serait dommage !).

Voici quoi faire dans le fichier .htaccess à la racine de votre site internet PrestaShop, juste en dessous de :

RewriteRule . - [E=REWRITEBASE:/] 
RewriteRule ^api(?:/(.*))?$ %{ENV:REWRITEBASE}webservice/dispatcher.php?url=$1 [QSA,L]

Rajouter :

RewriteCond %{HTTP:Authorization} ^(.*) 
RewriteRule . - [E=HTTP_AUTHORIZATION:%1]