3

出荷を作成し、SOAP を介して追跡番号を追加することはできましたが、API を介して顧客に追跡番号をメールで送信する方法がわかりません。発送を作成するときにメールを送信できますが、追跡番号を追加する前に発送を作成する必要があります。自分でメールを作成して送信できることはわかっていますが、できれば API に固執したいと思っています。

これを行うために使用できる SOAP メソッドはありますか?

追跡番号の作成:

public function addTrackingNumber($trackingNumber)
{

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

2 に答える 2

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');

そのため、3 つの API 呼び出しを行う必要があります。1 つ目は出荷を作成するため (通知メールは送信しません)、2 つ目は追跡番号を追加するため、3 つ目は最後に通知を送信するためです。

于 2015-05-14T21:09:13.973 に答える
0

この質問は少し古くなっていますが、同じ問題に遭遇し、そのメソッドの Magento APIを見て解決しました。
ユーザーにも通知したい場合は、引数を指定して出荷を作成する必要があると書かれています。

于 2013-09-16T09:42:57.803 に答える