亚马逊MWS API:我们下载订单时缺少一些订单
我已经实施了一个系统来下载亚马逊卖家的订单。 系统的工作原理是这样的:
其中一些订单正在等待处理,如果是,我们将它们存储在我们的数据库中,并在下次检查它们以确定它们是否准备好下载。 我们的下一份工作将在接下来的两个小时内完成,要求所有订单从2点到3点58分。
此操作运行正常,但我们的客户开始报告缺失订单。 显然,每隔一段时间,一个订单就会滑过这个众所周知的裂缝,我们不知道为什么。 为了解决这个问题,我们设置了30分钟的重叠时间,以便每次下载订单时,我们都会在过去30分钟内查看。 除了下载冗余订单的惩罚之外,我们必须检查数据库以查看订单是否已经处理完毕,所以它会减慢相当多的事情。
并且在伤口上擦盐,它仍然没有解决问题! 这种情况并不常见,但平均每天缺货0-4份。
通过ListOrders获得订单似乎有许多缺陷。
以下是MWS支持人员的回应,
请注意,订单仅在ListOrders数据中清除了一些内部检查(主要是针对欺诈订单)时才填充。 这意味着在创建订单和API查询(或者在SellerCentral中)之间会出现延迟。 这种延迟通常是几分钟,偶尔半小时,很少有几个小时。
而且一些订单可以很快从待处理状态转移到未处理状态。 订单ID ---只处于待处理状态7秒,并且您所做的所有请求都在此订单实际可用于API填充到ListOrders之前。 即使是订单---在17秒内处于未决状态,并在此之前提出了请求。 一旦收到电子邮件通知,他们就不再处于待处理状态。
由于您在创建日期之前选择了订单,因此您可能很容易错过已创建的订单,但尚未通过暂挂状态。
根据我的经验,获取所有订单的可靠方法是调用GetReportList
,请求所有尚未被确认的_GET_ORDERS_DATA_
报告 - 然后确认您存储在系统中的报告。 亚马逊系统中的“已确认”标志使两个系统保持同步。 这个解决方案的优点是你不必担心时间戳。
上一篇: Amazon MWS API: Some orders are missing when we download orders
下一篇: Amazon Outbound MWS Fulfillment API: Understanding Shipments and Packages