现在,为了改善您的服务,找到一个外部API变得越来越容易。越来越多的公司提供API。问题是许多开发人员/ CTO立即启动API集成,而这应该是最后一步!在此之前,您需要确定此API的质量是否符合某些最低要求。我告诉你我是怎么做到的。我希望它能帮助其他CTO和开发人员。
数据质量
许多API公开数据以便您丰富您的系统(当然并非总是如此,例如,Stripe不是一个丰富API)。检查这些数据的质量至关重要。这将花费你很长时间,我知道你不喜欢测试!我也不是,但你不能避免在这里建立一个严肃的测试场景。如果您在完成API集成后仅2周就意识到数据质量不够好,请相信我,你会后悔...
文档
我最近遇到了一个暴露了大量数据的API(在我看来比他的竞争对手要好得多),但它的文档很糟糕!实际上它几乎不存在。除此之外,它并不总是尊重基本的REST标准。如果没有正确记录错误代码,您如何可能集成外部API?那么唯一的解决方案就是让你一次又一次地进行测试,以便了解引擎盖后面的工作原理。逆向工程可能很有趣,但需要花费很多时间。记住你没有Github回购在这里探索,因为源代码不可用...糟糕的文档是开发人员的大量时间损失,中期肯定会有惊喜。
图书馆
您可以使用您喜欢的语言使用特殊库来使用API吗?作为Python和Go开发人员,我总是很高兴看到提供Python库的API(我知道我现在可以忘记Go)。它可以为您节省大量时间,但首先要确保lib足够成熟并涵盖所有API功能(并非总是如此)。
供应商的声誉
声誉可以帮助您了解将来是否会对您的API产生不良后果。通过坏的惊喜我的意思是服务中断,功能回归,甚至是服务的结束......你可以部分解决,通过问自己以下几个问题:
- 这个API在互联网上很受欢迎(一般来说,如果你发现很少的信息,逃跑)?是否有很多文章/教程在谈论它?那些文章是正面的吗?
- 是一些受欢迎的公司使用它?
- 如果公司开发了libs,它们在Github上很受欢迎吗?Github上的问题是否经常解决?
- 是否有API的最新更新或很久以前发布的最新更新?
技术支援
当您遇到问题并且答案相关时,请确保有人通过电子邮件快速回复您。如果您位于欧洲并且API由美国公司运营,请检查时差是否不是太大问题。
尊重标准
在我看来,您今天只选择RESTful API。如果您喜欢的API不遵守REST标准,那就要小心了。但请记住,REST标准的含义并不完全清楚,每个API都实现了自己的规则(HTTP代码,POST请求编码,......)。不过,仔细查看文档,并检查您是否看不到原始内容。创意将减慢你的速度......
价钱
当然价格非常重要。但要小心,API价格并不总是易于理解。您是否会因为无限量的请求而每月收费?按要求收费?如果是这样,您将被收取两次相同的请求(如果是浓缩API)或第二个请求是免费的吗?您是否会因没有返回结果的请求(HTTP 404)而被收费?确保您了解定价的所有含义。
服务质量(QoS)
QoS非常重要。基本上,您希望API快速运行并尽可能减少停机时间。不幸的是,这不是一个容易测试的问题。实际上,QoS可能会随着时间的推移而变化很多,并且许多API提供2级QoS,具体取决于您使用的是免费版API还是您付费的...有时您也可以选择具有不同响应时间级别的不同订阅。
并行查询支持
根据您计划集成API的方式,您可能希望通过对API进行多个并行查询而不是按顺序查询来加快速度。就个人而言,我大部分时间都在使用Golang。如果是这样,请小心:许多供应商不支持并行查询,当他们这样做时,他们总是设置限制。在这种情况下,请务必询问他们这个限制是什么(并不总是在文档中说明)并根据此调整脚本。
这篇文章对我来说将是一个很好的备忘录。