2016-11-24 35 views
0

我使用的Prestashop Web服务的集成,增加产品在车用SKU上的Prestashop

我送扔POST http://url/prestashop/api/carts?schema=blank&ws_key=MYKEY=keywords&language=1

与该XML

<prestashop xmlns:xlink="http://www.w3.org/1999/xlink"> 
    <customer> 
     <id_customer>12</id_customer> 
     <id_currency>1</id_currency> 
     <id_lang>1</id_lang> 
     <associations> 
     <cart_rows> 
      <cart_row> 
       <CartRow> 
        <id_product>1</id_product> 
        <id_product_attribute>1</id_product_attribute> 
        <id_address_delivery>10</id_address_delivery> 
        <quantity>1</quantity> 
       </CartRow> 
      </cart_row> 
     </cart_rows> 
     </associations> 
    </customer> 
</prestashop> 

我有两个我想修复的问题,

第一张: 我收到此错误:

<![CDATA[[SQL Error] Column 'id_product_attribute' cannot be null. From CartCore->setWsCartRows() Query was : INSERT INTO `ps_cart_product`(`id_cart`, `id_product`, `id_product_attribute`, `id_address_delivery`, `quantity`, `date_add`, `id_shop`) VALUES (18, 0, NULL, 0, 0, NOW(), 1)]]> 

但id属性和产品是数据库(我查了一下桌子上的产品和prorduct_attribute)

二:

我只有SKU有没有办法让id_product和id_product_attribute抛出web服务产品?或者我必须建立一个自定义模块或获取productid的东西?

非常感谢您的帮助!

回答

1

您的XML错误形成。请注意,在查询错误id_product和id_product_attribute值为0和NULL时,所以传递到XML中的数据在webservice中永远找不到正确的目标。

如果您有SKU,您必须首先获得通过参考(或ean13或UPC或SKU在Prestashop中表示的字段)过滤的产品。这样,你将有id_product和id_product_attribute哟传递给您的XML在Web服务。

祝你好运。