我们生活在一个科技主导的世界。在这里,数据无处不在。作为许多不同产品的用户,我们所追寻的不再是某一个能将工作完成的最佳产品,而是一个不仅能有效完成工作,同时也与我们所使用的其他工具完美兼容的产品。因此,了解那些为了给用户提供流畅体验而简化办公流程和集成组件的产品工具们变得极其重要。由于数据的丰富化,创新团队们越来越多地用API来形成简化工作流程的链接。
什么是API?
应用程序编程接口,或 API,从最简单的意义上说,是一种连接两个系统的技术。
如果你还是一头雾水的话,来看看这个例子:
你去图书馆找丹布朗的《达芬奇密码》,但图书馆很大,你不知道在哪里可以找到这本书。幸运的是,你可以找到图书馆管理员和一个包含所有您可以借阅书籍类型的目录。你在目录上找到《达芬奇密码》,并请求管理员帮你找到它。然后,图书馆管理员便穿过迷宫般的图书馆找到了这本书带给了你。
在这个例子中:
图书馆 = 数据库——所涉及的系统之一
书籍 = 数据
你 = 请求者——正在寻找信息的应用程序或系统
图书馆管理员 = API——将请求带回数据库,并将信息发回发出请求的程序
对这本书的请求 = 对API的调用
目录 = 请求必须遵守的特定格式以便API理解
从图书馆管理员处收到的书 = 回复
简单来说,这就是API的作用:在确保速度和安全性的前提下,充当两个应用程序的接口来促进信息传输。API是以开发者为中心的工具——API被开发者作为应用程序的一部分代码建成,但是,这并不意味着他们不能为终端用户创造价值。
API怎么运作?
无论你意识到与否,你每天都在使用API。让我们来拿现实生活举个例子:
你在LinkedIn上试图寻找一些金融科技领域相关的公司。你输入行业或位置等关键字后,LinkedIn会在不到一秒内执行搜索,从它数千家公司的数据库内显示相关搜索结果。这种几乎在同时就找到相关信息的请求很可能是由LinkedIn的公司搜索API(也可以供外部程序使用)所促进运行的。
这种请求-回应形式的互动可以发生在产品内或结合外部产品发生。它可以用于促进从金融支付数据到位置数据的信息传递,以便为终端用户提供流畅的体验。
又比如,假设你在网上看到一篇文章,并决定将它分享给你Facebook或者Twitter上的朋友;每当你点击“分享”这个按钮的时候,一个带着文章分享链接的窗口会弹出来,并让你访问你的账户。这也是API的常见场景。
API在这的作用就是节约你的时间,让你避免要访问不同程序的流程的同时,达到同样的效果。
API被设计成在程序与程序中间完成不同任务的信使。每个API都会有一份预定好的行动清单,所以,单个API并不能一次达成所有目的。但是,API可以帮助数字营销岗精简他们不同的工作流程。
为什么API对你很重要?
API开创了一个充满机会的世界。在这个世界中,它可以创建完整度更高的产品,以此为你的客户提供更多价值。
API是数字营销的核心支柱。API用编程端口来做那些繁琐的工作,可以简化跨渠道的集成,减少花在日常工作任务上的时间,以及提供准备好的渠道来访问关键的顾客信息。
假如你要建立一个数字营销效果表现的数据看板(dashboard),其中汇聚了从Facebook、Google、LinkedIn、Instagram、Salesforce等等各类来源的数据,那么API就可以让这一份数据看板完全自动化地连接这些来源并实现实时更新。
关于API的更多知识
*公共与私有
API分为两类:公共或私有
公共API是开放给公司外部使用的API。比如,Google Maps API供应各类数字产品使用Google的地图功能,Paypal API供应各个网站或者App可以直接使用它的支付功能进行收款等等。这些API的目标是共享其他公司正在处理的用例信息并使你的终端客服收益。(比如说,金融数据领域的开放银行业务。)
而私有API是为有访问权限的开发人员或程序内部人员使用的API。主要例子包括公司内的客户信息API。公司内不同职务可以使用这种API来获取相关的客户信息。
*API的两种关键类型
1. REST(Representational State Transfer): 目前最常见的API类型。REST代表特定的API构架,通常使用HTTP函数来发出或接受请求,然后通过JSON文件发送或接受信息。REST API在对于它们返回或接受的信息类型来说非常灵活,而且他们的宽带较低。这些API基于四个关键HTTP函数:POST, GET,PUT,和DELETE
2. SOAP(Simple Object Access Protocol):这是一个实际的协议。SOAP API通常使用HTTP和SML。它们在宽带和负载方面一般会更高。
*网络钩子
网络钩子(webhooks)可以被视为一种特殊类型的API。用最简单的方法描述它们,就是“反向”API。使用这种API时,除非请求被明确提出,否则数据传输不会发生。另一方面,网络钩子根据不同事件(收到付款,更新用户等)触发数据传输。这对自动触发下游事件十分有帮助。