ソープのデフォルトメソッドを使用すると、注文IDで出荷IDを取得できなくなります。このためには、Mage/Sales/Model/Order/Shipment/Api.phpをオーバーライドし、下記のようにメソッドを拡張する必要があります。アプリ/コード/ローカル/名前空間/ MODULENAMEの/ etc/config.xmlに
<models>
<sales>
<rewrite>
<order_shipment_api>Namespace_Modulename_Model_Sales_Order_Shipment_Api</order_shipment_api>
</rewrite>
</sales>
</models>
今すぐアプリ/コード/ローカル/名前空間/ MODULENAME /モデル/販売/受注/出荷/メソッドを生成Api.php
class Namespace_Modulename_Model_Sales_Order_Shipment_Api extends Mage_Sales_Model_Order_Shipment_Api
{
/**
* Retrieve shipment information
*
* @param string $shipmentIncrementId
* @return array
*/
public function info($id, $attribute = null)
{
if(!empty($attribute)){
$ids = Mage::getModel('sales/order_shipment')->getCollection()
->addAttributeToFilter($attribute, $id)
->getAllIds();
if (!empty($ids)) {
reset($ids);
$shipment = Mage::getModel('sales/order_shipment')->load(current($ids));
}
}else{
$shipment = Mage::getModel('sales/order_shipment')->loadByIncrementId($id);
}
/* @var $shipment Mage_Sales_Model_Order_Shipment */
if (!$shipment->getId()) {
$this->_fault('not_exists');
}
$result = $this->_getAttributes($shipment, 'shipment');
$result['items'] = array();
foreach ($shipment->getAllItems() as $item) {
$result['items'][] = $this->_getAttributes($item, 'shipment_item');
}
$result['tracks'] = array();
foreach ($shipment->getAllTracks() as $track) {
$result['tracks'][] = $this->_getAttributes($track, 'shipment_track');
}
$result['comments'] = array();
foreach ($shipment->getCommentsCollection() as $comment) {
$result['comments'][] = $this->_getAttributes($comment, 'shipment_comment');
}
return $result;
}
}
は今、あなたは(出荷IDを含む)の出荷情報を取得するには、ここコミ着陸人々のため
$result = $this->_client->salesOrderShipmentInfo($sessionId, $orderId, 'order_id');
var_dump($result);
をこのSOAPメソッドを呼び出すことができますGoogleの検索結果からは、完全なSOAP APIアプローチがあるhttps://stackoverflow.com/questions/29286210を参照してください。 – user2094178