Table of Contents

Allows to import/export products to/from Magento

Module: Mage_Catalog

Resource: catalog_product

Aliases:

Methods

catalog_product.currentStore

Set/Get current store view

Return: int

Arguments:

Aliases:

catalog_product.list

Retrieve products list by filters

Return: array

Arguments:

Aliases:

catalog_product.info

Retrieve product

Return: array

Arguments:

Aliases:

catalog_product.create

Create new product and return product id

Return: int

Arguments:

Aliases:

catalog_product.update

Update product

Return: boolean

Arguments:

Aliases:

catalog_product.setSpecialPrice

Update product special price

Return: boolean

Arguments:

Aliases:

catalog_product.getSpecialPrice

Get product special price data

Return: array

Arguments:

Aliases:

catalog_product.delete

Delete product

Return: boolean

Arguments:

Aliases:

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

  1. $proxy = new SoapClient('http://magentohost/api/soap/?wsdl');
  2. $sessionId = $proxy->login('apiUser', 'apiKey');
  3.  
  4. $filters = array(
  5.     'sku' => array('like'=>'zol%')
  6. );
  7.  
  8. $products = $proxy->call($sessionId, 'product.list', array($filters));
  9.  
  10. var_dump($products);

Example 2. Product create/view/update/delete

  1. $proxy = new SoapClient('http://magentohost/api/soap/?wsdl');
  2. $sessionId = $proxy->login('apiUser', 'apiKey');
  3.  
  4. $attributeSets = $proxy->call($sessionId, 'product_attribute_set.list');
  5. $set = current($attributeSets);
  6.  
  7.  
  8. $newProductData = array(
  9.     'name'              => 'name of product',
  10.      // websites - Array of website ids to which you want to assign a new product
  11.     'websites'          => array(1), // array(1,2,3,...)
  12.     'short_description' => 'short description',
  13.     'description'       => 'description',
  14.     'price'             => 12.05
  15. );
  16.  
  17. // Create new product
  18. $proxy->call($sessionId, 'product.create', array('simple', $set['set_id'], 'sku_of_product', $newProductData));
  19.  
  20. // Get info of created product
  21. var_dump($proxy->call($sessionId, 'product.info', 'sku_of_product'));
  22.  
  23. // Update product name on german store view
  24. $proxy->call($sessionId, 'product.update', array('sku_of_product', array('name'=>'new name of product'), 'german'));
  25.  
  26. // Get info for default values
  27. var_dump($proxy->call($sessionId, 'product.info', 'sku_of_product'));
  28. // Get info for german store view
  29.  
  30. var_dump($proxy->call($sessionId, 'product.info', array('sku_of_product', 'german')));
  31.  
  32. // Delete product
  33. $proxy->call($sessionId, 'product.delete', 'sku_of_product');
  34.  
  35. try {
  36.     // Ensure that product deleted
  37.     var_dump($proxy->call($sessionId, 'product.info', 'sku_of_product'));
  38. } catch (SoapFault $e) {
  39.     echo "Product already deleted";
  40. }