v1.6.0 - Createshipment SOAP V2 Rufen Sie alle Artikel an.
-
16-10-2019 - |
Frage
Wir möchten Bestellungen mit Versanddetails aus einem externen System aktualisieren. Wir haben die Grundlagen erfolgreich gemacht, müssen aber in der Lage sein, Bestellungen teilweise zu versenden.
Die API -Beschreibung scheint dies zuzulassen, http://www.magentocommerce.com/api/soap/sales/Salesordership. und spezifisch:
Anmerkungen: Die Auswahl an OrderItemqty wird für einen teilweisen Versand verwendet. Um Sendung für alle Bestellelemente zu erstellen, müssen Sie diese Attribute nicht angeben.
Die API scheint dies jedoch zu ignorieren. Es scheint keine Rolle zu sein, ob wir es mit allen Gegenständen und 0 ausfüllen, die wir nicht versenden möchten oder sie einfach ausschließen.
Hat jemand anderes auf dieses Problem gestoßen oder musste vorher teilweise Sendungen über die API erstellen?
Vielen Dank
Lösung
Mit Blick auf die Mage_Sales_Model_Order_Shipment_Api_V2
Klasse Sie sollten das folgende Format für das ElementsQty-Array verwenden (wie im Beispiel des WS-I-Compliance-Modus):
array('order_item_id' => '8', 'qty' => '1');
Wenn dem Array die Schlüssel fehlt order_item_id
oder qty
Es ignoriert die angegebenen Zeilen in der Funktion _prepareItemQtyData
Und wenn alle Zeilen übersprungen werden, versenden die API alle Gegenstände.