对于很多产品新手或者求职者来说,API接口是一个产品和研发领域的专业术语,大家可能在文章或者PRD中接触过API接口这个概念。
其实接口的应用已经非常广泛和成熟了,这个概念主要活跃在公司内部各个系统之间的连接对接,以及公司之间的合作上,如果你能仔细看完这篇文章,相信你会对API接口有更深入的理解,甚至比90%的菜鸟和求职者还要深刻。
本文内容:
API接口是什么?
为什么需要API接口?
API接口的核心
1.什么是API接口?
我们先用一个常见的数学公式来理解API,比如y=x+2,当x=2的时候,y=4,对吧?
此时我们称y=x+2为接口,x=2为参数,y=4为返回结果,这个接口的作用就是把我们输入的数字加2(注意:这里可以发现接口本身是有逻辑的)。
打个比方,我们来理解一个常见的场景,比如有一个接口,可以将经度、纬度转换成城市,当我输入经度55°,纬度88°时,接口通过自己的逻辑运算返回结果:杭州市。
这样你就能很清楚的了解百度百科官方的解释,接口是预先定义好的一些功能逻辑,是给其他系统去请求然后返回结果的东西。
2.为什么需要API接口?
背景:我们的业务系统涉及面比较广,如果让一个公司或者一个系统来完成所有的业务,工作量是不是太大了?而且如果其他系统或者公司有更好的操作逻辑,在功能设计的时候可以考虑使用接口的方式进行开发。
核心要求:利用现有的接口,可以降低开发成本,缩短开发成本。
比如我是一个打车APP,现在需要在我的页面上展示地图功能,对于我公司来说,自己新建一个地图功能成本太高,那么我们可以在高德地图开放平台或者百度地图开放平台上找到地图API,这样我们只需要购买高德地图的服务,部署并调用高德地图API,就可以快速的在我们的页面上上线地图功能。
3. API接口核心
对于一个新手来说,第一眼看到API文档可能会感到困惑——从哪里开始,怎么读,读什么都是摆在面前的问题。
其实对于产品经理来说,我们更应该关注公司可以提供什么样的API接口服务,比如我知道高德地图可以提供地图API、路线规划API,这样我们在设计功能、工作的时候就可以想到调用他们的服务或者引用。
所以产品新手不用太担心看不懂,在以后的工作中你会理解的更深刻,因为理解起来并不复杂,下面就是API接口的核心点,所有的说明文档都离不开这5个核心点。
以下的说明都是基于微信开放平台的,各个开放平台的地址在文章最后,有时间可以自己去了解一下。好了,废话不多说,我们来搭建一个场景吧。
我们现在有一个APP,需要用户调用微信支付API才能完成购买,请自动进入这个场景,把自己想象成一个产品经理。
1. 接口地址
现在,用户点击了支付按钮,我们需要告诉微信,我们要调出你的收银台!但是我们要在哪里告诉它呢?这就需要接口地址,相当于把指定的数据传输到微信的这个链接上。

链接地址不是我们理解的网页,你可以把它想象成电话号码,新手需要改变这个观念。
此时我们可以看到接口文档告诉我们链接如下,所以现在我们已经拨打了微信电话号码。
2.请求参数(消息)
现在我们要告诉微信,你要呼叫收银员,对吧?那我们就需要记下来。这时候生成的东西就叫消息,就是你要告诉这个接口的东西?相当于上一个函数的输入x=2。
一般来说,接口文档中都会规定消息的格式和内容,下面是微信开放平台切换收银台的消息要求。
我们先看前两个参数,你现在是在跟微信对话,难道不应该先告诉微信你是谁吗?这里微信的文档告诉你,要用应用ID+商户号来判断身份,什么意思呢?
比如你是商户A,你有a、b、c三个APP,那么微信就需要知道你是哪个商户,下面哪个APP要用收银台。这个很重要,因为微信后面会把收到的钱转到对应的账户,还有统计数据。
然后我们在消息中写下这两句话:
OK,现在微信知道你是谁了,那你需要告诉微信,你想让微信支付收多少钱,对吧?这里定义好币种和总金额,也就是收什么币种,收多少。
这里看到货币类型是必须填写的,也就是说你不用告诉微信支付货币类型是什么,因为后面有注明默认是人民币。
好的,让我们写两条消息。
OK,现在微信知道你是谁,知道你要付多少钱了。那么微信支付需要告诉你支付结果,因为你需要知道用户支付成功了,才能继续发货,提供服务等。所以这里我们使用通知地址,就是告诉微信支付完成后在哪里告诉你支付结果。我们来写一下地址:
3. 返回结果
微信支付刚刚收款,现在会在我们留下的通知地址告诉我们结果,结果只有两种:收款成功?收款失败?
(1)成功
一切顺利,用户支付成功,微信也把支付成功的信息告诉了我们,并且还告诉了我们用户的一些支付信息。
这是微信支付成功收到付款后告诉我们的信息。
应用程序,商户号:告诉你我从哪个商户、哪笔交易成功扣款了。
业务结果:成功或失败
(2)失败
在设计产品的时候,我们经常会关注失败的情况,当支付失败的时候,微信也会告诉你失败的原因,下图很容易理解,失败的原因有很多,在设计的时候,我们经常要分析每一个失败的原因,并针对每个原因设计页面和用户提示,确保用户能够看懂。
以上就是对API接口基本操作方式的了解,接下来我会继续更新一些更加深入细致的API接口关键元素,比如请求方法/签名/加解密等。