Prestashop 网络服务 API 创建购物车规则

Prestashop webservice API creating cart rules

一直在尝试使用 Prestashop 网络服务创建购物车规则,但没有成功。

尝试了这个 https://github.com/PrestaShop/PrestaShop-webservice-lib/blob/master/examples/Create.php(cart_rules 价值被客户取代)。

但我总是得到同样的错误:属性 CartRule->name is empty.

要求:

<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<cart_rule>
    <id></id>
    <id_customer>1</id_customer>
    <date_from>2017-09-05 13:00:00</date_from>
    <date_to>2020-06-30 13:00:00</date_to>
    <description>1</description>
    <quantity>1</quantity>
    <quantity_per_user>1</quantity_per_user>
    <priority>1</priority>
    <partial_use>1</partial_use>
    <code>11111111111111111111111111111111111111111111111111</code>
    <minimum_amount>1</minimum_amount>
    <minimum_amount_tax>1</minimum_amount_tax>
    <minimum_amount_currency>1</minimum_amount_currency>
    <minimum_amount_shipping>1</minimum_amount_shipping>
    <country_restriction>1</country_restriction>
    <carrier_restriction>1</carrier_restriction>
    <group_restriction>1</group_restriction>
    <cart_rule_restriction>1</cart_rule_restriction>
    <product_restriction>1</product_restriction>
    <shop_restriction>1</shop_restriction>
    <free_shipping>1</free_shipping>
    <reduction_percent>151</reduction_percent>
    <reduction_amount>1</reduction_amount>
    <reduction_tax>1</reduction_tax>
    <reduction_currency>1</reduction_currency>
    <reduction_product>1</reduction_product>
    <reduction_exclude_special>1</reduction_exclude_special>
    <gift_product>1</gift_product>
    <gift_product_attribute>1</gift_product_attribute>
    <highlight>1</highlight>
    <active>1</active>
    <date_add>1</date_add>
    <date_upd>1</date_upd>
    <name>TEST NAME</name>
</cart_rule>
</prestashop>

响应:

<?xml version="1.0" encoding="UTF-8"?>
<prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
<errors>
  <error>
    <code><![CDATA[84]]></code>
    <message><![CDATA[Validation error: "Property CartRule->name is empty."]]></message>
  </error>
</errors>
</prestashop>

购物车规则名称是一个多语言字段,因此您必须指定语言标识。

试试这个:

<cart_rule>
    ...
    <name>
        <language id="1">TEST NAME</language>
    </name>
    ...
</cart_rule>

显然你必须使用正确的 ID 语言