亚马逊MWS上调用ListOrders时缺少多个订单

Dac*_*bah 3 api amazon amazon-web-services amazon-mws

我使用cron作业从亚马逊帐户返回订单,它在2~3周后工作正常.事实上,订单比平时多(由于圣诞节前期),看起来cron任务无法获得所有订单.

所以我决定以不同的方式安排它以避免错过一些订单.现在,cron作业每小时运行一次(而不是每两个小时运行一次),然后我应用于new DateTime('-5 hours', new DateTimeZone('UTC'));CreatedAfter请求的参数(之前,它被指定为-10小时).

我不得不手动运行cron作业以返回在亚马逊界面上可见的缺失订单,因为"未发货"并且客户信息已完全完成.

$start_date = new DateTime('2012-04-12 10:30:00', new DateTimeZone('UTC'));
$request->setCreatedAfter($start_date);

$end_date = new DateTime('2012-04-12 11:30:00', new DateTimeZone('UTC'));
$request->setCreatedBefore($end_date);
Run Code Online (Sandbox Code Playgroud)

你能告诉我为什么还缺少一些订单吗?请询问您是否有更多信息或代码.

Jos*_*own 5

几点想法:

  1. 默认情况下,ListOrders最多返回100个订单.如果订单超过100个,您可以使用ListOrdersByNextToken检索另一组订单.你有必要的时候调用ListOrdersByNextToken吗?
  2. API文档说"对于批量订单数据报告,您应该使用Reports API部分创建订单报告." http://docs.developer.amazonservices.com/en_US/orders/index.html 您是否考虑过调度订单报告(使用Reports API)而不是轮询ListOrders?然后,您可以发回订单确认Feed以确认收到您收到的订单.