Module: Product Attributes API
Resource: product_attribute
Method:
- product_attribute.update (SOAP V1)
- catalogProductAttributeUpdate (SOAP V2)
Allows you to update the required attribute.
Arguments:
Type | Name | Description |
---|---|---|
string | sessionId | Session ID |
string | attribute |
Attribute code or ID |
array | data | Array of catalogProductAttributeEntityToUpdate |
Returns:
Type | Description |
---|---|
boolean | True if the attribute is updated |
The catalogProductAttributeEntityToUpdate content is as follows:
Type | Name | Description |
---|---|---|
string | scope |
Attribute scope. Possible values are as follows: 'store', 'website', or 'global' |
string | default_value |
Attribute default value |
int | is_unique |
Defines whether the attribute is unique |
int | is_required |
Defines whether the attribute is required |
ArrayOfString | apply_to |
Apply to. Empty for "Apply to all" or array of the following possible values: 'simple', 'grouped', 'configurable', 'virtual', 'bundle', 'downloadable', 'giftcard' |
int | is_configurable |
Defines whether the attribute can be used for configurable products |
int |
is_searchable |
Defines whether the attribute can be used in Quick Search |
int |
is_visible_in_advanced_search |
Defines whether the attribute can be used in Advanced Search |
int |
is_comparable |
Defines whether the attribute can be compared on the frontend |
int |
is_used_for_promo_rules |
Defines whether the attribute can be used for promo rules |
int |
is_visible_on_front |
Defines whether the attribute can be visible on the frontend |
int |
used_in_product_listing |
Defines whether the attribute can be used in product listing |
associativeArray | additional_fields |
Array of additional fields |
array | frontend_label |
Array of catalogProductAttributeFrontendLabel |
The AdditionaFieldsEntity array of additional fields for the text type is as follows:
Type | Name | Description |
---|---|---|
string | frontend_class | Input Validation for Store Owner. Possible values: 'validate-number' (Decimal Number), 'validate-digits' (Integer Number), 'validate-email', 'validate-url', 'validate-alpha' (Letters), 'validate-alphanum' (Letters (a-z, A-Z), or Numbers (0-9)) |
boolean | is_html_allowed_on_front | Defines whether the HTML tags are allowed on the frontend |
boolean | used_for_sort_by | Defines whether it is used for sorting in product listing |
The AdditionaFieldsEntity array of additional fields for the text area type is as follows:
Type | Name | Description |
---|---|---|
boolean | is_wysiwyg_enabled | Enable WYSIWYG flag |
boolean | is_html_allowed_on_front | Defines whether the HTML tags are allowed on the frontend |
The AdditionaFieldsEntity array of additional fields for the date and boolean types is as follows:
Type | Name | Description |
---|---|---|
boolean | used_for_sort_by | Defines whether it is used for sorting in product listing |
The AdditionaFieldsEntity array of additional fields for the multiselect type is as follows:
Type | Name | Description |
---|---|---|
boolean | is_filterable | Defines whether it used in layered navigation |
boolean | is_filterable_in_search | Defines whether it is used in search results layered navigation |
integer | position | Position |
The AdditionaFieldsEntity array of additional fields for the select and price types is as follows:
Type | Name | Description |
---|---|---|
boolean | is_filterable | Defines whether it used in layered navigation |
boolean | is_filterable_in_search | Defines whether it is used in search results layered navigation |
integer | position | Position |
boolean | used_for_sort_by | Defines whether it is used for sorting in product listing |
The catalogProductAttributeFrontendLabel content is as follows:
Type | Name | Description |
---|---|---|
string | store_id | Store ID |
string | label | Text label |
Faults:
Fault Code | Fault Message |
---|---|
101 | Requested attribute not found. |
105 | Unable to save attribute. |
107 | This attribute cannot be edited. |
Examples
Request Example SOAP V1
$proxy = new SoapClient('http://magentohost/api/soap/?wsdl'); $sessionId = $proxy->login('apiUser', 'apiKey'); $attributeToUpdate = array( "scope" => "global", "is_unique" => 1, "is_required" => 1, "is_configurable" => 1, "is_searchable" => 1, "is_visible_in_advanced_search" => 0, "used_in_product_listing" => 0, "additional_fields" => array( "is_filterable" => 1, "is_filterable_in_search" => 0, "position" => 2, "used_for_sort_by" => 0 ), "frontend_label" => array( array( "store_id" => 0, "label" => "A Test Attribute" ) ) ); $result = $proxy->call( $sessionId, "product_attribute.update", array( $attributeToUpdate ) );
Request Example SOAP V2
<?php //ini_set("soap.wsdl_cache_enabled", 0); $client = new SoapClient('http://magentohost/api/v2_soap/?wsdl'); //V2 $session = $client->login('apiUser', 'apiKey'); // V2 WS-I Mode //$response = $client->login(array('username' => 'apiUser', 'apiKey' => 'apiKey')); //$session = $response->result; //v2 $attributeCode = "code1"; $data = array( "frontend_input" => "text", "scope" => "1", "default_value" => "1", "is_unique" => 0, "is_required" => 0, "apply_to" => array("simple"), "is_configurable" => 0, "is_searchable" => 0, "is_visible_in_advanced_search" => 0, "is_comparable" => 0, "is_used_for_promo_rules" => 0, "is_visible_on_front" => 0, "used_in_product_listing" => 0, "additional_fields" => array(), "frontend_label" => array(array("store_id" => "0", "label" => "some random label updated")) ); $orders = $client->catalogProductAttributeUpdate($session, $attributeCode, $data); //V2 WSI //WSDL WSI Sample is not complete //$result = $client->catalogProductAttributeCreate(array("sessionId" => $session, "data" => $data)); //$orders = $result->result->complexObjectArray; echo 'Number of results: ' . count($orders) . '<br/>'; var_dump ($orders); ?>