Created
August 22, 2014 06:06
-
-
Save sunel/ca595d3a47e12625e14b to your computer and use it in GitHub Desktop.
list and usage of magento soap api
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| <?php | |
| /** | |
| * Script to test methods of the Magento API | |
| */ | |
| /** | |
| customer.list | |
| customer.create | |
| customer.info | |
| customer.update | |
| customer.delete | |
| customer_group.list | |
| customer_address.list | |
| customer_address.create | |
| customer_address.info | |
| customer_address.update | |
| customer_address.delete | |
| sales_order.list | |
| sales_order.info | |
| directory_country.list | |
| directory_region.list | |
| catalog_product_attribute_media.list | |
| catalog_product_link.list | |
| catalog_product_attribute.options | |
| cart.create | |
| cart_product.remove | |
| cart_product.add | |
| cart_product.list | |
| cart.info | |
| cart.totals | |
| cart.order | |
| cart.license | |
| cart_product.update | |
| cart_customer.set | |
| cart_customer.addresses | |
| cart_shipping.method | |
| cart_shipping.list | |
| cart_payment.method | |
| cart_payment.list | |
| cart_coupon.add | |
| */ | |
| $method = $_GET['method']; | |
| $url = $_SERVER['SERVER_NAME']; | |
| $proxy = new SoapClient("http://$url/api/soap/?wsdl"); | |
| $sessionId = $proxy->login('apiuser', 'apipassword'); | |
| $arrAddresses = array( | |
| array( | |
| "mode" => "shipping", | |
| "firstname" => "testFirstname", | |
| "lastname" => "testLastname", | |
| "company" => "testCompany", | |
| "street" => "testStreet", | |
| "city" => "Barcelona", | |
| "region" => "Barcelona", | |
| "postcode" => "08005", | |
| "country_id" => "ES", | |
| "telephone" => "0123456789", | |
| "fax" => "0123456789", | |
| "is_default_shipping" => 0, | |
| "is_default_billing" => 0 | |
| ), | |
| array( | |
| "mode" => "billing", | |
| "firstname" => "testFirstname", | |
| "lastname" => "testLastname", | |
| "company" => "testCompany", | |
| "street" => "testStreet", | |
| "city" => "Barcelona", | |
| "region" => "Barcelona", | |
| "postcode" => "08005", | |
| "country_id" => "ES", | |
| "telephone" => "0123456789", | |
| "fax" => "0123456789", | |
| "is_default_shipping" => 0, | |
| "is_default_billing" => 0 | |
| ), | |
| ); | |
| $customerAsGuest = array( | |
| "firstname" => "testFirstname", | |
| "lastname" => "testLastName", | |
| "email" => "[email protected]", | |
| "gender" => "male", | |
| "dob" => "10/10/80", | |
| "website_id" => "1", | |
| "store_id" => "1", | |
| "mode" => "guest" | |
| ); | |
| $productId = '9709'; | |
| //$time_start = microtime(true); | |
| switch ($method) { | |
| case 'cartcreate': // OK | |
| $shoppingCartId = $proxy->call($sessionId, 'cart.create', array('1')); | |
| var_dump($shoppingCartId); | |
| break; | |
| case 'customergrouplist': // OK | |
| $groupList = $proxy->call($sessionId, 'customer_group.list'); | |
| var_dump($groupList); | |
| break; | |
| case 'cartpaymentlist': // OK | |
| $shoppingCartId = $proxy->call($sessionId, 'cart.create', array('1')); | |
| $paymentList = $proxy->call($sessionId, "cart_payment.list", array($shoppingCartId)); | |
| var_dump($paymentList); | |
| break; | |
| case 'cartpaymentmethod': // OK | |
| $shoppingCartId = $proxy->call($sessionId, 'cart.create', array('1')); | |
| $arrProducts = array( | |
| array( | |
| "product_id" => $productId, | |
| "qty" => 1 | |
| ) | |
| ); | |
| $resultCartProductAdd = $proxy->call($sessionId, "cart_product.add", array($shoppingCartId, $arrProducts)); | |
| $proxy->call($sessionId, "cart_customer.addresses", array($shoppingCartId, $arrAddresses)); | |
| $shippingMethod = 'flatrate_flatrate'; | |
| $resultShippingMethod = $proxy->call($sessionId, "cart_shipping.method", array($shoppingCartId, $shippingMethod)); | |
| $paymentMethod = array( | |
| "method" => "sermepa", | |
| "cc_type" => "VI", | |
| "cc_owner" => "Andrea Pallo", | |
| "cc_number" => "4548812049400004", | |
| "cc_exp_year" => "2012", | |
| "cc_exp_month" => "12", | |
| "cc_cid" => "123", | |
| ); | |
| $resultPaymentMethod = $proxy->call($sessionId, "cart_payment.method", array($shoppingCartId, $paymentMethod)); | |
| var_dump($resultPaymentMethod); | |
| break; | |
| case 'cartshippinglist': // OK | |
| $shoppingCartId = $proxy->call($sessionId, 'cart.create', array('1')); | |
| $proxy->call($sessionId, "cart_customer.addresses", array($shoppingCartId, $arrAddresses)); | |
| $resultShippingMethods = $proxy->call($sessionId, "cart_shipping.list", array($shoppingCartId, 1)); | |
| var_dump($resultShippingMethods); | |
| break; | |
| case 'cartshippingmethod': // OK | |
| $shoppingCartId = $proxy->call($sessionId, 'cart.create', array('1')); | |
| $proxy->call($sessionId, "cart_customer.addresses", array($shoppingCartId, $arrAddresses)); | |
| $shippingMethod = 'flatrate_flatrate'; | |
| $resultShippingMethod = $proxy->call($sessionId, "cart_shipping.method", array($shoppingCartId, $shippingMethod)); | |
| var_dump($resultShippingMethod); | |
| break; | |
| case 'cartcouponadd': // OK | |
| $shoppingCartId = $proxy->call($sessionId, 'cart.create', array('1')); | |
| $arrProducts = array( | |
| array( | |
| "product_id" => $productId, | |
| "qty" => 1 | |
| ) | |
| ); | |
| $resultCartProductAdd = $proxy->call($sessionId, "cart_product.add", array($shoppingCartId, $arrProducts)); | |
| $resultCustomerSet = $proxy->call($sessionId, 'cart_customer.set', array($shoppingCartId, $customerAsGuest)); | |
| $proxy->call($sessionId, "cart_customer.addresses", array($shoppingCartId, $arrAddresses)); | |
| $shippingMethod = 'flatrate_flatrate'; | |
| $resultShippingMethod = $proxy->call($sessionId, "cart_shipping.method", array($shoppingCartId, $shippingMethod)); | |
| $resultCartCouponAdd = $proxy->call($sessionId, "cart_coupon.add", array($shoppingCartId, 'COUPON')); | |
| var_dump($resultCartCouponAdd); | |
| break; | |
| case 'cartorder': // OK | |
| $shoppingCartId = $proxy->call($sessionId, 'cart.create', array('1')); | |
| $arrProducts = array( | |
| array( | |
| "product_id" => $productId, | |
| "qty" => 1 | |
| ) | |
| ); | |
| $resultCartProductAdd = $proxy->call($sessionId, "cart_product.add", array($shoppingCartId, $arrProducts)); | |
| $proxy->call($sessionId, "cart_customer.addresses", array($shoppingCartId, $arrAddresses)); | |
| $resultShippingMethods = $proxy->call($sessionId, "cart_shipping.list", array($shoppingCartId, 1)); | |
| $shippingMethod = 'flatrate_flatrate'; | |
| $resultShippingMethod = $proxy->call($sessionId, "cart_shipping.method", array($shoppingCartId, $shippingMethod)); | |
| $paymentMethod = array( | |
| "method" => "sermepa", | |
| "cc_type" => "VI", | |
| "cc_owner" => "Andrea Pallo", | |
| "cc_number" => "4548812049400004", | |
| "cc_exp_year" => "2012", | |
| "cc_exp_month" => "12", | |
| "cc_cid" => "123", | |
| ); | |
| $shoppingCartLicenses = $proxy->call($sessionId, "cart.license", array($shoppingCartId)); | |
| $licenseForOrderCreation = null; | |
| if (count($shoppingCartLicenses)) { | |
| $licenseForOrderCreation = array(); | |
| foreach ($shoppingCartLicenses as $license) { | |
| $licenseForOrderCreation[] = $license['agreement_id']; | |
| } | |
| } | |
| $resultOrder = $proxy->call($sessionId, "cart.order", array($shoppingCartId, null, $licenseForOrderCreation, $paymentMethod)); | |
| var_dump($resultOrder); | |
| break; | |
| case 'cartcustomeraddresses': // OK | |
| $shoppingCartId = $proxy->call($sessionId, 'cart.create', array('1')); | |
| $resultCustomerAddresses = $proxy->call($sessionId, "cart_customer.addresses", array($shoppingCartId, $arrAddresses)); | |
| var_dump($resultCustomerAddresses); | |
| break; | |
| case 'cartcustomerset': // OK | |
| $shoppingCartId = $proxy->call($sessionId, 'cart.create', array('1')); | |
| $resultCustomerSet = $proxy->call($sessionId, 'cart_customer.set', array($shoppingCartId, $customerAsGuest)); | |
| var_dump($resultCustomerSet); | |
| break; | |
| case 'cartlicense': // OK | |
| $shoppingCartId = $proxy->call($sessionId, 'cart.create', array('1')); | |
| $shoppingCartLicenses = $proxy->call($sessionId, "cart.license", array($shoppingCartId)); | |
| var_dump($shoppingCartLicenses); | |
| break; | |
| case 'cartinfo': //OK | |
| $shoppingCartId = $proxy->call($sessionId, 'cart.create', array('1')); | |
| $shoppingCartInfo = $proxy->call($sessionId, 'cart.info', array($shoppingCartId)); | |
| var_dump($shoppingCartInfo); | |
| break; | |
| case 'customerinfo': // OK | |
| $customerInfo = $proxy->call($sessionId, 'customer.info', array('19940')); | |
| var_dump($customerInfo); | |
| break; | |
| case 'customeraddresslist': // OK | |
| $customerInfo = $proxy->call($sessionId, 'customer_address.list', array('19940')); | |
| var_dump($customerInfo); | |
| break; | |
| case 'customeraddresscreate': // OK | |
| $rand = rand(1, 10000); | |
| $customerId = $proxy->call($sessionId, 'customer.create', array(array( | |
| 'email' => "[email protected]", | |
| 'firstname' => "Dough$rand", | |
| 'lastname' => "Deeks$rand", | |
| 'password' => "password$rand", | |
| 'website_id' => 1, | |
| 'store_id' => 1, | |
| 'group_id' => 1))); | |
| $customerAddressResult = $proxy->call($sessionId, 'customer_address.create', array('19940', array('firstname' => 'John', 'lastname' => 'Doe', 'street' => array('Street line 1', 'Streer line 2'), 'city' => 'Weaverville', 'country_id' => 'US', 'region' => 'Texas', 'region_id' => 3, 'postcode' => '96093', 'telephone' => '530-623-2513', 'is_default_billing' => FALSE, 'is_default_shipping' => FALSE))); | |
| var_dump($customerAddressResult); | |
| break; | |
| case 'customeraddressinfo': // OK | |
| $customerInfo = $proxy->call($sessionId, 'customer_address.info', array('200')); | |
| var_dump($customerInfo); | |
| break; | |
| case 'customeraddressupdate': // OK | |
| $customerAddressResult = $proxy->call($sessionId, 'customer_address.update', array('200', array('firstname' => 'John', 'lastname' => 'Doe', 'street' => array('Street line 1', 'Streer line 2'), 'city' => 'Weaverville', 'country_id' => 'US', 'region' => 'Texas', 'region_id' => 3, 'postcode' => '96093', 'telephone' => '530-623-2513', 'is_default_billing' => FALSE, 'is_default_shipping' => FALSE))); | |
| var_dump($customerAddressResult); | |
| break; | |
| case 'customeraddressdelete': // OK | |
| $rand = rand(1, 10000); | |
| $customerId = $proxy->call($sessionId, 'customer.create', array(array( | |
| 'email' => "[email protected]", | |
| 'firstname' => "Dough$rand", | |
| 'lastname' => "Deeks$rand", | |
| 'password' => "password$rand", | |
| 'website_id' => 1, | |
| 'store_id' => 1, | |
| 'group_id' => 1))); | |
| $customerAddressID = $proxy->call($sessionId, 'customer_address.create', array('19940', array('firstname' => 'John', 'lastname' => 'Doe', 'street' => array('Street line 1', 'Streer line 2'), 'city' => 'Weaverville', 'country_id' => 'US', 'region' => 'Texas', 'region_id' => 3, 'postcode' => '96093', 'telephone' => '530-623-2513', 'is_default_billing' => FALSE, 'is_default_shipping' => FALSE))); | |
| var_dump($customerAddressID); | |
| $customerAddressResult = $proxy->call($sessionId, 'customer_address.delete', $customerAddressID); | |
| var_dump($customerAddressResult); | |
| break; | |
| case 'customerupdate': // OK | |
| $rand = rand(1, 10000); | |
| $customerId = $proxy->call($sessionId, 'customer.update', array('customerId' => '20305', 'customerData' => array( | |
| 'email' => "[email protected]", | |
| 'firstname' => "Dough$rand", | |
| 'lastname' => "Deeks$rand", | |
| 'password' => "password$rand", | |
| 'website_id' => 1, | |
| 'store_id' => 1, | |
| 'group_id' => 1))); | |
| var_dump($customerId); | |
| break; | |
| case 'customerlist': // OK | |
| $complexFilter = array('filter' => array( | |
| 'store_id' => 1, | |
| 'website_id' => 1, | |
| 'email' => "[email protected]" | |
| )); | |
| $customerList = $proxy->call($sessionId, 'customer.list', $complexFilter); | |
| var_dump($customerList); | |
| break; | |
| case 'customercreate': // OK | |
| $rand = rand(1, 10000); | |
| $customerId = $proxy->call($sessionId, 'customer.create', array(array( | |
| 'email' => "[email protected]", | |
| 'firstname' => "Dough$rand", | |
| 'lastname' => "Deeks$rand", | |
| 'password' => "password$rand", | |
| 'website_id' => 1, | |
| 'store_id' => 1, | |
| 'group_id' => 1), 'source' => 'gino')); | |
| var_dump($customerId); | |
| break; | |
| case 'customerdelete': // OK | |
| $rand = rand(1, 10000); | |
| $customerId = $proxy->call($sessionId, 'customer.create', array(array( | |
| 'email' => "[email protected]", | |
| 'firstname' => "Dough$rand", | |
| 'lastname' => "Deeks$rand", | |
| 'password' => "password$rand", | |
| 'website_id' => 1, | |
| 'store_id' => 1, | |
| 'group_id' => 1))); | |
| $deleteResult = $proxy->call($sessionId, 'customer.delete', $customerId); | |
| var_dump($deleteResult); | |
| break; | |
| case 'cartproductadd': // OK | |
| $shoppingCartId = $proxy->call($sessionId, 'cart.create', array('1')); | |
| $arrProducts = array( | |
| array( | |
| "product_id" => $productId, | |
| "qty" => 1 | |
| ) | |
| ); | |
| $resultCartProductAdd = $proxy->call($sessionId, "cart_product.add", array($shoppingCartId, $arrProducts)); | |
| var_dump($resultCartProductAdd); | |
| break; | |
| case 'cartproductupdate': // OK | |
| $shoppingCartId = $proxy->call($sessionId, 'cart.create', array('1')); | |
| $arrProducts = array( | |
| array( | |
| "product_id" => $productId, | |
| "qty" => 1 | |
| ) | |
| ); | |
| $proxy->call($sessionId, "cart_product.add", array($shoppingCartId, $arrProducts)); | |
| $arrProductsUp = array( | |
| array( | |
| "product_id" => $productId, | |
| "qty" => 3 | |
| ), | |
| ); | |
| $resultCartProductUpdate = $proxy->call($sessionId, "cart_product.update", array($shoppingCartId, $arrProductsUp)); | |
| var_dump($resultCartProductUpdate); | |
| break; | |
| case 'cartproductlist': // OK | |
| $shoppingCartId = $proxy->call($sessionId, 'cart.create', array('1')); | |
| $arrProducts = array( | |
| array( | |
| "product_id" => $productId, | |
| "qty" => 1 | |
| ) | |
| ); | |
| $proxy->call($sessionId, "cart_product.add", array($shoppingCartId, $arrProducts)); | |
| $resultCartProductList = $proxy->call($sessionId, "cart_product.list", array($shoppingCartId)); | |
| var_dump($resultCartProductList); | |
| break; | |
| case 'cartproductremove': // OK | |
| $shoppingCartId = $proxy->call($sessionId, 'cart.create', array('1')); | |
| $arrProducts = array( | |
| array( | |
| "product_id" => $productId, | |
| "qty" => 1 | |
| ) | |
| ); | |
| $proxy->call($sessionId, "cart_product.add", array($shoppingCartId, $arrProducts)); | |
| $resultCartProductRemove = $proxy->call($sessionId, "cart_product.remove", array($shoppingCartId, $arrProducts)); | |
| var_dump($resultCartProductRemove); | |
| break; | |
| case 'directorycountrylist': // OK | |
| $countryList = $proxy->call($sessionId, 'directory_country.list'); | |
| var_dump($countryList); | |
| break; | |
| case 'directoryregionlist': // OK | |
| $regionList = $proxy->call($sessionId, 'directory_region.list', array('ES')); | |
| var_dump($regionList); | |
| break; | |
| case 'salesorderlist': // OK | |
| $filter = array('filter' => array('increment_id' => '400006032')); | |
| $salesOrderList = $proxy->call($sessionId, 'order.list', $filter); | |
| var_dump($salesOrderList); | |
| break; | |
| case 'salesorderinfo': // OK | |
| $salesOrderList = $proxy->call($sessionId, 'order.info', '100007501'); | |
| var_dump($salesOrderList); | |
| break; | |
| case 'catalogproductattributemedialist': // OK | |
| $attributeMediaList = $proxy->call($sessionId, 'catalog_product_attribute_media.list', array('2699')); | |
| var_dump($attributeMediaList); | |
| break; | |
| case 'catalogproductattributeoptions': // OK | |
| $attributeOptions = $proxy->call($sessionId, 'catalog_product_attribute.options', array('size_so_uni')); | |
| var_dump($attributeOptions); | |
| break; | |
| case 'catalogproductlinklist': // OK | |
| $linkList = $proxy->call($sessionId, 'catalog_product_link.list', array('cross_sell', '7179')); | |
| var_dump($linkList); | |
| break; | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment