0
我在具有2行Magento的1.x的訂單。其中一種是簡單的產品,另一種是可配置的產品。兩種產品的order_qty
是2
。創建通過SOAP API V2在Magento的具體項目與配置的產品的訂單出貨 - 無法創建一個空的貨物錯誤
我試圖創建可配置產品之一的裝運的1
這裏的量是我requestBody
(JSON對象),其定義特定的貨物我想創建:
{
"orderIncrementId":"100006762",
"items":[
{
"sku":"ABCD1234",
"qty":1
}
]
}
這裏是展示出貨創造我實現的一部分:如文檔中列出這裏
// Parse shipment sku => qty hash map
$shipmentQtys = [];
foreach ($requestBody['items'] as $shipmentItem)
$shipmentQtys[$shipmentItem['sku']] = (int)$shipmentItem['qty'];
// Load sales order info
$orderInfo = $this->getOrder($requestBody['orderIncrementId']);
// Build itemsQty from shipment
$itemsQty = [];
foreach ($orderInfo->items as $orderItem) {
if ($orderItem->product_type != 'simple') {
continue;
}
$itemSku = $orderItem->sku;
$itemId = $orderItem->item_id;
if (array_key_exists($itemSku, $shipmentQtys)) {
$itemsQty[] = [
'order_item_id' => $itemId,
'qty' => $shipmentQtys[$itemSku]
];
}
}
// Create shipment
$comments = '';
$email = false;
$includeComment = false;
$shipmentIncrementId = $this->apiClient->salesOrderShipmentCreate(
$this->sessionId,
$orderIncrementId,
$itemsQty,
$comments,
$email,
$includeComment);
// Debug
var_dump($shipmentIncrementId);
我使用SOAP API的V2, :http://devdocs.magento.com/guides/m1x/api/soap/sales/salesOrderShipment/sales_order_shipment.create.html
當我的代碼運行時,我得到以下錯誤:
Cannot create an empty shipment.
所以我甩我$itemQty
,以確保我已經分析的匹配SKU爲一個簡單的產品,它有正確的數據:
Array
(
[0] => Array
(
[order_item_id] => 9657
[qty] => 1
)
)
任何想法可能是錯誤的?
我嘗試這樣做,仍然沒有工作。我認爲問題與爲可配置產品創建貨件有關。 – Latheesan
我們不能在magento中進行可配置產品的裝運,而不是僅對配置子產品進行裝運。 –
我知道這一點。如果你看看我的代碼,當我遍歷訂單項時,我只加載'item_id',其中'product_type' ='simple'。 – Latheesan