我正试图从亚马逊mws获得所有订单。我知道我一次只能获得100次并且需要使用“nextToken2”来分页数据。
但是,我没有得到的是如何为请求设置setCreatedAfter
和setCreatedBefore
。我发现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天内获得所有订单。 但我怎样才能获得所有订单?
答案 0 :(得分:0)
要通过ListOrders获取所有订单,请将setCreatedAfter
日期设置为最早订单之前的日期。将setCreatedBefore
日期设置为当前日期/时间。这只是您想要退回订单的日期范围。您需要创建一个足以覆盖所有订单的范围。
首次通话后,请检查NextToken
。如果它存在,则您有更多订单,因此开始循环直到NextToken
为空。一旦它是空的,你就有了所有订单。
注意限制问题。您可能需要放慢操作速度。
另一种方法是使用Reports API,这可以避免限制问题,但还有额外的步骤来设置。