#xml #api #web-services #prestashop
#xml #API #веб-сервисы #prestashop
Вопрос:
Я пытаюсь добавить продукт с комбинацией через веб-сервис prestashop 1.7, используя xml. Продукт добавляется нормально, но когда я пытаюсь добавить комбинацию, только первая из них успешна, остальные возвращаются со следующей ошибкой
<error>
<code><![CDATA[97]]></code>
<message><![CDATA[[SQL Error] Duplicate entry '53-1' for key 'product_default'. From ObjectModelCore->add() Query was : INSERT INTO `pstk_product_attribute`...</message>
</error>
Это XML, который я отправляю, он анализируется правильно, и, конечно, продукт уже существует, и все значения product_option_values определены предыдущими вызовами.
'<combination>'
'<id_product xlink:href="https://myprestashop.com/api/products/' id '">' id '</id_product>'
'<quantity>' stock '</quantity>'
'<reference>' reference '</reference>'
'<wholesale_price>' wholesale_price '</wholesale_price>'
'<price>' price '</price>'
'<minimal_quantity>1</minimal_quantity>'
'<low_stock_alert>0</low_stock_alert>'
'<default_on>1</default_on>'
'<associations>'
'<product_option_values>'
'<product_option_value xlink:href="https://myprestashop.it/api/product_option_values/' color '">'
'<id>' color '</id>'
'</product_option_value>'
'<product_option_value xlink:href="https://myprestashop.com/api/product_option_values/' size '">'
'<id>' size '</id>'
'</product_option_value>'
'</product_option_values>'
'</associations>'
'</combination>'
Для каждого варианта создается идентичный XML-блок, и результирующая строка затем окружается тегом prestashop. Это работает для всех других вызовов, с которыми я сталкивался, но не для этого, заметно, что я получаю ту же ошибку, если отправляю комбинации с отдельным вызовом для каждого.
Я пропустил некоторые настройки для родительского объекта? Документации по этому вопросу очень не хватает.
Ответ №1:
Проблема заключается в том <default_on>1</default_on>
, что только одна комбинация для каждого продукта может быть default_on на 1 .
Комментарии:
1. Спасибо! Сработало как шарм.