随着互联网行业的日益发展,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 | 视频地址 | |
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"