接口描述

1.请求参数

能力开放平台的 URL由baseURL和方法路径(/api/xxx)两部分组成,其中baseURL为http://yoyo.toptolink.com

能力开放平台的所有服务 URL的请求参数分为系统级参数和业务级参数两部分,系统级参数是所有服务API都拥有的参数,而业务级参数由具体服务 API定义。

  • 系统参数

名称 类型 是否必须 描述
appKey String appKey开放平台用以确定客户端应用的身份,如10001,10002等。应用键对应一个密钥 secret。要基于服务平台开发应用,必须事先通过申请获取 appKey/secret 后,才能进行应用的开发。物联云平台通过appKey账号来实现统一鉴权。
timestamp Long 当前时间戳,10位数字
nonce Int 5位随机正整数
sign String 签名串,请求参数的签名,服务平台通过它验证请求数据的合法性。

2.签名(sign)算法

签名(sign)算法描述如下:

  • 所有请求参数按参数名升序排序;
  • 按请求参数名及参数值相互连接组成一个字符串: …;
  • 将应用密钥分别添加到以上请求参数串的头部和尾部: <请求参数字符串>
  • 对该字符串进行SHA1 运算,得到一个二进制数组;
  • 将该二进制数组转换为十六进制的字符串,该字符串即是这些请求参数对应的签名;
  • 该签名值使用sign系统级参数一起和其它请求参数一起发送给服务开放平台。 假设服务有3个业务级参数,分别为userName 、 age及sex。

  • 这些业务级参数和系统级参数的值如下表所示:

系统级参数名称 参数值 业务级参数名称 参数值
appKey 000001 userName tomson
timestamp 1465185768 age 24
nonce 11886 sex 1

根据签名算法,首先按字母顺序将所有参数名和参数值拼装成一个字符串:

age24appKey000001nonce11886sex1timestamp1465185768userNametomson假设,appKey为 000001的secret(应用密钥)是"abcdef",则将"abcdef" 分别添加到以上请求参数串的头部和尾部,得到:

abcdefage24appKey000001nonce11886sex1timestamp1465185768userNametomsonabcdef

对以上字符串进行SHA1签名运算,将签名值转换为十六进制的编码串,并转化成大写的字符串,得到: CCF029C20E607D9E7D27D275A25900DAEED05A57

最后,客户端即可使用如下的URL请求串对服务方法发起请求:

baseURL/api/xxx?appKey=000001&…&sign=CCF029C20E607D9E7D27D275A25900DAEED05A57

powered by Gitbook©2021 深圳市中天网景科技有限公司 返回帮助中心 | 最后修改: 2020-12-17 17:58:48

results matching ""

    No results matching ""