API接口的一些基础知识

小明 发表于:2019年11月27日 16:21:06更新于:2020年05月13日 14:32:10

适读对象:无代码基础的读者,结合工作流中的Webhook节点,简单介绍API接口的一些基础知识。

什么是API

API(Application Programming Interface,应用程序接口),是软件开发者将某个做好功能开放给外部人员使用的一个窗口。外部人员无需访问源码或理解内部代码处理细节,只需要按API规定的格式传递一些参数,即可获取期望的数据或执行期望的操作。

 

例如一个典型的API接口服务:查询手机号的归属地。

http://apis.juhe.cn/mobile/get?key=4c80e35a4220b955a2932a38e6511e9e&phone=15838082573

点开此链接打开页面,查询的15838082573的归属地,您只需修改地址栏中【phone=】后面的手机号,按回车,即可查询另一个手机号的归属地。

 

这就是API服务,您只需在请求时给服务器传递参数,无需理会如何实现,即可获取到期望的内容。

 

API请求的组成

什么是请求,API接口的调用,是通过一个URL地址传输的,URL打开一次就是一次请求,刷新页面,又算一次请求。

请求API接口,其实就是打开访问接口的URL,此URL在请求时需要几个组成部分:

API接口地址

即API接口服务公开给外部访问的地址

  • 请求方式

常用的有Get 、Post 和其他方式,目前明道云仅支持Get 和Post,这取决于API接口服务,无需理解,他们支持什么,我们选择对应的方式即可。

  • 请求的参数

API接口根据你传递的参数处理对应的数据。例如,phone手机号就是一个参数

  • 授权认证方式

在请求API时,不是谁请求都会处理,需要对您的请求做认证。常见的是 token 认证和key(有时还有会结合sign)。这些信息API服务商都会给到您。

  • Header

   请求过程中需要传递的表头信息,是系统级的参数,包含存储认证信息Token的参数。一般情况下我们不需要配置,需要配置时,API文档会特别说明。

  • Body

同样也是存储传递的数据,它在请求方式为Post时才需要配置。常用来存储表单信息,有时授权认证的参数也可以存储在这里。

例如,通过API接口,将一个表单数据新增到第三方系统,表单的字段名称和字段值 存放在Body中。

 

总体来说:调用API 接口时,需要三部分:

  1. 请求的API URL地址

  2. 传递的参数

  3. 授权身份认证

图文举例

举例1:查询手机号归属地 (Get 方式)

接口服务商:聚合数据  

0015dde32fd9caad76deb620deadfb9

API地址:http://apis.juhe.cn/mobile/get

请求方式:Get

传递的参数:phone(手机号)、key(服务商分配的身份认证)

授权认证方式:通过申请的key 来验证身份。这种认证方式可以将Key拼接在URL中,通过一个URL即可完成请求。

Header:没特别说明,无需配置

Body:Get方式 无需配置

 

将 请求地址和参数进行拼接,得到请求的完整URL(参数间用&链接,第一个参数前面加?)

http://apis.juhe.cn/mobile/get?key=4c80e35a4220b955a2932a38e6511e9e&phone=15838082573

 

以下是API返回的数据(JSON格式),别担心看不懂,明道云可以接收并处理好这些数据。

0015dde32fd9a9a51e087cdb75a1aa6     

在明道云工作流中的 Webhook的配置如下

每个节点作用:

  1. 当一个联系人的手机号填写或修改时,触发流程,

  2. 根据手机号请求API,获取到此手机号的归属地,

  3. 将归属地信息更新到联系人记录中。

0015dde32fd90dacd906c9538677a39 视频演示

举例2:获取企业的工商信息(Get 方式)

接口服务商:天眼查  

0015dde32fd893d57a07ff9f7ef2063

API地址:http://open.api.tianyancha.com/services/open/ic/baseinfo/2.0

请求方式:Get

传递的参数:id 或 name  (因为说明中写了,只输入一个即可,不然需要全部传递)

授权认证方式:token认证,但需要通过header传递。

 

首先,我们拼接好完整的请求URL

http://open.api.tianyancha.com/services/open/ic/baseinfo/2.0?name=平安银行股份有限公司

Header配置

由于此接口的授权认证方式,为Token认证,且需要将Token的值 通过header传递,因此不能仅通过一个URL就能调用API。需要配置Header

0015dde32fd9660a6db905a07fd8e78 

只要是通过header 传递 Token,则header中的字段名都是Authorization,此字段专门用来存放认证信息的。

 

在明道云工作流中的 Webhook的配置如下,将拼接的请求URL和Header 分别配置到 Webhook URL 和Header 中。

每个节的作用:

  1. 当客户记录的 公司全称填写或修改时,触发流程

  2. 调用API接口获取到此企业的基本信息

  3. 将获取的信息更新到客户记录中

0015dde32fd86ebdedbdca28d09d99a     

视频演示,请参考课程的第4课时

举例3:通过API向工作表中新增一行记录 (Post 方式)

我们就以明道云自己的API为例,如何向表中新增一行记录

首先来看下工作表API

0015dde32fd7843de353b4bc4264b4f      

从API介绍中可以看到, 请求的方式是 Post,只需配置 请求URL 和 参数即可。

授权认证方式为 appkey + sign , 和参数一起,配置在Body中即可。

 

Body 中 支持两种参数提交格式

Key-value pairs :简单说,就像图中配置那样,左边是参数明,右边是参数的值。

Raw(application/json) : 是将参数和参数值 转化为 Json格式传递,一般需要程序员配置处理


在明道云工作流中的 Webhook的配置如下,将请求的URL和参数 分别配置到 Webhook URL 和Body中。

每个节的作用:

  1. 当《公开报名表》有新记录录入时

  2. 通过《人员登记表》的API,向此表发送数据,直接新增一条记录。

image.png


明道云