dtuct88226 2015-04-21 11:30
浏览 68

创建订单prestashop api php

I'm trying to create an order using Prestashop's REST API, but I always get this error:

400 Bad Request.

I found a many topics about this problem, but still have not found a solution. I need this for my mobile app.

This is my php code:

$psXML = <<<XML

<prestashop>

<order>
<id/>
<id_address_delivery>11</id_address_delivery>
<id_address_invoice>11</id_address_invoice>
<id_cart>29</id_cart>
<id_currency>1</id_currency>
<id_lang>1</id_lang>
<id_customer>4</id_customer>
<id_carrier>2</id_carrier>
<current_state>11</current_state>
<module>paypal</module>
<invoice_number/>
<invoice_date/>
<delivery_number/>
<delivery_date/>
<valid/>
<date_add/>
<date_upd/>
<shipping_number/>
<id_shop_group>1</id_shop_group>
<id_shop>1</id_shop>
<secure_key>5c42fc9716c397e39275f2f60e243f4d</secure_key>
<payment>PayPal</payment>
<recyclable/>
<gift/>
<gift_message/>
<mobile_theme/>
<total_discounts/>
<total_discounts_tax_incl/>
<total_discounts_tax_excl/>
<total_paid/>
<total_paid_tax_incl/>
<total_paid_tax_excl/>
<total_paid_real/>
<total_products/>
<total_products_wt/>
<total_shipping/>
<total_shipping_tax_incl/>
<total_shipping_tax_excl/>
<carrier_tax_rate/>
<total_wrapping/>
<total_wrapping_tax_incl/>
<total_wrapping_tax_excl/>
<conversion_rate/>
<reference></reference>
<associations>
<order_rows>
<order_rows>
<id/>
<product_id>7</product_id>
<product_attribute_id>34</product_attribute_id>
<product_quantity>1</product_quantity>
<product_name>Robe de soie imprimée - Couleur : Jaune, Taille : S</product_name>
<product_reference>demo_7</product_reference>
<product_ean13/>
<product_upc/>
<product_price>20.501236</product_price>
<unit_price_tax_incl/>
<unit_price_tax_excl/>
</order_rows>
</order_rows>
</associations>
</order>
</prestashop>

XML;



try {
$webService = new PrestaShopWebservice($serverUrl, $serverApiKey, true);
$xml = new SimpleXMLElement($psXML);

$opt = array( 'resource' => 'orders' );
$opt['postXml'] = $xml->asXML();

$xml = $webService->add( $opt );
}
catch (PrestaShopWebserviceException $ex)
{
    echo 'Other error: <br />' . $ex->getMessage();
}
  • 写回答

1条回答 默认 最新

  • duanou3868 2015-04-22 10:43
    关注

    I think something wrong with your xml, please fill the data as given below (all are not required), you can check the field required or not by accessing http://ur-domain.com/api/orders?schema=synopsis

    <?xml version="1.0" encoding="UTF-8"?>
    <prestashop xmlns:xlink="http://www.w3.org/1999/xlink">
    <order>
        <id><![CDATA[1]]></id>
        <id_address_delivery xlink:href="http://localhost/demo-ps/api/addresses/4"><![CDATA[4]]></id_address_delivery>
        <id_address_invoice xlink:href="http://localhost/demo-ps/api/addresses/4"><![CDATA[4]]></id_address_invoice>
        <id_cart xlink:href="http://localhost/demo-ps/api/carts/1"><![CDATA[1]]></id_cart>
        <id_currency xlink:href="http://localhost/demo-ps/api/currencies/1"><![CDATA[1]]></id_currency>
        <id_lang xlink:href="http://localhost/demo-ps/api/languages/1"><![CDATA[1]]></id_lang>
        <id_customer xlink:href="http://localhost/demo-ps/api/customers/1"><![CDATA[1]]></id_customer>
        <id_carrier xlink:href="http://localhost/demo-ps/api/carriers/2"><![CDATA[2]]></id_carrier>
        <current_state xlink:href="http://localhost/demo-ps/api/order_states/6" notFilterable="true"><![CDATA[6]]></current_state>
        <module><![CDATA[cheque]]></module>
        <invoice_number><![CDATA[0]]></invoice_number>
        <invoice_date><![CDATA[0000-00-00 00:00:00]]></invoice_date>
        <delivery_number><![CDATA[0]]></delivery_number>
        <delivery_date><![CDATA[0000-00-00 00:00:00]]></delivery_date>
        <valid><![CDATA[0]]></valid>
        <date_add><![CDATA[2015-01-21 07:15:07]]></date_add>
        <date_upd><![CDATA[2015-01-21 07:15:18]]></date_upd>
        <shipping_number notFilterable="true"></shipping_number>
        <id_shop_group><![CDATA[1]]></id_shop_group>
        <id_shop><![CDATA[1]]></id_shop>
        <secure_key><![CDATA[b44a6d9efd7a0076a0fbce6b15eaf3b1]]></secure_key>
        <payment><![CDATA[Payment by check]]></payment>
        <recyclable><![CDATA[0]]></recyclable>
        <gift><![CDATA[0]]></gift>
        <gift_message></gift_message>
        <mobile_theme><![CDATA[0]]></mobile_theme>
        <total_discounts><![CDATA[0.000000]]></total_discounts>
        <total_discounts_tax_incl><![CDATA[0.000000]]></total_discounts_tax_incl>
        <total_discounts_tax_excl><![CDATA[0.000000]]></total_discounts_tax_excl>
        <total_paid><![CDATA[55.000000]]></total_paid>
        <total_paid_tax_incl><![CDATA[55.000000]]></total_paid_tax_incl>
        <total_paid_tax_excl><![CDATA[55.000000]]></total_paid_tax_excl>
        <total_paid_real><![CDATA[0.000000]]></total_paid_real>
        <total_products><![CDATA[53.000000]]></total_products>
        <total_products_wt><![CDATA[53.000000]]></total_products_wt>
        <total_shipping><![CDATA[2.000000]]></total_shipping>
        <total_shipping_tax_incl><![CDATA[2.000000]]></total_shipping_tax_incl>
        <total_shipping_tax_excl><![CDATA[2.000000]]></total_shipping_tax_excl>
        <carrier_tax_rate><![CDATA[0.000]]></carrier_tax_rate>
        <total_wrapping><![CDATA[0.000000]]></total_wrapping>
        <total_wrapping_tax_incl><![CDATA[0.000000]]></total_wrapping_tax_incl>
        <total_wrapping_tax_excl><![CDATA[0.000000]]></total_wrapping_tax_excl>
        <round_mode><![CDATA[0]]></round_mode>
        <conversion_rate><![CDATA[1.000000]]></conversion_rate>
        <reference><![CDATA[XKBKNABJK]]></reference>
    <associations>
    <order_rows nodeType="order_row" virtualEntity="true">
        <order_row>
        <id><![CDATA[1]]></id>
        <product_id><![CDATA[2]]></product_id>
        <product_attribute_id><![CDATA[10]]></product_attribute_id>
        <product_quantity><![CDATA[1]]></product_quantity>
        <product_name><![CDATA[Blouse - Color : White, Size : M]]></product_name>
        <product_reference><![CDATA[demo_2]]></product_reference>
        <product_ean13></product_ean13>
        <product_upc></product_upc>
        <product_price><![CDATA[26.999852]]></product_price>
        <unit_price_tax_incl><![CDATA[27.000000]]></unit_price_tax_incl>
        <unit_price_tax_excl><![CDATA[27.000000]]></unit_price_tax_excl>
        </order_row>
        <order_row>
        <id><![CDATA[2]]></id>
        <product_id><![CDATA[3]]></product_id>
        <product_attribute_id><![CDATA[13]]></product_attribute_id>
        <product_quantity><![CDATA[1]]></product_quantity>
        <product_name><![CDATA[Printed Dress - Color : Orange, Size : S]]></product_name>
        <product_reference><![CDATA[demo_3]]></product_reference>
        <product_ean13></product_ean13>
        <product_upc></product_upc>
        <product_price><![CDATA[25.999852]]></product_price>
        <unit_price_tax_incl><![CDATA[26.000000]]></unit_price_tax_incl>
        <unit_price_tax_excl><![CDATA[26.000000]]></unit_price_tax_excl>
        </order_row>
    </order_rows>
    </associations>
    </order>
    </prestashop>
    
    评论

报告相同问题?

悬赏问题

  • ¥100 set_link_state
  • ¥15 虚幻5 UE美术毛发渲染
  • ¥15 CVRP 图论 物流运输优化
  • ¥15 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度