Magento API

SOAP

About Magento API

Module: Mage_Catalog

The Mage_Catalog module allows you to manage categories and products.

Resource Name: catalog_category

Aliases:

  • category
Method:
  • catalog_category.update (SOAP V1)
  • catalogCategoryUpdate (SOAP V2)

Update the required category. Note that you should specify only those parameters which you want to be updated.

Aliases:

  • category.update

Arguments:

Type Name Description
string sessionId Session ID
int categoryId ID of the category to be updated
array categoryData An array of catalogCategoryEntityCreate
string storeView Store view ID or code (optional)

Returns:

Type Description
boolean True if the category is updated

The catalogCategoryEntityCreate content is as follows:

Type Name Description
string name Name of the category to be updated
int is_active Defines whether the category is visible in the frontend
int position Position of the category to be updated
arrayOfString
available_sort_by
All available options by which products in the category can be sorted
string
custom_design
The custom design for the category
int
custom_apply_to_products 
Apply the custom design to all products assigned to the category
string
custom_design_from
Date starting from which the custom design will be applied to the category
string
custom_design_to
Date till which the custom design will be applied to the category
string
custom_layout_update
Custom layout update
string
default_sort_by
The default option by which products in the category are sorted
string
description
Category description
string
display_mode
Content that will be displayed on the category view page
int
is_anchor
Defines whether the category will be anchored
int
landing_page
Landing page
string
meta_description
Category meta description
string
meta_keywords
Category meta keywords
string
meta_title
Category meta title
string
page_layout
Type of page layout that the category should use
string
url_key
A relative URL path which can be entered in place of the standard target path
int
include_in_menu
Defines whether the category is visible on the top menu bar in the frontend
string filter_price_range
Price range of each price level displayed in the layered navigation block
int custom_use_parent_settings
Defines whether the category will inherit custom design settings of the category to which it is assigned. 1 - Yes, 0 - No

Faults:
No Faults

Examples

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

// If some stuff requires api authentification,
// then get a session token
$session = $client->login('apiUser', 'apiKey');
$result = $client->call($session, 'catalog_category.update', array(23, array(
    'name' => 'Category name',
    'is_active' => 1,
    'position' => 1,
    //<!-- position parameter is deprecated, category anyway will be positioned in the end of list
    //and you can not set position directly, use catalog_category.move instead -->
    'available_sort_by' => 'position',
    'custom_design' => null,
    'custom_apply_to_products' => null,
    'custom_design_from' => null,
    'custom_design_to' => null,
    'custom_layout_update' => null,
    'default_sort_by' => 'position',
    'description' => 'Category description',
    'display_mode' => null,
    'is_anchor' => 0,
    'landing_page' => null,
    'meta_description' => 'Category meta description',
    'meta_keywords' => 'Category meta keywords',
    'meta_title' => 'Category meta title',
    'page_layout' => 'two_columns_left',
    'url_key' => 'url-key',
    'include_in_menu' => 1,
)));

var_dump ($result);
Request Example SOAP V2
$client = new SoapClient('http://magentohost/api/v2_soap/?wsdl');

// If some stuff requires api authentification,
// then get a session token
$session = $client->login('apiUser', 'apiKey');
$result = $client->catalogCategoryUpdate($session, 23, array(
    'name' => 'Category name 2',
    'is_active' => 1,
    'position' => 1,
    //<!-- position parameter is deprecated, category anyway will be positioned in the end of list
    //and you can not set position directly, use catalog_category.move instead -->
    'available_sort_by' => array('position'),
    'custom_design' => null,
    'custom_apply_to_products' => null,
    'custom_design_from' => null,
    'custom_design_to' => null,
    'custom_layout_update' => null,
    'default_sort_by' => 'position',
    'description' => 'Category description',
    'display_mode' => null,
    'is_anchor' => 0,
    'landing_page' => null,
    'meta_description' => 'Category meta description',
    'meta_keywords' => 'Category meta keywords',
    'meta_title' => 'Category meta title',
    'page_layout' => 'two_columns_left',
    'url_key' => 'url-key',
    'include_in_menu' => 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->catalogCategoryUpdate((object)array('sessionId' => $sessionId->result, 'categoryId' => '23', 'categoryData' => ((object)array(
    'name' => 'Category Name Updated',
    'is_active' => '1',
    'position' => '1',
    'available_sort_by' => array('name'),
    'default_sort_by' => 'name',
    'description' => 'Category description',
    'is_anchor' => '1',
    'include_in_menu' => '1'
))));
var_dump($result->result);