电子商务第三方API数据最佳实践

时间:2009-09-15 07:17:14

标签: api e-commerce

以下情况的最佳做法是什么?我有一个电子商务商店,可以降低分销商的库存水平。该网站是否应该在每次用户加载产品详细信息页面时使用第三方API获取最新数据?或者,网站是否应该使用第三方API,然后将该数据存储在其自己的系统中一定时间并定期更新?

对我而言,每次加载产品详细信息页面时都应该更新它,但是高流量电子商务商店呢?那种情况使用完全不同的解决方案吗?

3 个答案:

答案 0 :(得分:1)

在这种情况下,我肯定会将经销商网站的结果缓存一段时间,而不是每次收到请求时都会将其打到。但是,我不会简单地对所有缓存条目使用5分钟或30分钟的超时。相反,我会使用一些启发式方法。如果可能,例如,如果您的应用程序是用Python之类的语言编写的,那么您可以将一个简单的脚本附加到实现超时的每个产品上。

这样,如果它是不经常请求的项目,或者库存量很大的项目,您可以缓存更长的时间。

if product.popularityrating > 8 or product.lastqtyinstock < 20:
   cache.expire(productnum)
distributor.checkstock(productnum)

这为您提供了灵活性,您可以根据需要调用它。最初,您可以将所有规则设置为:

 cache.expireover("3m",productnum)
 distributor.checkstock(productnum)

实际上,脚本可能不会包含checkstock函数调用,因为它将在主应用程序中,但它包含在此处用于上下文。如果python看起来太过重,只能包含这么少的灵活性,那么看看专门为这类工作设计的TCL。两者都可以轻松嵌入到C,C ++,C#和Java应用程序中。

答案 1 :(得分:0)

实际上,还有另一种解决方案。您的经销商将产品目录保存在其服务器上,并允许您通过Open Catalog Interface访问它。当用户想要下订单时,他会被重定向到分销商的目录中,选择商品然后将选择转移回您的商店。

它广泛用于SRM(供应商关系管理)分支。

答案 2 :(得分:0)

这取决于很多因素:网站流量,库存水平变化的频率,替换过时数据的业务影响,供应商允许您调用API的频率,API在可用性和性能方面的SLA , 等等。

获得这些答案后,当然有很多可能性。例如,对于权限较低的站点来说,正确获取库存非常重要,您可能希望在每次调用时调用第三方API,但如果API没有响应则会恢复某些替代行为(例如使用缓存数据)在一定的超时时间内。

有时,精心设计的API将包含有关数据有效期的提示。例如,某些REST-over-HTTP API支持各种HTTP Cache控制头,可用于指定有效期,或者只检索自上次请求以来发生更改的数据。