【问题标题】:Magento SOAP v2: Email customer tracking numberMagento SOAP v2:电子邮件客户跟踪号
【发布时间】:2012-06-02 16:51:59
【问题描述】:

我已经能够通过 SOAP 创建一个货件并添加一个跟踪号,但是我一直不知道如何通过 API 向客户发送他们的跟踪号。创建货件时,我可以发送电子邮件,但必须先创建货件,然后才能添加跟踪号。我意识到我可以创建自己的电子邮件并将其发送出去,但如果可能的话,我宁愿坚持使用 API。

有没有我可以使用的 SOAP 方法来做到这一点?

创建跟踪号:

public function addTrackingNumber($trackingNumber)
{

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

【问题讨论】:

    标签: magento soap magento-1.6


    【解决方案1】:

    货件 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 调用:第一个创建货件(发送通知电子邮件),第二个添加跟踪号,第三个最终发送通知。

    【讨论】:

      【解决方案2】:

      这个问题有点过时了,但我遇到了同样的问题,并通过查看 Magento API 的方法解决了这个问题。
      它说如果您也想通知用户,则必须使用参数创建货件。

      【讨论】:

      • 这会导致用户收到发货通知电子邮件没有跟踪信息。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-25
      • 2015-09-26
      • 2011-06-30
      • 1970-01-01
      • 2014-07-30
      相关资源
      最近更新 更多