v1.6.0 - вызов CreateShipment SOAP v2 отправляет все товары


Мы хотим обновить заказы деталями отгрузки из внешней системы. Мы успешно выполнили основы, но должны иметь возможность частично отправлять заказы.

Описание API, по-видимому, позволяет это, http://www.magentocommerce.com/api/soap/sales/salesOrderShipment/sales_order_shipment.create.html{[5] } и конкретно:

Примечания: Массив orderItemQty используется для частичной отгрузки. Чтобы создать отгрузку для всех позиций заказа, вы не нужно указывать эти атрибуты.

Однако API, похоже, игнорирует это. Кажется, не имеет значения, если мы заполним его всеми товарами и вычеркнем те, которые мы не хотим отправлять, или просто полностью исключим их.

Кто-нибудь еще сталкивался с этой проблемой или раньше приходилось создавать частичные поставки через API?

Спасибо

Author: Gerwood, 2013-08-14

1 answers

Глядя на класс Mage_Sales_Model_Order_Shipment_Api_V2, вы должны использовать следующий формат для массива itemsQty (как в примере режима соответствия WS-I):

array('order_item_id' => '8', 'qty' => '1');

Если в массиве отсутствуют ключи order_item_id или qty, он проигнорирует указанные строки в функции _prepareItemQtyData, и когда все строки будут пропущены, API отправит все элементы.

 4
Author: Vladimir Kerkhoff, 2013-08-14 06:40:51