#### 数据交互规范 1. 使用HTTP协议进行数据通信  2. 请求数据均使用GET/POST方式发送(Content-Type: application/x-www-form-urlencoded)  3. 双方的接口响应数据字符集必须为UTF-8,且返回的数据为JSON格式字符串  4. 脱敏使用MD5、SHA256等hash算法进行脱敏  5. 双方每次API交互都需要做请求签名处理 6. 接口的有效期为10分钟,所以至少每隔十分钟需要重新获取参数。 --- #### 服务地址: ``` http://api.shuidi.cn/ ``` #### 接口认证 客户每次调用接口,必需包含接入ID(**pname**), 安全验证码(**vkey**)和时间戳(**ptime**). | 参数名称 | 是否必填 | 说明 | | -------- | -------- | -------- | | pname | 是 | 调用方唯一ID,用于身份识别 | | ptime | 是 | 时间戳,从格林威治时间1970年01月01日00时00分00秒起至现在的时间,精确到毫秒(13位) | | vkey | 是 | 安全验证码。使用下划线依次连接pkey、ptime、pkey,计算该字符串的MD5值完成签名.
结果为32个字符 | Java计算vkey示例: ``` String ptime =String.valueOf(System.currentTimeMillis()); SecureUtil.md5(pkey + "_" + ptime + "_" + pkey); ``` php计算vkey示例: ``` $vkey=md5($pkey.”_”.$ptime.”_”.$pkey) ``` #### 返回数据格式 > 所有接口返回值以JSON字符串的形式返回给调用者,JSON格式如下: ``` { "statusCode": 1, "statusMessage": "请求成功", "data": {} } ``` 返回JSON属性如下: |属性 | 说明 | | -------- | -------- | |statusCode | 返回查询结果编码 | |statusMessage | result不为1时的错误信息描述。 | |data | 结果数据。不同接口,data的内容会有所不同。具体见各接口返回说明。 | #### 错误编码 | 错误编码 | 说明 | | -------- | -------- | | 1 | 请求成功 | | 2 | 未查询到数据 | | 3 | 接口未授权 | | 4 | 请求参数错误 | | 30001 | 请求已过期 | | 99999 | 系统错误 |