- Détails
- Affichages : 5250
Dans ce tutoriel, nous allons voir comment mettre à jour son stock, dans Magento,
en utilisant un Web service et le protocole SOAP.
Tout d'abord il nous faut l'extension Soap,
Un phpinfo() devrait nous indiquer que Soap est bien présent, sinon il faut l'installer.
Créez un fichier phpinfo.php, que vous mettrez à la racine de votre serveur.
Dedans, ecrivez :
<?php phpinfo(); ?>
Vous devriez voir apparaitre une section concernant Soap.
Dans Magento, il va aussi falloir créer un utilisateur et un rôle pour ce Web Service.
Commençons par aller dans Systeme > Web Services > Rôles. +Nouveau Rôle
Nom du Rôle : Permission totale (pour ce tutorial, on donne un accès à toutes les ressources)
Ressource du rôle : Tous.
Ensuite dans Systeme > Web Services > Utilisateur. +nouvel Utilisateur
Infos de l'utilisateur
Nom de l'utilisateur * | Virtualandscape | |
Prénom * | Virtual | |
Nom de famille * | Landscape | |
Email * | Cette adresse e-mail est protégée contre les robots spammeurs. Vous devez activer le JavaScript pour la visualiser.
| |
Clé d'API * | MyNiceApiKey | |
Confirmation de la clé d'API * | MyNiceApiKey | |
Ce compte est | Actif |
Rôle de l'utilisateur
On coche Permission totale
Sauvegardez, c'est tout ce qu'il faut faire du coté Magento.
Maintenant, créez un fichier api.php dans lequel vous copierez ce qui suit :
<?php
$client = new SoapClient('http://127.0.0.1/magento/index.php/api/soap/?wsdl');
// Si vous êtes en local sinon, c'est l'adresse du site web. Ne cherchez pas de dossier api.
$session = $client->login('Virtualandscape', 'MyNiceApiKey');// Les infos rentrées dans Magento.
try
{
$client->call($session,'product_stock.update', array('le_sku_du_produit_mis_a_jour', array('qty'=>528, 'is_in_stock'=>1))); // le sku doit etre valide
echo "Produit mis à jour.";
}
catch (SoapFault $e)
{
echo "Mise à jour échouée";
}
$client->endSession($session);
?>
Placez ce fichier où vous le souhaitez (par exemple à la racine du serveur) et entrez son adresse dans votre navigateur.
Si tout se passe bien, vous devriez voir "Produit mis à jour ".
Si vous verifiez votre stock pour ce produit, vous devriez maintenant en avoir 528.
Notez que votre site Magento doit être en ligne quand vous faites l'essai, sinon vous aurez une erreur.
Voila, ce n'est pas bien complexe, en allant sur le wiki de l'Api Magento, vous verrez toutes les methodes utilisables.
La suite montrera comment extraire les quantités en stock d'un fichier .csv