Cube API全局声明
概览
领科Cube API遵循HTTP/1.1 REST规范,并采取RSA签名增强安全性。
API服务
SLA
- 99%
- 每月累计维护窗口时间不超过4小时
累计
- RPS = 2500
平均响应时间
- 5s (网络延迟不包含在内)
- P99 < 4s
API的使用
速率限制
- 每个IP地址每秒最大请求数 (QPS) : 10
- 最大并发数: 3
超出限流规则的请求可能会收到返回码 429
数量限制
- 每个IP地址每天最大请求数:5,000
基础设置
生产环境Base URL
baseUrl = "https://api.linksfield.net/cube/v4"
全局Header
参数名 | 示例 | 必须 | 描述 |
---|---|---|---|
Accept-Language | zh-CH | 否 | 默认值: en-US |
Content-Type | application/json | 否 | application/json |
Authorization | LF {keyId}/{sign} | 是 | 每一对公私钥对应一个keyId,同SDK中ACCESS_KEY |
X-LF-Api-Version* | 1.0 | 否 | 默认值: the latest-1 version |
API退出机制
- 同一个API最多同时维护两个版本,如v1.0、v2.0。
- 当header中
X-LF-Api-Version
未指明版本,默认将选择更早的版本,如v1.0。 - 当某个API发布了新版本时,如v2.0,v1.0将被标记为已弃用并在12个月后正式退出。您可以在API退出前完成API升级。
*重要提示:
在v2版本的签名数据格式中,全局header参数会有差异,可参考详情 签名算法 v2
时间和时区
时间参数格式:timestamp
格式精确到毫秒
,距离服务器时间最大不能超过10分钟。
批量
对于响应中包含批量数据的API,有两种请求方式:
当数据存储在数据库中时,使用如下参数
page_size
和page_no
当数据存储使用大数据存储时,使用如下参数
page_size
和last_cursor
任何一种请求方式中,page_size
最大值(默认值)均为 100
认证
- 请向FAE或项目等相关人员申请企业的秘钥对。
秘钥
Key | 秘钥长度 | 描述 |
---|---|---|
RSA | 1024 bit | 私钥用于签名,公钥用于验证签名 |
秘钥对
- 每个秘钥对由一个公钥和一个私钥组成。
- 每个秘钥对都分配了一个秘钥ID。
keyPair: {
keyId: String,
publicKey: String,
privateKey: String,
}
秘钥作用范围
- 每个秘钥对都分配了可用API范围 - 默认为全部API。
- 每个组织/企业可以申请至少一个秘钥对。
- 每个组织/企业的秘钥对,不能访问子组织/企业的资源。
Token - 签名
请求的签名应该包含在token中,在header参数Authorization
中。
-H Authorization: LF {KeyID}/{Signature}
//例如:
Authorization: LF b30a5e0e135d42e6ab43b021a30b7987/XbEd2v1LxXpGzzu8RZHwmRKmowVCGtuCdpWWgTB1DgWqy19mAGfNx4TvrmBpDqDyzPnxE2+WZAEE9wjpnR6pWziGfT+VL6uAYyPKWnFbAsrmS0Uas7fMickMF6i59sWxmYhVhLbrb4ZF2/fKoaLcdP1ynvhXqibAROiEvTl/kAc=
签名 | 算法 |
---|---|
签署API内容 | sha1withRSA |
签名信息错误时,可能会返回http错误码 401 Unauthorized
/ 403 Forbidden
签名计算算法是“SHA1withRSA”,但是在构造用于签名计算的数据方面,实现了两个版本的方法。
参考v1版本 签名算法 v1
参考v2版本 签名算法 v2
不同API需要使用的签名数据结构汇总
当前所有已发布的接口均支持v2版签名结构。
SDK
为了更高效的进行API接入,推荐使用领科SDK进行签名计算。详情参加:Quick Start
最后修改时间: 1 年前