2016-12-07 9 views
1

我想補充包產品進入購物車使用REST API我們究竟需要JSON輸入通過使用Magento的2 REST API

POST添加捆綁產品進入購物車:http://localhost/magento/rest/default/V1/carts/mine/items

輸入

{ 
    "cartItem": { 
    "sku": "Bundle Product", 
    "qty": 4, 
    "quote_id": "29" 
    } 
} 

,但我從Magento的獲得一個錯誤: 「警告:無效參數SUP合股爲的foreach()在/opt/lampp/htdocs/magento/vendor/magento/module-bundle/Model/CartItemProcessor.php在線87"

添加到購物車簡單的產品工作:

{ 
    "cartItem": { 
    "sku": "Simple Product", 
    "qty": 4, 
    "quote_id": "29" 
    } 
} 

請幫我解決這個問題。

回答

0

下面是解決方案。 它基於Magento2(我看到了不同的標籤,但我認爲,根據錯誤消息,您希望它用於Magento2)。

我們假設我們的軟件包由SKU「bundle01」和ID 標識。

首先,讓我們從產品的一些信息:

GET /products/bundle01?searchCriteria

,並採取"extension_attributes" --> "bundle_product_options"部分的音符,特別是關係到你的產品option_id領域。並且不要考慮與產品相關的所有product_links - >id值。

假設我們有3個產品,分別是option_id 643,644,645和id 704,705,706。

有了這些信息,這裏的身體捆綁產品添加到您的購物車:

{ 
"cart_item": { 
    "quote_id": <quote_id>, 
    "sku": "bundle-01", 
    "qty": 1, 
    "product_option": { 
    "extension_attributes": { 
     "bundle_options": [{ 
      "option_id": 643, 
      "option_qty": 1, 
      "option_selections": [704] 
      }, { 
      "option_id": 644, 
      "option_qty": 1, 
      "option_selections": [705] 
      }, { 
      "option_id": 645, 
      "option_qty": 1, 
      "option_selections": [706] 
      }] 
     } 
    } 
} 
} 
+0

這並不爲我工作。 option_selections是否應該是product_ids?另外,如果我在選項集中有> 1個產品並且它們具有不同的數量?我應該將2個條目添加到bundle_options數組中,每個數量爲1? 目前我收到以下消息:「您選擇的選項不可用。」 任何幫助將不勝感激。我希望他們的文檔更深入地討論這個問題。 – colefner

相關問題