OpenAPI 简介
本文分享自天翼云开发者社区《OpenAPI 简介》,作者:蔡****钊
一、什么是 open API
API 的全称是应用编程接口(Application Programming Interface),而所谓的 open API 其实就是一种面向客户的开放接口能力,而对应的客户,从我们以往常规认知的个人产品直接使用用户,变为技术用户。正如很多 SaaS 是提供具体的某个直接可使用的服务或者能力,open API 则是将产品接口化提供类似 PaaS 类的技术能力。
二、常见的 open API 能力
你也许觉得 open API 的能力离我们很远、你也许觉得我们手机上使用的很多应用就是当前使用 app 对应的厂商提供的。实际上,他们只是调用底层平台提供的开放平台能力做接入,并实现的。如:
1.地图类
说起地图,相信大家生活中肯定都离不开。比如常用的高德地图做导航,这是最直观的应用。当渗透如我们生活方方面面的还有比如各类打车软件、外卖平台、甚至基于地图的二手交易平台、交友平台等等。这类平台本身不具备地图能力,都是通过调用第三方平台提供的地图能力,对地图进行展示、基于地图能力对车辆所在点、路线等进行叠加的渲染。甚至我们熟知的谷歌地图,也开放了丰富的地图能力。
2.搜索类
搜索类国内最有名的无非是百度、搜狗等平台。他们提供的搜索接口,可以帮助平台站点建立搜索功能,或者对搜索结果进行排序封装。国外典型的例子如 google search API, yahoo search API 等。
使用方也有如小红书,知乎等,早期可能大家没有搜索能力都会去调用搜索开放平台能力,但平台做大了也可能自己搭建搜索团队。
3.文字资讯类
RSS 订阅接口可以成为几乎所有文字资讯类服务的标准 API,如各类资讯网站和论坛等。但随着订阅类型的产品逐步减少,这类产品和能力也逐渐减少。但也还有许多专有的 API 提供专有的文字资讯类服务,例如 twitter 的 API、craigslist 的 API、豆瓣的 API 等。
4.用户及关系类
国内最大的社交平台不外乎我们熟知的两大社交软件。其提供的各类分享和好友关系能力,也让很多营销工具、社交玩法有了基础根基。也正是有这些开放平台,让此两个社交软件成为各种涉及大众吃喝玩乐方方面面的应用,都能在这两棵大树上生根发芽,从而也让这两棵大树的根基更加地稳固。
5.电子商务类
此类网站主要围绕企业信息和商品信息展开设计。开放此类接口地目的是为了让外部平台使用获利,从而提高电商网站的用户粘性和销量。最典型的有京东的京粉平台,拼多多的多多进宝。这两个平台提供类似“淘客”的分销分佣模式。当内容或者社交平台有自己的用户时,可以通过电商平台的接口调用展示商品,和提供跳转购买链路。当普通用户通过他们的渠道购买后,平台就能获得电商网站的分佣激励。
6.注册类
还有一类时所有人绕不开但却很不起眼的能力,就是最基础的登录注册能力。包括运营商提供的短信验证码服务,真人图形校验,实名验证等等。
三、挑战
挑战 1:选择 API 设计模式
当你在考虑单个产品的 API 表现形式时,首先会选择一种具体的 API 风格,常见的有 Remote Procedure Call 和 Rest-Oriented Architecture 两种模式。不同模式选型意味着后续基础的不同。是最基础的能力决策。
挑战 2:面向资源设计
特别对于使用 api 来访问云服务的过程,本质上是对某种云资源执行特定的操作来完成业务动作。关键在于:
一是要有比较统一的资源模式,才便于进行特定的鉴权。二是要明确资源关系,便于关联鉴权。
挑战 3:设计风格
包括如 API 名称、参数名、属性名、数据格式、错误码等等,都决定了其对外用户使用的风格。要保证命名规范统一、对外易于理解。
挑战 4:服务端容错
容错对于业务来说非常重要。你永远无法预测到业务上下游会出现什么情况,对于边界或者异常的场景,都要能做到容错处理,保证业务不会奔溃。
挑战 5:版本管理
对于版本迭代中,最最重要的是平滑切换。无论是对老业务接口的兼容,还是新接入的业务,都要能做到兼容平滑。否则对老客户的伤害可能会直接导致我们的业务口碑崩坏。
当然,在做开放平台 API 时,会遇到更多挑战。但作为 to B 的业务,一定要有最强的服务意识,本着给用户提供更优质服务的心,相信就能应对各类挑战!
评论