====== Product API ====== Allows to import/export products to/from Magento **Module: ** Mage_Catalog **Resource:** catalog_product **Aliases:** * product ===== Methods ===== ==== catalog_product.currentStore ==== Set/Get current store view **Return:** int **Arguments:** * mixed storeView - store view ID or code (optional) **Aliases:** * product.currentStore ==== catalog_product.list ==== Retrieve products list by filters **Return:** array **Arguments:** * array filters - array of filters by attributes (optional) * mixed storeView - store view ID or code (optional) **Aliases:** * product.list ==== catalog_product.info ==== Retrieve product **Return:** array **Arguments:** * mixed product - product ID or Sku * mixed storeView - store view ID or code (optional) * array attributes - list of attributes that will be loaded (optional) **Aliases:** * product.info ==== catalog_product.create ==== Create new product and return product id **Return:** int **Arguments:** * string type - product type * int set - product attribute set ID * string sku - product SKU * array productData - array of attributes values **Aliases:** * product.create ==== catalog_product.update ==== Update product **Return:** boolean **Arguments:** * mixed product - product ID or Sku * array productData - array of attributes values * mixed storeView - store view ID or code (optional) **Aliases:** * product.update ==== catalog_product.setSpecialPrice ==== Update product special price **Return:** boolean **Arguments:** * mixed product - product ID or Sku * float specialPrice - special price (optional) * string fromDate - from date (optional) * string toDate - to date (optional) * mixed storeView - store view ID or code (optional) **Aliases:** * product.setSpecialPrice ==== catalog_product.getSpecialPrice ==== Get product special price data **Return:** array **Arguments:** * mixed product - product ID or Sku * mixed storeView - store view ID or code (optional) **Aliases:** * product.getSpecialPrice ==== catalog_product.delete ==== Delete product **Return:** boolean **Arguments:** * mixed product - product ID or Sku **Aliases:** * product.delete ===== Faults ===== ^ Fault Code ^ Fault Message ^ | 100 | Requested store view not found. | | 101 | Product not exists. | | 102 | Invalid data given. Details in error message. | | 103 | Product not deleted. Details in error message. | ===== Examples ===== ==== Example 1. Product list ==== $proxy = new SoapClient('http://magentohost/api/soap/?wsdl'); $sessionId = $proxy->login('apiUser', 'apiKey'); $filters = array( 'sku' => array('like'=>'zol%') ); $products = $proxy->call($sessionId, 'product.list', array($filters)); var_dump($products); ==== Example 2. Product create/view/update/delete ==== $proxy = new SoapClient('http://magentohost/api/soap/?wsdl'); $sessionId = $proxy->login('apiUser', 'apiKey'); $attributeSets = $proxy->call($sessionId, 'product_attribute_set.list'); $set = current($attributeSets); $newProductData = array( 'name' => 'name of product', // websites - Array of website ids to which you want to assign a new product 'websites' => array(1), // array(1,2,3,...) 'short_description' => 'short description', 'description' => 'description', 'price' => 12.05 ); // Create new product $proxy->call($sessionId, 'product.create', array('simple', $set['set_id'], 'sku_of_product', $newProductData)); // Get info of created product var_dump($proxy->call($sessionId, 'product.info', 'sku_of_product')); // Update product name on german store view $proxy->call($sessionId, 'product.update', array('sku_of_product', array('name'=>'new name of product'), 'german')); // Get info for default values var_dump($proxy->call($sessionId, 'product.info', 'sku_of_product')); // Get info for german store view var_dump($proxy->call($sessionId, 'product.info', array('sku_of_product', 'german'))); // Delete product $proxy->call($sessionId, 'product.delete', 'sku_of_product'); try { // Ensure that product deleted var_dump($proxy->call($sessionId, 'product.info', 'sku_of_product')); } catch (SoapFault $e) { echo "Product already deleted"; }