云寓开放平台
技术支持:0571-87320863
1. 约定
1.1 客户端应用:即接入云寓开放平台的第三方应用。

2. 请求流程
2.1 客户端应用调用“获取token”接口获得访问令牌,令牌10小时有效,请在即将到期前,重新调用“获取token”接口取得新的访问令牌。
2.2 调用业务接口前,组装请求参数并根据签名规则计算签名,将签名作为参数一并提交云寓服务器,结果以json格式返回。

3. 跨域请求
跨域提交通过传递jsonp实现,请求链接后追加callback参数,如"http://api.hiyunyu.com/rest/xxxapi/?callback=xxx"。建议使用jquery内置方法。
1. 说明
为了防止API调用过程中被黑客恶意篡改,调用任何一个API都需要携带签名,云寓服务端会根据请求参数,对签名进行验证,签名不合法的请求将会被拒绝。 云寓目前支持的签名算法有两种:MD5(sign_method=md5),HMAC_MD5(sign_method=hmac),签名大体过程如下:

2. 签名过程
对所有API请求参数(包括公共参数和业务参数,但除去sign参数和byte[]类型的参数),根据参数名称的ASCII码表的顺序排序。如:foo=1, bar=2, foo_bar=3, foobar=4排序后的顺序是bar=2, foo=1, foo_bar=3, foobar=4。 将排序好的参数名和参数值拼装在一起,根据上面的示例得到的结果为:bar2foo1foo_bar3foobar4。 把拼装好的字符串采用utf-8编码,使用签名算法对编码后的字节流进行摘要。如果使用MD5算法,则需要在拼装的字符串前后加上app的secret后,再进行摘要,如:md5(secret+bar2foo1foo_bar3foobar4+secret);如果使用HMAC_MD5算法,则需要用app的secret初始化摘要算法后,再进行摘要,如:hmac_md5(bar2foo1foo_bar3foobar4)。 将摘要得到的字节流结果使用十六进制表示,如:hex(“helloworld”.getBytes(“utf-8”)) = “68656C6C6F776F726C64”

3. 注意
说明:MD5和HMAC_MD5都是128位长度的摘要算法,用16进制表示,一个十六进制的字符能表示4个位,所以签名后的字符串长度固定为32个十六进制字符。