Depuis quelques temps je travaille
Pour faire court : c'est une des solution e-commerce open source à la mode en ce moment et pleine évolution, nous avons appris le mois dernier que la société Varien éditrice la solution à fait une levé de fond de 22.5 Millions d'Euro pour la solution e-commerce Magento.
Avec ces web services nous pouvons gérer :
Le catalogue produit (articles / stock)
Les clients du site internet
Documentation sur le Webservice Magento :
http://www.magentocommerce.com/support/magento_core_api
Cas concret d’utilisation du Webservice SOAP de Magento (Passerelle de gestion de stock - ERP):
Cette application doit aussi permettre d'importer tous les articles qui sont enregistré dans l'ERP de gestion de stocke dans le site internet e-commerce et d'importer les ventes du site internet e-Commerce dans l'ERP pour la comptabilité de l'entreprise, et pour décrémenter les stocks.
Voici un exemple de code simple qui permet d’illustrer l’utilisation du webservice Magento dans un programme .Net (Langage c#)
Pour toutes les solutions Magento, l’adresse pour accéder au web service SOAP version 2 est :
http://sitemagento.com/api/v2_soap?wsdl=1
Une fenêtre vous propose de renseigner les informations du compte :
Maintenant voici le code qui permet de récupérer les ventes du site internet e-commerce Magento :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | MagentoService t = new MagentoService();
//Ici on se connecte au webservice de Magento en utilisant le nom d'utilisateur + la clé d'API crée précédement //La méthode login nous retourne un jeton de session qu'on poura utiliser pour appeler les fonctions du webservice string session = t.login("nom", "cle d'api"); salesOrderInvoiceEntity[] ProductData;
//Début du filtre filters mf = new filters(); complexFilter[] cpf = new complexFilter[3];
//Date de début - date de fin //string from = dateTimePicker1.Value.Date.Year.ToString() + '-' + dateTimePicker1.Value.Date.Month.ToString() + '-' + dateTimePicker1.Value.Date.Day.ToString(); //string to = dateTimePicker2.Value.Date.Year.ToString() + '-' + dateTimePicker2.Value.Date.Month.ToString() + '-' + dateTimePicker2.Value.Date.Day.ToString();
//Déclaration d'un filtre complexFilter mcpf = new complexFilter(); mcpf.key = "created_at"; associativeEntity mas = new associativeEntity(); mas.key = "from"; mas.value = "2010-01-01 11:49:02"; mcpf.value = mas;
complexFilter mcpf1 = new complexFilter(); mcpf1.key = "created_at"; associativeEntity mas1 = new associativeEntity(); mas1.key = "to"; mas1.value = to +" 11:49:02"; mcpf1.value = mas1;
complexFilter mcpf2 = new complexFilter(); mcpf2.key = "state"; associativeEntity mas2 = new associativeEntity(); mas2.key = "eq"; mas2.value = "2"; mcpf2.value = mas2; cpf[0] = mcpf; cpf[1] = mcpf1; cpf[2] = mcpf2;
mf.complex_filter = cpf; //Appel de la méthode qui permet de récupérer la liste des commande passé sur le site //Dans notre cas le filtre se fait sur la date //salesOrderInvoiceList(Session retourné par la fonction login, Filtre) ProductData = t.salesOrderInvoiceList(session, mf); //ProductData contient maintenant la liste des commandes passé sur le site //On peut imaginer l'affichage de la liste des commandes dans un datagrid comme ceci : //dataGridView1.DataSource = ProductData; |
MagentoService est un webservice implémenté à partir de l’assistant d’ajout d’un webservice dans le projet, je ne rentrerai pas dans ce détail, il y a beaucoup de tutoriels sur le net qui explique comment utiliser un web service en .Net.
Dans des futurs articles je présenterai d’autres fonctions qui peuvent être utile dans une application de gestion de site e-commerce Magento, et d’interfaçage avec un ERP.