Installation et configuration des webservices Prestashop
Le webservices
Pré-requis
- Prestashop 1.4.17 (stable) ou supérieur
- La réécriture d'URL activée
- PHP 5.3.x (ou inférieur si patchée)
- Des connaissances en XML, HTTP, REST, ...
Patcher Prestashop pour PHP 5.2 et antérieur
Si vous utilisez Prestashop 1.4.17 sur un PHP 5.2 ou antérieur, vous risquez donc de rencontrer le bug PSCFI-1187 que nous avons signalé à l'équipe de prestashop.
Si c'est le cas, pas de panique, nous avons le patch qui va avec.
- Ouvrez le fichier "webservice/dispatcher.php"
- Allez à la ligne 67
- Remplacez le code suivant :
$result = $class_instance->fetch($key, $method, $_GET['url'], $params, $bad_class_name, $input_xml);
Cette solution permet de ne plus utiliser le Late Static Bindings qui est disponible uniquement sur PHP 5.3
Activer le webserivce
Autorisation et droits d'accès
Cliquez ensuite sur Générer une clé
Vous devez ensuite ajouter des droits pour chaque entité de votre boutique.
Nous allons donc faire un compte ayant accès aux produits et aux tags en lecture :
En retournant sur la page webservice, nous pouvons maintenant voir que notre clé est bien activée :
Tester le webserivce
Pour cela, nous allons juste esayer quelques requêtes simple depuis notre navigateur.
Tout d'abord, nous allons lister les services auquels nous avons le droit avec notre clé. Rendez-vous sur votre site internet prestashop en ajoutant api à la fin de l'adresse :
Un fenêtre va vous demander de vous identifier. Vous devez inscrir votre clé dans le champ "Login" en laissant le mot de passe vide.
Si tout ce passe bien,vous devez voir un retour XML contenant la liste des méthodes autorisées :
Si vous ne voyez pas le XML, essayez d'afficher le code source de votre navigateur.
Utilisation du webserivce produits
Vous pouvez maintenant voir que ça ne semble pas du tout être le cas. Il n'y a pas de WSDL, pas d'enveloppe, ...
Nous avons à faire à un webservice de type REST.
Le but de cette partie ne va pas être de vous faire un cours sur REST mais simplement de vous faire voir un moyen d'avancer.
Rendez-vous sur :
Vous pouvez voir que vous retrouvez la liste des derniers produits ajoutés.
Maintenant que vous avez les ID des produits, vous pouvez récupérer toutes les informations d'un produit :
Conclusion
Ceci vous permettra de vous connecter avec des clients, des fournisseurs, des applications mobiles : iPad, iPhone, Android ...
Le potentiel est là ! Il ne reste plus qu'à trouver des experts pour développer :)
N'hésitez pas à nous contacter si vous souhaitez être accompagné dans la mise en place de webservices.