2017-05-19 24 views
1

私はamazon mwsからすべての注文を取得しようとしています。私は一度に100回しか取得できず、データをページングするために「nextToken2」を使用する必要があることを認識しています。 しかし、私が得ていないのは、要求のためにsetCreatedAftersetCreatedBeforeを設定する方法です。私は、MWSが両方の値を設定することを期待していると非常に混乱しています。Amazon MWS/PHP /すべての注文を受ける

私はこのコードスニペットを見つけました:

$t1 = date("c", time()-2*24*60*60); 
$t2 = date("c", time()-1*24*60*60); 
$request = new MarketplaceWebServiceOrders_Model_ListOrdersRequest(); 
$request->setSellerId(MERCHANT_ID); 
$request->setMarketplaceId(marketplace_id); 
$request->setCreatedAfter($t1); 
$request->setCreatedBefore($t2); 

それは、過去30日以内にすべての注文を取得します。 しかし、どのように私はすべての注文を得ることができますか?

答えて

0

ListOrdersですべての注文を取得するには、setCreatedAfterの日付を、これまでに受注した最も早い日付より前の日付に設定します。 setCreatedBeforeの日付を現在の日付/時刻に設定します。これは、単に注文を返す日付の範囲です。すべての注文をカバーするのに十分な範囲を作成する必要があります。

最初の電話の後にNextTokenを確認してください。存在する場合は、さらに注文があるので、NextTokenが空になるまでループを開始します。それが空になると、すべての注文があります。

スロットルの問題に注意してください。操作を遅らせる必要があるかもしれません。

もう1つの方法は、スロットルの問題を回避するために追加の手順があるReports APIを使用することです。

関連する問題