我正在尝试使用xml通过prestashop 1.7网络服务添加组合产品。该产品的功能还不错,但是当我尝试添加组合时,只有第一个成功,其他的又被弹回,并出现以下错误
<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标记包围。这项功能可用于我遇到的所有其他呼叫,但不适用于此呼叫,如果我将每个呼叫的组合都发送给一个单独的呼叫,则我会遇到相同的错误。 我是否缺少父亲对象的某些设置?有关该主题的文档非常缺乏。
答案 0 :(得分:2)
问题出在<default_on>1</default_on>
部分,每个产品只能在 1 上默认打开使用一个组合。