API调用方法详解(开发必看)
调用流程
根据协议:填充参数 > 生成签名 > 拼装HTTP请求 > 发起HTTP请求> 得到HTTP响应 > 解释json/xml结果
调用入口
| 环境 | 服务地址(HTTP/HTTPS) |
|---|---|
| V2正式环境(推荐) | https://gw.superboss.cc/router |
| V2内部专用地址 | https://gw3.superboss.cc/router |
2022年4月1日以后申请的APP Key,统一使用V2正式环境的请求地址:https://gw.superboss.cc/router
公共参数
调用任何一个API都必须传入的参数,目前支持的公共参数有:
| 参数名称 | 参数类型 | 是否必须 | 参数描述 |
|---|---|---|---|
| method | string | 是 | API接口名称 |
| appKey | string | 是 | 分配给应用的AppKey |
| timestamp | string | 是 | 格式化时间(yyyy-MM-dd HH:mm:ss),时区为GMT+8,例如:2020-09-21 16:58:00。API服务端允许客户端请求最大时间误差为10分钟 |
| format | string | 否 | 响应格式。默认为json格式,可选值:json |
| version | string | 是 | API协议版 本 可选值:1.0 |
| sign_method | string | 否 | 签名的摘要算法(默认 hmac),可选值为:hmac,md5,hmac-sha256。 |
| sign | string | 是 | 签名 |
| session | string | 是 | 授权会话信息 (即access_token,由系统分配) |
业务参数
API调用除了必须包含公共参数外,如果API本身有业务级的参数也必须传入,每个API的业务级参数请考API文档说明。
签名算法
为了防止API调用过程中被黑客恶意篡改,调用任何一个API都需要携带签名,TOP服务端会根据请求参数,对签名进行验证,签名不合法的请求将会被拒绝。目前支持的签名算法有三种:MD5(sign_method=md5),HMAC_MD5(sign_method=hmac),HMAC_SHA256(sign_method=hmac-sha256),签名大体过程如下:
- 对所有API请求参数(包括公共参数和业务参数,但除去sign参数、byte[]类型的参数以及值为null的参数),根据参数名称的ASCII码表的顺序排序。如:foo:1, bar:2, foo_bar:3, foobar:4排序后的顺序是bar:2, foo:1, foo_bar:3, foobar:4。
- 将排序好的参数名和参数值拼装在一起,根据上面的示例得到的