服务接入
369短链为合作商提供网络接口服务,方便合作商户获取相关信息,网络服务仅对已注册的合作伙伴开放,服务会对每个API请求进行身份验证,使用HTTP协议提交请求,需要在请求中包含签名(Sign)信息。
服务通过使用AccessKeyIi和AccessKeySecret进行对称加密的方法来验证请求的发送者身份。AccessKeyId是369短链发布的一种身份凭证(类似于用户的登录密码)
调用方式
服务API是RPC风格,您可以通过发送HTTP GET请求调用API。目前暂时支持通过HTTP协议进行请求通信。请求及返回结果都使用UTF-8字符集进行编码,请求结构如下所示:
https://www.369url.cn/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
https://www.369url.cn/api/open/link/url/saveLin?targeturl=http://www.baidu.com&AccessKeyId=testId&Timestamp=1673178086&AccessKeyId=testId&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加到后面,得到如下
https://www.369url.cn/api/open/link/url/saveLin?AccessKeyId=testId&Timestamp=1673179156&Version=1.0.0&targeturl=http://www.baidu.com&Sign=df84045efc2524c3d2fb683178d380ca

