短连接生成平台 API接口加密验签说明

服务接入

369短链为合作商提供网络接口服务,方便合作商户获取相关信息,网络服务仅对已注册的合作伙伴开放,服务会对每个API请求进行身份验证,使用HTTP协议提交请求,需要在请求中包含签名(Sign)信息。 服务通过使用AccessKeyIi和AccessKeySecret进行对称加密的方法来验证请求的发送者身份。AccessKeyId是369短链发布的一种身份凭证(类似于用户的登录密码)

调用方式

hostname: https://www.369url.cn

服务API是RPC风格,您可以通过发送HTTP GET请求调用API。目前暂时支持通过HTTP协议进行请求通信。请求及返回结果都使用UTF-8字符集进行编码,请求结构如下所示:

hostname/apiXXX?VersioXXX&AccessKeyId=XXx&Version=1.0.0

公共参数如下: 1、AccessKeyId:AccessKeyId 2、Version:要使用的API版本,以实际API发布版本为准。 3、Timestamp: 接口调用时间,单位为秒 4、Sign:对接口进行MD5哈希值

业务参数如下

1、Parameters:请求参数,每个参数之间用&分隔。请求参数由公共请求参数和API自定义参数组成。公共参数中包含API版本号、身份验证等信息。

签名机制

1、获取密钥

AccessKeyID和AccessKeySecret可在管理后台 【个人中心】->【账户管理】->【账户信息】中获取,也可以重置。其中AccessKeyID是访问者身份,AccessKeySecret是加密签名字符串和服务器端验证签名字符串的密钥,必须严格保密谨防泄露。

2.构造规范化请求字符串

① 排序参数。排序规则以首字母顺序排序,排序参数包括公共参数接口自定义参数,不包括公共请求参数中的Sign参数。当使用GET方法提交请求时,这些参数就是请求URL中的参数部分。即URL中?之后由&连接的部分。

3.示例如下请求如下

假如: AccessKeyId=testId AccessKeySecret=secretTest

hostname/link/api/open/link/url/saveLinkUrl?targeturl=http://www.baidu.com&AccessKeyId=testId&Timestamp=1673178086&Version=1.0.0

参数是:AccessKeyId=testId&Timestamp=1673179156&Version=1.0.0&targeturl=http://www.baidu.com

我们需要借助AccessKeySecret进行hash求Sign

对上面的参数加上AccessKeySecret进行hash得到Sign,也就是对如下字符串进行MD5进行hash得到sign

AccessKeyId=testId&Timestamp=1673179156&Version=1.0.0&targeturl=http://www.baidu.comsecretTest

将Sign加到后面,得到如下

hostname/api/open/link/url/saveLin?AccessKeyId=testId&Timestamp=1673179156&Version=1.0.0&targeturl=http://www.baidu.com&Sign=df84045efc2524c3d2fb683178d380ca