通过 sku 在 prestashop 上将产品添加到购物车

Adding products in cart by sku on prestashop

我正在使用 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 属性和产品在数据库中(我检查了 table 产品和 prorduct_attribute)

第二个:

我只有 sku 有没有办法让 id_product 和 id_product_attribute 抛出 webservice 产品?还是我必须构建一个自定义模块或其他东西才能获得 productid?

非常感谢您的帮助!

你的XML格式错误。请注意,在查询错误中 id_product 和 id_product_attribute 值是 0 和 NULL,因此您传递到 XML 的数据永远不会在网络服务中找到正确的目的地。

如果您有 SKU,则必须首先通过参考(或 ean13 或 UPC 或 SKU 在 Prestashop 中代表的字段)过滤产品。这样你就会有 id_product 和 id_product_attribute 你将它传递给你的 XML.

中的网络服务

祝你好运。