通用接口定义
说明
- 请求方式为HTTP POST提交
- 签名参数放在url中,比如uploadFile?sign=ddddd
- 没有特殊注明的
- content-type指定为application/x-json。
- 返回参数使用json, 编码使用UTF-8, json名称统一小写。
定义
类型名称 | 缩写 |
---|---|
字符串 | S |
数值 | N |
json格式 | JOSN |
格式
客户端请求头:
参数名 | 是否必须 | 类型 | 说明 |
---|---|---|---|
Content-Type | 是 | string | 请求类型: application/json |
Uni-Access-Token | 否 | string | getAccessToken接口不需要,其他接口需要 |
客户端发送
- 一般为json格式
- multipart时,包括文件流和参数
签名sign生成说明
1. 对Post的字段字段按照key=value的格式,并按照字段名(key)ascii字典序排序得到待签名内容(文件流不包括)
2. 对于不存在的内容不需要参数签名,json数据中同样不需要加密
3. 以获取记录接口为例
具体消息: {"start_date":"2023-01-01","end_date":"2023-02-01"}
待签名内容:
data={"start_date":"2023-01-01","end_date":"2023-02-01"}
最后加入指定的字符串(appsecret): d68397c4fb671bc024e24e1964b067cc35388818
最终待签名内容:
data={"start_date":"2023-01-01","end_date":"2023-02-01"}&d68397c4fb671bc024e24e1964b067cc35388818
4. 签名
对最终待签名内容以md5方式为utf-8编码的字节数组执行md5散列后,将得到的字节数组使用Hex方式转换为可见字符串(字符串中字母全部消息)即得到签名
示例:
md5(data={"start_date":"2023-01-01","end_date":"2023-02-01"}&d68397c4fb671bc024e24e1964b067cc35388818)
最终签名:
sign = ce1ec4a83d0f4e414c1724e490fb0cd9
客户端接收
名称 | 类型 | 备注 | |
---|---|---|---|
resp_code | 返回码 | string | 0000表示成功 |
resp_desc | 返回描述 | string | |
data | 数据 | JSON | 根据不同消息返回,在消息中定义 |
sign | 签名 | string |
签名规则同上
示例
生成待签名内容并加入指定字符串((appsecret: d68397c4fb671bc024e24e1964b067cc35388818)后并md5:
md5(data={"name":"张三","age":18}&resp_code=0000&resp_desc=请求成功&d68397c4fb671bc024e24e1964b067cc35388818)
签名:
sign = 1771df4926f5cf981cc96aac1f7d993d
错误代码
序号 | 代码 | 描述 |
---|---|---|
0 | 0000 | 成功 |
1 | 1111 | 默认的请求失败 |
2 | 500 | 服务器异常 |
3 | 3xxxx | 令牌相关错误,如令牌失效 |
4 | 4xxxx | 参数错误,如签名验证失败、参数丢失等 |
5 | 2xxxx | 业务异常 |
文档更新时间: 2023-02-23 14:52 作者:方杰