I want to include additional attributes to be included when I create magento product using SOAP.
I'm using Magento ver. 1.9.2.4
I tried with the following code
$result = $client->call($session, 'catalog_product.create', array('simple', $product_data['attr_id'], $product_data['sku'], array(
'categories' => array(2),
'websites' => array(1),
'name' => $product_data['name'],
'description' => $product_data['description'],
'short_description' => $product_data['short_description'],
'weight' => $product_data['weight'],
'status' => '2',
'visibility' => '4',
'price' => $product_data['price'],
'tax_class_id' => 1,
'meta_title' => '',
'meta_keyword' => '',
'meta_description' => '',
'additional_attributes' => array(
array('key'=>'brand', 'value'=>'HTC'),
array('key'=>'model', 'value'=>'Desire'),
)
)));
You can also have a look at a part of the following file I have located at /public_html/app/code/core/Mage/Catalog/Model/Product/Api/V2.php
if (property_exists($productData, 'additional_attributes')) {
if (property_exists($productData->additional_attributes, 'single_data')) {
foreach ($productData->additional_attributes->single_data as $_attribute) {
$_attrCode = $_attribute->key;
$productData->$_attrCode = $_attribute->value;
}
}
if (property_exists($productData->additional_attributes, 'multi_data')) {
foreach ($productData->additional_attributes->multi_data as $_attribute) {
$_attrCode = $_attribute->key;
$productData->$_attrCode = $_attribute->value;
}
}
if (gettype($productData->additional_attributes) == 'array') {
foreach ($productData->additional_attributes as $k => $v) {
$_attrCode = $k;
$productData->$_attrCode = $v;
}
}
unset($productData->additional_attributes);
}
I was only able to create product with no additional attribute!
Can anyone help with this parameter additional_attributes
? What mistake did I make here?
Best Answer
you called v1 function ->call and looking into soap api v2. try to use my following code