随着互联网行业的日益发展,API(Application Programming Interface)这个名词对于绝大多数来说都已不再陌生。然而,实际上,根据不同标准可以划分出不同类型的API。今天,让我们来走进多样的API,多样的精彩。

谁来如何使用这个API?

根据使用场景的不同来划分API的类型

公共API (Open API)

对所有开发人员和其他用户公开,限制很小。它们可能需要注册、使用API密钥或OAuth等加密条件才能访问,或者是完全开放的。更侧重于外部用户访问数据或服务。

合作伙伴API (Partner API)

仅对战略合作伙伴开放的API,需要特定的权限才能访问。它们通常通过一个API开发门户开放,开发人员可以在自助模式下访问该门户。

内部API(Private API)

对外部用户隐藏,仅供不同的内部开发团队之间使用,以提高生产率和重用服务。良好的治理过程包括将它们暴露给内部API开发门户,通过内部IAM系统以进行身份验证并允许用户访问权限对应的API集。

组合API(Composite API)

和前三种API不同的是,它们是通过API编排功能构建的。它们允许开发人员在一个调用中访问多个端点。例如,在microservices体系结构模式中,需要来自多个服务的信息来执行单个任务时,则可以通过组合API来实现。

Data or Service?

根据访问、处理对象的不同来划分API

数据API(Data API)

为各种数据库或SaaS云提供商提供对底层数据集的CRUD访问。在SaaS连接器或内部数据存储的帮助下,需要这些api来处理来自SaaS应用程序的一些基本数据。

内部服务API(Internal Service API)

包括公开内部服务、反映内部流程的一部分或一些复杂的操作。

外部服务API(External Service API)

用于将第三方服务嵌入到公司现有的服务中,并带来附加价值。

UX API(User Experience API)

利用复合API帮助应用程序开发人员为每个特定设备(台式机、移动设备、平板电脑、VPA、物联网)提供正确的体验。

REST or SOAP?

根据传输协议的不同来划分API

REST(REpresentative State Transfer)

REST API是现代web应用程序的关键部分,必须遵守以下规则:

  • 无状态的 (Stateless)
  • 统一接口
  • Client-Server匹配
  • 缓存响应
  • 分层架构 (Layered-Architecture)

SOAP(Simple Object Access Protocol)

第一个标准化应用程序使用网络连接来管理服务的方法。但是SOAP有非常严格的规则和标准, 现在,除了现有的内部部署场景之外,大多数开发人员现在更喜欢倾向于在REST中开发。

RPC(Remote Procedure Call)

最古老和最简单的API类型。目标是让客户机在服务器上执行代码。RPC API是紧密耦合的,因此很难维护或更新它们。

API在任何应用程序的开发中都扮演着关键的角色。REST已经成为构建通过网络通信的应用程序的首选标准。而对于企业来说,随着API数量的增多和调用场景的复杂性,往往会产生“究竟已经开发了多少个API?日活调用量是多少?”或者“我们的数据是否足够安全?”之类的困扰。

API接口的测试与参数说明

公共参数

请求地址:API测试接口

名称

类型

必须

描述

key

String


调用key(必须以GET方式拼接在URL中)

secret

String


调用密钥

api_name

String


API接口名称(包括在请求地址中)[item_search,item_get,item_search_shop等]

cache

String


[yes,no]默认yes,将调用缓存的数据,速度比较快

result_type

String


[json,jsonu,xml,serialize,var_export]返回数据格式,默认为json,jsonu输出的内容中文可以直接阅读

lang

String


[cn,en,ru]翻译语言,默认cn简体中文

version

String


API版本


请求参数

请求参数:num_iid=600530677643&data=&page=1

参数说明:num_iid:淘宝商品ID
sort:排序 0:默认排序 ,1: 最新排序


响应参数

Version: Date:

名称

类型

必须

示例值

描述

rate_content

String

0

衣服面料很好 穿起来很舒服 衣服挺合适的!

评论内容

rate_date

Date

0

2019-03-16 12:10:24

评论日期

pics

MIX

0

["//img.alicdn.com/bao/uploaded/i4/O1CN01Zmq4QI1dqwnpBIxmX_!!0-rate.jpg"]

评论图片

display_user_nick

String

0

李***0

买家昵称

auction_sku

String

0

颜色:加绒;尺码:2XL

评论商品属性

rate_id

String

0

1182747118197

评论ID

add_feedback

String

0

衣服面料很好 穿起来很舒服 衣服挺合适的!

追评内容

add_feedback_images

MIX

0

["//img.alicdn.com/bao/uploaded/i4/O1CN01Zmq4QI1dqwnpBIxmX_!!0-rate.jpg"]

追评图片

video

String

0

http://cloud.video.taobao.com/play/u/416a306c576e44524a75367539493165745863466b513d3d/p/1/d/sd/e/6/t/1/288913501300.mp4

视频地址

videoCover

String

0

https://img.alicdn.com/imgextra/i3/O1CN01cvjYjY28SRpqyDJIN_!!0-tbbala.jpg

视频截图


请求示例

  • Curl
  • PHP
  • PHPsdk
  • JAVA
  • C#
  • Python

-- 请求示例 url 默认请求参数已经URL编码处理 curl -i "https://api-gw.onebound.cn/taobao/item_review/?key=<您自己的apiKey>&secret=<您自己的apiSecret>&num_iid=600530677643&data=&page=1"