Module: Complex Product API
Resource: product_custom_option
Method:
- product_custom_option.info (SOAP V1)
- catalogProductCustomOptionInfo (SOAP V2)
Allows you to retrieve full information about the custom option in a product.
Arguments:
| Type | Name | Description |
|---|---|---|
| string | sessionId | Session ID |
| string | optionId | Option ID |
| string | store | Store view ID or code (optional) |
Return:
| Type | Name | Description |
|---|---|---|
| array | result | Array of catalogProductCustomOptionInfoEntity |
The catalogProductCustomOptionInfoEntity content is as follows:
| Type | Name | Description |
|---|---|---|
| string | title |
Custom option title |
| string |
type |
Custom option type. Can have one of the following values: "fixed" or "percent" |
| string |
sort_order |
Custom option sort order |
| int | is_require |
Defines whether the custom option is required |
| array | additional_fields |
Array of catalogProductCustomOptionAdditionalFields |
The catalogProductCustomOptionAdditionalFields content is as follows:
| Type | Name | Description |
|---|---|---|
| string | title |
Custom option title |
| string |
price |
Custom option price |
| string |
price_type |
Price type. Possible values are as follows: "fixed" or "percent" |
| string |
sku |
Custom option SKU |
| string |
max_characters |
Maximum number of characters for the customer input on the frontend (optional) |
| string |
sort_order |
Custom option sort order |
| string |
file_extension |
List of file extensions allowed to upload by the user on the frontend (optional; for the File input type) |
| string |
image_size_x |
Width limit for uploaded images (optional; for the File input type) |
| string |
image_size_y |
Height limit for uploaded images (optional; for the File input type) |
| string |
value_id |
Value ID |
Faults:
| Fault Code | Fault Message |
|---|---|
| 101 | Product with requested id does not exist. |
| 104 | Store with requested code/id does not exist. |
| 105 | Option with requested id does not exist. |
Examples
Request Example SOAP V1
$client = new SoapClient('http://magentohost/api/soap/?wsdl');
// If somestuff requires API authentication,
// then get a session token
$session = $client->login('apiUser', 'apiKey');
$result = $client->call($session, 'product_custom_option.info', '1');
var_dump($result);
// If you don't need the session anymore
//$client->endSession($session);
Request Example SOAP V2
$proxy = new SoapClient('http://magentohost/api/v2_soap/?wsdl'); // TODO : change url
$sessionId = $proxy->login('apiUser', 'apiKey'); // TODO : change login and pwd if necessary
$result = $proxy->catalogProductCustomOptionInfo($sessionId, '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->catalogProductCustomOptionInfo((object)array('sessionId' => $sessionId->result, 'optionId' => '1'));
var_dump($result->result);
Response Example SOAP V1
array
'title' => string 'model' (length=5)
'type' => string 'drop_down' (length=9)
'is_require' => string '1' (length=1)
'sort_order' => string '0' (length=1)
'additional_fields' =>
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)