亚马逊MWS / PHP /获得所有订单

时间:2017-05-19 16:48:55

标签: php amazon-web-services amazon-mws

我正试图从亚马逊mws获得所有订单。我知道我一次只能获得100次并且需要使用“nextToken2”来分页数据。 但是,我没有得到的是如何为请求设置setCreatedAftersetCreatedBefore。我发现MWS希望设置两个值非常混乱。

我找到了这段代码:

$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天内获得所有订单。 但我怎样才能获得所有订单?

1 个答案:

答案 0 :(得分:0)

要通过ListOrders获取所有订单,请将setCreatedAfter日期设置为最早订单之前的日期。将setCreatedBefore日期设置为当前日期/时间。这只是您想要退回订单的日期范围。您需要创建一个足以覆盖所有订单的范围。

首次通话后,请检查NextToken。如果它存在,则您有更多订单,因此开始循环直到NextToken为空。一旦它是空的,你就有了所有订单。

注意限制问题。您可能需要放慢操作速度。

另一种方法是使用Reports API,这可以避免限制问题,但还有额外的步骤来设置。