Module: Complex Product API
Resource: product_custom_option_value
Method:
- product_custom_option_value.update (SOAP V1)
- catalogProductCustomOptionValueUpdate (SOAP V2)
Allows you to update the product custom option value.
Arguments:
| Type | Name | Description |
|---|---|---|
| string | sessionId | Session ID |
| string |
valueId | Value ID |
| array | data | Array of catalogProductCustomOptionValueUpdateEntity |
| string | storeId | Store view ID or code (optional) |
Return:
| Type | Description |
|---|---|
| boolean | True if the custom option value is updated |
The catalogProductCustomOptionValueUpdateEntity content is as follows:
| Type | Name | Description |
|---|---|---|
| string | title |
Option value title |
| string |
price |
Option value price |
| string |
price_type |
Price type. Possible values are as follows: "fixed" or "percent" |
| string |
sku |
Custom option value row SKU |
| string |
sort_order |
Custom option value sort order |
Faults:
| Fault Code | Fault Message |
|---|---|
| 101 | Option value with requested id does not exist. |
| 103 | Option with requested id does not exist. |
| 104 | Invalid option type. |
| 107 | Error while updating an option value. Details are in the error message. |
| 108 | Title field is required. |
Examples
Request Example SOAP V1
$proxy = new SoapClient('http://magentohost/api/soap/?wsdl');
$sessionId = $proxy->login('apiUser', 'apiKey');
$productOptionId = 1;// Existing option ID
// Get last value from option values list
$optionValues = $proxy->call($sessionId, "product_custom_option_value.list", array($productOptionId));
$optionValue = reset($optionValues);
$valueId = $optionValue['value_id'];
// Update custom option value
$customOptionValue = array(
"title" => "new title",
"price" => 12.00,
"price_type" => "percent",
"sku" => "custom_text_option_2",
"sort_order" => 2
);
$resultCustomOptionValueUpdate = $proxy->call(
$sessionId,
"product_custom_option_value.update",
array(
$valueId,
$customOptionValue
)
);
Request Example SOAP V2
$proxy = new SoapClient('http://magentohost/api/v2_soap/?wsdl');
$sessionId = $proxy->login('apiUser', 'apiKey');
$result = $proxy->catalogProductCustomOptionValueUpdate($sessionId, '2', array(
'title' => 'value',
'price' => '20',
'price_type' => 'fixed',
'sku' => 'sku'
));
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->catalogProductCustomOptionValueUpdate((object)array('sessionId' => $sessionId->result, 'valueId' => '2', 'data' => ((object)array(
'title' => 'value',
'sku' => 'sku',
'price' => '199',
'price_type' => 'percent'
))));
var_dump($result->result);