Комбинации вызывают ошибку дублирования ввода в веб-сервисе prestashop

#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. Спасибо! Сработало как шарм.