0

我正在尝试实施将所有未发货(在亚马逊术语中意味着:付款授权和发货待处理)亚马逊订单导入客户 ERP 系统的程序(针对 SME 客户)。然后,SME 员工准备发货并将订单标记为在 ERP 系统中发货。然后,ERP 系统(使用 Amazon Feeds API)将 Amazon 订单更新(关于发货)发送到 Selling Partner API。这似乎是非常合乎逻辑的用例/集成,因为 ERP 包含有关所有销售的所有数据(ERP 可以进行完整的销售分析)是很好的,并且 ERP 必须包含所有订单的信息以计算和报告税款.

但是我遇到了以下问题:https://github.com/amzn/ sell getOrders -partner-api-docs/blob/main/references/orders-api/ordersV0.md命令检索长列表或订单,这很好. 但是 - 正如我从测试请求中看到的那样,getOrdersResponse并且getOrderResponse不包含有关项目/行(商品、售出的物品)的数据,并且对于那些可以打开getOrdersResponsegetOrderResponse结构中的行数据返回的操作没有参数。

因此,要获取项目/行,我的程序需要getOrderItems为每个订单发出单独的请求。这是大量的额外请求!

亚马逊严格限制了请求率——例如标准速率是 0.0055 次请求,突发 20,这意味着我的程序可以每 3 分钟发出 1 个请求或每 1 小时发出一包 20 个请求(这些是四舍五入的值,实际上,允许的请求率有点低),仅此而已。如果商店每小时销售 30 个订单,而我的程序尝试将这些订单导入 ERP,那么我的程序需要getOrderItems每小时发出 30 个单独的请求,这在标准费率下是不允许的。

我不明白情况。我的设计是不是很糟糕——也就是说,在 ERP 系统中几乎以在线或弱异步方式(甚至根本没有?)导入完整的亚马逊订单不是一个好主意?或者我错过了我的程序可能会在getOrders要求?或者我应该使用其他报告销售 API 功能在我的系统中获取销售数据包以进行分析和税务报告?或者亚马逊和 ERP 应用程序之间的这种集成和分发或人工是错误的 - 例如,亚马逊表单可能对用户非常友好,以至于我客户的仓库工作人员可以使用亚马逊表单来打包和运送订单并将订单标记为已发货(并且无需为此使用 ERP 表格)?或者,这种 Amazon-ERP 集成可能只适用于能够负担特殊请求费率计划的大型企业?

所以 -我的技术和设计问题是确定我应该向亚马逊提出的参数和要求。但我感到困惑,因为我试图解决的技术问题揭示了导致该技术问题的设计决策中的错误,这就是为什么应该纠正设计决策而不是解决技术问题(这可能是不可能的)在当前的设计决策和亚马逊请求率限制下)。我不知道......而且我担心 SO 不喜欢这种混乱,但仍然 - 开发人员可能处于我现在所处的情况......

4

0 回答 0