我已经能够通过SOAP创建货件并添加跟踪号,但我无法弄清楚如何通过API向客户发送他们的跟踪号。创建货件时,我可以发送电子邮件,但必须先创建货件,然后才能添加跟踪号。我意识到我可以创建自己的电子邮件并将其发送出去,但如果可能的话,我宁愿坚持使用API。
有没有SOAP方法可以用来做这件事?
创建跟踪编号:
public function addTrackingNumber($trackingNumber)
{
$shipmentID = $this->createShipment();
return $this->client->salesOrderShipmentAddTrack(
$this->sessionId,
$shipmentID,
"ups",
"UPS",
$trackingNumber
);
}发布于 2015-05-15 05:09:14
发货应用编程接口具有未记录的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调用:第一个是创建发货(而不是发送通知电子邮件的),第二个是添加跟踪号,第三个是最终发送通知。
发布于 2013-09-16 17:42:58
这个问题有点过时了,但我遇到了同样的问题,并通过查看Magento API的方法解决了它。
它说,如果您还想通知用户,则必须使用参数创建发货。
https://stackoverflow.com/questions/10864206
复制相似问题