通用接口定义
说明
- 请求方式为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 作者:方杰