集成外部产品Catelogue APIS

时间:2015-11-06 10:29:20

标签: architecture asp.net-web-api b2b

在我工作的公司,我们运营一个比较网站。我们的产品"是我们从内部和外部来源比较的服务。

我遇到的问题是我们有一个后端CMS式管理系统,管理员和产品管理员可以在其中添加,删除和修改产品。

当一家新的第三方公司出现并希望成为我们服务的一部分时,我们基本上废弃了他们所有产品的API并将其保存在我们的数据库中,仅将定价和服务可用性委托给他们的实时数据。

这样做的好处(以及我们这样做的唯一原因)是让我们的产品管理团队明确控制产品的佣金设置和可用性(IE:我们可以将其关闭并防止它通过我们的api和webservices / sites显示出来。

显而易见的是,如果api上的新产品可用,或者即使我们期望的产品发生变化,我们还有更多的失败点,但是,我遇到的主要问题(以及这篇文章的原因) )是因为我们有很多新产品集成了大量产品并将它们全部输入我们的系统是不可行的。

我的问题是其他人如何处理这种产品目录集成方案?

谢谢, ģ

1 个答案:

答案 0 :(得分:0)

如果我理解正确,你有两种不同的选择加上一些混合动力。

基于api的解决方案:您认为您的所有合作伙伴将具有大致相似的API(产品,数量,功能,价格等)。然后为每个合作伙伴执行转换器/适配器/反腐败层,以将其对象导入模型。有时你的伴侣可能需要他们一些工作。这可能是最简单但也很危险的方式,因为您可能会遇到完全不同且不可转换的模型的合作伙伴。例如,一些拍卖门户网站没有'item'的概念(只有拍卖/描述)。可能没有“数量”之类的东西,但只有“合作伙伴商店的可用性”。价格也可能不固定,但取决于当前的拍卖状态或受欢迎程度(机票)。所以当你遇到这样的模型时,可能无法将其插入你的系统。

类似爬虫的解决方案:你几乎完全忽略了合作伙伴的api。相反,你只是废弃他们的网站,并为您的客户提供全文搜索。这样您就没有任何兼容性问题,但您也没有结构化数据(价格)

hybrids :您可以使用抓取方式并使用任何现有的api来获取任何所需的结构化信息(价格等)。您可以使用机器学习方法从报废数据中检索所需信息,而不是api。