Magento API

SOAP

About Magento API

Module: Mage_CatalogInventory

Resource: cataloginventory_stock_item

Aliases:

  • product_stock
Method:
  • cataloginventory_stock_item.update (SOAP V1)
  • catalogInventoryStockItemUpdate (SOAP V2)

Allows you to update the required product stock data.

Aliases:

  • product_stock.update

Arguments:

Type Name Description
string sessionId
Session ID
string product\productId
Product ID or SKU
array data
Array of catalogInventoryStockItemUpdateEntity

Returns:

Type Name Description
int result Result of stock item updating

The catalogInventoryStockItemUpdateEntity content is as follows:

Type Name Description
string qty
Quantity of items to be updated
int is_in_stock
Defines whether the item is in stock
int
manage_stock
Manage stock flag
int
use_config_manage_stock
Use config manage stock
int
min_qty
Minimum quantity for items to be in stock
int
use_config_min_qty
Use config settings flag (value defined in the Inventory System Configuration)
int
min_sale_qty
Minimum quantity allowed in the shopping cart
int
use_config_min_sale_qty
Use config settings flag
int
max_sale_qty
Maximum quantity allowed in the shopping cart
int
use_config_max_sale_qty
Use config settings flag
int
is_qty_decimal
Defines whether the quantity is decimal
int
backorders
Backorders status
int
use_config_backorders
Use config settings flag (for backorders)
int
notify_stock_qty
Stock quantity below which a notification will appear
int
use_config_notify_stock_qty
Use config settings flag (for stock quantity)

Examples

Request Example SOAP V1
$client = new SoapClient('http://magentohost/api/soap/?wsdl');

// If somestuff requires api authentification,
// then get a session token
$session = $client->login('apiUser', 'apiKey');

$productId = '1';
$stockItemData = array(
    'qty' => '100',
    'is_in_stock ' => 1,
    'manage_stock ' => 1,
    'use_config_manage_stock' => 0,
    'min_qty' => 2,
    'use_config_min_qty ' => 0,
    'min_sale_qty' => 1,
    'use_config_min_sale_qty' => 0,
    'max_sale_qty' => 10,
    'use_config_max_sale_qty' => 0,
    'is_qty_decimal' => 0,
    'backorders' => 1,
    'use_config_backorders' => 0,
    'notify_stock_qty' => 10,
    'use_config_notify_stock_qty' => 0
);

$result = $client->call(
    $session,
    'product_stock.update',
    array(
        $productId,
        $stockItemData
    )
);
Request Example SOAP V2
$proxy = new SoapClient('http://magentohost/api/v2_soap/?wsdl'); 
$sessionId = $proxy->login('apiUser', 'apiKey'); 
 
$result = $proxy->catalogInventoryStockItemUpdate($sessionId, 1, array(
'qty' => '49', 
'is_in_stock' => 1
));

var_dump($result);
Request Example SOAP V2 (WS-I Compliance Mode)
$proxy = new SoapClient('http://magentohost/api/v2_soap/?wsdl'); 

$sessionId = $proxy->login((object)array('username' => 'apiUser', 'apiKey' => 'apiKey')); 
 
$result = $proxy->catalogInventoryStockItemUpdate((object)array('sessionId' => $sessionId->result, 'productId' => '1', 'data' => array(
'qty' => '49', 
'is_in_stock' => 1
)));   

var_dump($result->result);