我使用prestashop webservice进行集成,
我发送了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抛出webservice产品?或者我是否必须构建自定义模块或其他东西才能获得产品?
非常感谢您的帮助!
答案 0 :(得分:1)
您的XML错误形成。请注意,在查询错误中,id_product和id_product_attribute值为0且为NULL,因此传递给XML的数据永远不会在webservice中找到正确的目标。
如果您有SKU,您必须首先获得通过引用过滤的产品(或ean13或UPC或SKU在Prestashop中表示的字段)。这样你就可以将id_product和id_product_attribute传递给XML中的webservice。
祝你好运。