文档说明
公共参数
http header
中参数名称 | 参数类型 | 是否必须 | 参数描述 |
---|---|---|---|
app-key | String | 是 | 渠道标识,由E付通分配 |
timestamp | Number(14) | 是 | 请求时间,格式为yyyyMMddHHmmss,时区为GMT+8,例如:20180101121512。E付通API服务端允许客户端请求最大时间误差为10分钟。 |
x-sign | String(32) | 是 | API输入参数签名结果,签名算法参照下面的介绍。 |
参数名称 | 参数类型 | 是否必须 | 参数描述 |
---|---|---|---|
app-key | String | 是 | 渠道标识,由E付通分配 |
timestamp | Number(14) | 是 | 响应时间,格式为yyyyMMddHHmmss,时区为GMT+8,例如:20180101121512。E付通API服务端允许客户端请求最大时间误差为10分钟。 |
x-sign | String(32) | 是 | API输入参数签名结果,签名算法参照下面的介绍。 |
业务参数
json
的格式放置在http body
中,每个API的业务级参数请考API文档说明。签名算法
MD5
,签名大体过程如下: 将业务参数转为json
字符串,并将公共参数中的app-key
,timestamp
, sign_key
这三个参数的参数值依次拼接在业务参数后面如:业务参数:
json_str:{“id”:”123456”,”name”:”张三”,”age”:”18”}
app-key:app
timestamp:20180101121512
json_str + app-key + timestamp + sign_key
将拼装后的字符串采用utf-8编码,并使用MD5算法加密得到签名结果:
x-sign = MD5(utf8(json_str + app-key + timestamp + sign_key))
调用示例
设置参数值:
公共参数:
app-key = "test"
timestamp = "20180101123514"
业务参数:
id = "FA357C3C7F634EA3924A6E80C8415A15"
name = "张三"
参数拼接(假设sign_key为:123456)
{"id": "FA357C3C7F634EA3924A6E80C8415A15","name":"张三"}test20180101123514123456
生成签名
x-sign = Md5({"id": "FA357C3C7F634EA3924A6E80C8415A15","name":"张三"}test20180101123514123456)
发送请求
报文实例
{"id": "1001","name":"张三"}
{
"resp_code":"0000",
"resp_msg":"请求成功",
"resp_data":{}
}
注意事项
公共错误码解释
错误码 | 错误消息 | 解决方案 |
---|---|---|
9001 | 未能获取渠道标识(app-key)或标识不匹配 | 参见公共参数 |
9002 | 未能获取时间戳(timestamp)或格式错误 | 参见公共参数 |
9003 | 未能获取签名(x-sign) | 参见公共参数 |
9004 | 请求超时 | 参见公共参数 |
9005 | 签名验证失败 | |
9403 | 没有接口权限 | 需要E付通配置权限 |
4000 | 未知错误/业务错误 |
修改于 2024-12-23 06:18:43