2012-06-02 36 views
3

我已經能夠通過SOAP創建貨件並添加跟蹤號碼,但我不知道如何通過API向客戶發送跟蹤號碼。在創建貨件時,我可以發送電子郵件,但必須先創建貨件,然後才能添加跟蹤編號。我意識到我可以創建自己的電子郵件併發送出去,但如果可能的話,我寧願堅持使用API​​。Magento SOAP v2:電子郵件客戶跟蹤號碼

有沒有我可以用來做這個的SOAP方法?

創建跟蹤號碼:

public function addTrackingNumber($trackingNumber) 
{ 

    $shipmentID = $this->createShipment(); 
    return $this->client->salesOrderShipmentAddTrack(
       $this->sessionId, 
       $shipmentID, 
       "ups", 
       "UPS", 
       $trackingNumber 
      ); 
} 

回答

0

這個問題有點過時,但我遇到了同樣的問題,通過查看Magento的API該方法解決它。
它說,如果你想要通知用戶也必須創建帶有參數的貨件。

+0

這會導致用戶收到裝運通知電子郵件*,而沒有*追蹤信息。 – leek

2

出貨API有一個未記錄的sendInfo端點。我不確定它何時添加,因此它可能不在您的Magento版本中,但您可以在app/code/core/Mage/Sales/Model/Order/Shipment/Api.php中查找它。在Magento 1.9.1.0它看起來像這樣:

public function sendInfo($shipmentIncrementId, $comment = '') 

你需要從這個向後工作,以獲得正確的代碼,您所使用的API的版本。下面是我的要求樣子(V1):

$result = $client->call($session, 'sales_order_shipment.sendInfo', array('100000001', 'an optional comment')); 

在你的應用程序,我懷疑這會是這個樣子:

return $this->client->salesOrderShipmentSendInfo($shipmentID, 'an optional comment'); 

所以你需要進行三次API調用:首先創建(不是發送通知郵件),第二個添加跟蹤號碼,第三個最終發送通知。