Catalog Product Custom Option Value
Introduction
Resource
catalog_product_custom_option_value
Alias
product_custom_option_value
Methods
product_custom_option_value.add — Add a new custom option value to a selectable custom option. product_custom_option_value.list — Retrieve the list of product custom option values. product_custom_option_value.info — Retrieve full information about the specified product custom option value. product_custom_option_value.update — Update the custom option value. product_custom_option_value.remove — Remove the custom option value.
Faults
| Fault Code | Fault Message |
| 101 | Option value with requested id does not exist. |
| 102 | Error while adding an option value. Details are in the error message. |
| 103 | Option with requested id does not exist. |
| 104 | Invalid option type. |
| 105 | Store with requested code/id does not exist. |
| 106 | Can not delete option. |
| 107 | Error while updating an option value. Details are in the error message. |
| 108 | Title field is required. |
| 109 | Option should have at least one value. Can not delete last value. |
Add
Method
product_custom_option_value.add (SOAP V1) catalogProductCustomOptionValueAdd (SOAP V2)
Allows you to add a new custom option value to a custom option. Note that the custom option value can be added only to the option with the Select input type.
Arguments
| Type | Name | Description |
| string | sessionId | Session ID |
| string | optionId | Option ID |
| array | data | Array of catalogProductCustomOptionValueAdd |
| string | store | Store view ID or code (optional) |
Return
| Type | Description |
| boolean | True if the custom option value is added |
Content `catalogProductCustomOptionValueAdd`
| Type | Name | Description |
| string | title | Custom option value title |
| string | price | Custom option value price |
| string | price_type | Type of the custom option value price. Can have one of the following values: '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. |
| 102 | Error while adding an option value. Details are in the error message. |
| 104 | Invalid option type. |
Examples
Request Example SOAP V1
$proxy = new SoapClient('https://mahohost/api/soap/?wsdl');
$sessionId = $proxy->login('apiUser', 'apiKey');
$productOptionId = 1; // Existing product option ID
// Add custom option value
$customOptionValue = [
'title' => 'Some value text 1',
'price' => 10.00,
'price_type' => 'fixed',
'sku' => 'custom_text_option_sku',
'sort_order' => 0
];
$resultCustomOptionValueAdd = $proxy->call(
$sessionId,
'product_custom_option_value.add',
[
$productOptionId,
[$customOptionValue]
]
);
Request Example SOAP V2
$proxy = new SoapClient('https://mahohost/api/v2_soap/?wsdl');
$sessionId = $proxy->login('apiUser', 'apiKey');
$result = $proxy->catalogProductCustomOptionValueAdd(
$sessionId,
'10',
[
[
'title' => 'value',
'price' => '99.99',
'price_type' => 'fixed',
'sku' => 'sku',
'sort_order' => '1'
]
]
);
var_dump($result);
Request Example SOAP V2 (WS-I Compliance Mode)
$proxy = new SoapClient('https://mahohost/api/v2_soap/?wsdl');
$sessionId = $proxy->login((object)['username' => 'apiUser', 'apiKey' => 'apiKey']);
$result = $proxy->catalogProductCustomOptionValueAdd(
(object)[
'sessionId' => $sessionId->result,
'optionId' => '10',
'data' => [
[
'title' => 'value',
'price' => '99.99',
'price_type' => 'fixed',
'sku' => 'sku',
'sort_order' => '1'
]
]
]
);
var_dump($result->result);
List
Method
product_custom_option_value.list (SOAP V1) catalogProductCustomOptionValueList (SOAP V2)
Allows you to retrieve the list of product custom option values. Note that the method is available only for the option Select input type.
Arguments
| Type | Name | Description |
| string | sessionId | Session ID |
| string | optionId | Option ID |
| string | store | Store view ID or code (optional) |
Returns
| Type | Name | Description |
| array | result | Array of catalogProductCustomOptionValueList |
Content `catalogProductCustomOptionValueListEntity`
| Type | Name | Description |
| string | value_id | Custom option value ID |
| string | title | Custom option value title |
| string | price | Option value price |
| string | price_type | Price type. Possible values: 'fixed' or 'percent' |
| string | sku | Custom option value SKU |
| string | sort_order | Option value sort order (optional) |
Faults
| Fault Code | Fault Message |
| 101 | Provided data is invalid. |
| 102 | Error while adding an option value. Details are in the error message. |
Examples
Request Example SOAP V1
$client = new SoapClient('https://mahohost/api/soap/?wsdl');
$session = $client->login('apiUser', 'apiKey');
$result = $client->call($session, 'product_custom_option_value.list', '3');
var_dump($result);
// When the session can be closed
$client->endSession($session);
Request Example SOAP V2
$proxy = new SoapClient('https://mahohost/api/v2_soap/?wsdl'); // TODO: change url
$sessionId = $proxy->login('apiUser', 'apiKey'); // TODO: change login and pwd if necessary
$result = $proxy->catalogProductCustomOptionValueList($sessionId, '3');
var_dump($result);
Request Example SOAP V2 (WS-I Compliance Mode)
$proxy = new SoapClient('https://mahohost/api/v2_soap/?wsdl');
$sessionId = $proxy->login((object)['username' => 'apiUser', 'apiKey' => 'apiKey']);
$result = $proxy->catalogProductCustomOptionValueList(
(object)[
'sessionId' => $sessionId->result,
'optionId' => '3'
]
);
var_dump($result->result);
Response Example SOAP V1
array
0 =>
array
'value_id' => string '1' (length=1)
'title' => string 'monoblock' (length=9)
'price' => string '139.9900' (length=8)
'price_type' => string 'fixed' (length=5)
'sku' => string 'monoblock' (length=9)
'sort_order' => string '0' (length=1)
1 =>
array
'value_id' => string '2' (length=1)
'title' => string 'slider' (length=6)
'price' => string '239.9900' (length=8)
'price_type' => string 'fixed' (length=5)
'sku' => string 'slider' (length=6)
'sort_order' => string '0' (length=1)
Info
Method
product_custom_option_value.info (SOAP V1) catalogProductCustomOptionValueInfo (SOAP V2)
Allows you to retrieve full information about the specified product custom option value.
Arguments
| Type | Name | Description |
| string | sessionId | Session ID |
| string | valueId | Value ID |
| string | store | Store view ID or code (optional) |
Return
| Type | Name | Description |
| array | result | Array of catalogProductCustomOptionValueInfoEntity |
Content `catalogProductCustomOptionValueInfoEntity`
| Type | Name | Description |
| string | value_id | Option value ID |
| string | option_id | Option ID |
| string | sku | Custom option value row SKU |
| string | sort_order | Option value sort order |
| string | default_price | Option value default price |
| string | default_price_type | Default price type. Possible values are as follows: 'fixed' or 'percent' |
| string | store_price | Option value store price |
| string | store_price_type | Store price type. Possible values are as follows: 'fixed' or 'percent' |
| string | price | Option value price |
| string | price_type | Price type. Possible values are as follows: 'fixed' or 'percent' |
| string | default_title | Option value default title |
| string | store_title | Option value store title |
| string | title | Option value title |
Faults
| Fault Code | Fault Message |
| 101 | Option value with requested id does not exist. |
Examples
Request Example SOAP V1
$client = new SoapClient('https://mahohost/api/soap/?wsdl');
$session = $client->login('apiUser', 'apiKey');
$result = $client->call($session, 'product_custom_option_value.info', '5');
var_dump($result);
Request Example SOAP V2
$proxy = new SoapClient('https://mahohost/api/v2_soap/?wsdl'); // TODO: change url
$sessionId = $proxy->login('apiUser', 'apiKey'); // TODO: change login and pwd if necessary
$result = $proxy->catalogProductCustomOptionValueInfo($sessionId, '5');
var_dump($result);
Request Example SOAP V2 (WS-I Compliance Mode)
$proxy = new SoapClient('https://mahohost/api/v2_soap/?wsdl');
$sessionId = $proxy->login((object)['username' => 'apiUser', 'apiKey' => 'apiKey']);
$result = $proxy->catalogProductCustomOptionValueInfo(
(object)[
'sessionId' => $sessionId->result,
'valueId' => '5'
]
);
var_dump($result->result);
Response Example SOAP V1
array
'option_id' => string '5' (length=1)
'sku' => string 'slider' (length=6)
'sort_order' => string '0' (length=1)
'default_title' => string 'slider' (length=6)
'store_title' => string 'slider' (length=6)
'title' => string 'slider' (length=6)
'default_price' => string '239.9900' (length=8)
'default_price_type' => string 'fixed' (length=5)
'store_price' => string '239.9900' (length=8)
'store_price_type' => string 'fixed' (length=5)
'price' => string '239.9900' (length=8)
'price_type' => string 'fixed' (length=5)
'value_id' => string '2' (length=1)
Update
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 |
Content `catalogProductCustomOptionValueUpdateEntity`
| 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('https://mahohost/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', [$productOptionId]);
$optionValue = reset($optionValues);
$valueId = $optionValue['value_id'];
// Update custom option value
$customOptionValue = [
'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',
[
$valueId,
$customOptionValue
]
);
Request Example SOAP V2
$proxy = new SoapClient('https://mahohost/api/v2_soap/?wsdl');
$sessionId = $proxy->login('apiUser', 'apiKey');
$result = $proxy->catalogProductCustomOptionValueUpdate(
$sessionId,
'2',
[
'title' => 'value',
'price' => '20',
'price_type' => 'fixed',
'sku' => 'sku'
]
);
var_dump($result);
Request Example SOAP V2 (WS-I Compliance Mode)
$proxy = new SoapClient('https://mahohost/api/v2_soap/?wsdl');
$sessionId = $proxy->login((object)['username' => 'apiUser', 'apiKey' => 'apiKey']);
$result = $proxy->catalogProductCustomOptionValueUpdate(
(object)[
'sessionId' => $sessionId->result,
'valueId' => '2',
'data' => (object)[
'title' => 'value',
'sku' => 'sku',
'price' => '199',
'price_type' => 'percent'
]
]
);
var_dump($result->result);
Remove
Method
product_custom_option_value.remove (SOAP V1) catalogProductCustomOptionValueRemove (SOAP V2)
Allows you to remove the custom option value from a product.
Arguments
| Type | Name | Description |
| string | sessionId | Session ID |
| string | valueId | Custom option value ID |
Return
| Type | Description |
| booleanint | True (1) if the custom option value is removed |
Faults
| Fault Code | Fault Message |
| 103 | Option with requested id does not exist. |
| 106 | Can not delete option. |
| 109 | Option should have at least one value. Can not delete last value. |
Examples
Request Example SOAP V1
$proxy = new SoapClient('https://mahohost/api/soap/?wsdl');
$sessionId = $proxy->login('apiUser', 'apiKey');
$productOptionId = 4; // Existing option ID
// Get last value from option values list
$optionValues = $proxy->call($sessionId, 'product_custom_option_value.list', [$productOptionId]);
$optionValue = reset($optionValues);
$valueId = $optionValue['value_id'];
$result = $proxy->call(
$sessionId,
'product_custom_option_value.remove',
[
$valueId
]
);
Request Example SOAP V2
$proxy = new SoapClient('https://mahohost/api/v2_soap/?wsdl'); // TODO: change url
$sessionId = $proxy->login('apiUser', 'apiKey'); // TODO: change login and pwd if necessary
$result = $proxy->catalogProductCustomOptionValueRemove($sessionId, '4');
var_dump($result);
Request Example SOAP V2 (WS-I Compliance Mode)
$proxy = new SoapClient('https://mahohost/api/v2_soap/?wsdl');
$sessionId = $proxy->login((object)['username' => 'apiUser', 'apiKey' => 'apiKey']);
$result = $proxy->catalogProductCustomOptionValueRemove(
(object)[
'sessionId' => $sessionId->result,
'valueId' => '4'
]
);
var_dump($result->result);