目录
- 接口描述 4
- 加密方式 5
2.1 加签,验签机制说明 5
2.2 签名算法 5
2.3 加密方式 5
2.4 生成签名 6
2.4.1 筛选并排序 6
2.4.2 拼接 6
2.4.3 调用签名函数 6
2.4.4 拼接完整请求 7
2.5 解密方式 7 - 请求参数 8
3.1 公共请求参数 8
3.2 接口请求参数 8 - 响应参数 9
4.1 公共响应参数 9
4.2 接口响应参数 9 - 代码示例 10
5.1 请求示例 10
5.2 响应示例 10
5.3 异常示例 11 - 附录 12
6.1 接口返回码 12
1.接口描述
接口名称 通过品牌和型号查询车轴
接口编号 JR-CLT-005
接口描述 通过品牌和型号查询车轴
接口地址 /dmp/api
请求方式 POST
加密方式 RSA2
2.加密方式
2.1加签,验签机制说明
客户在应用中使用自己的“私钥”对消息加签之后,消息和签名会传递给金枢系统,金枢系统则使用应用的 公钥 验证消息的真实性(来自于合法应用的真实消息)。
对于金枢系统返回消息给商户应用的情形,应用则使用金枢系统的 公钥 来验证返回消息的真实性。
2.2签名算法
签名算法:RSA2
标准签名算法:SHA256WithRSA
描述:强制要求 RSA 密钥的长度至少为 2048。
2.3加密方式
请求体加密
将请求参数(biz_content)字段通过 私钥进行加密
2.4生成签名
2.4.1筛选并排序
获取所有请求参数(包括公共请求参数),不包括字节类型参数,如文件、字节流,剔除 sign 字段,剔除值为空的参数,并按照第一个字符的键值 ASCII 码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值 ASCII 码递增排序,以此类推。
2.4.2拼接
将排序后的参数与其对应值,组合成 参数=参数值 的格式,并且把这些参数用 & 字符连接起来,此时生成的字符串为待签名字符串。
示例:
app_id=2014072300XXXXXX&biz_content=fV9IJsNcmZcPEQbvr8S3kkJ3uT0GRfHlAM25LT8w9xCAJqywxotrVlH1ZJsIXwHBvz97uFyNbBoSKbxfRgwKLl7P88hKBmPDwyDzB4t8MT&charset=UTF-8&method=alipay.trade.pay&sign_type=RSA2×tamp=2014-07-24 03:07:50&version=1.0
2.4.3调用签名函数
使用各自语言对应的 SHA256WithRSA(对应 sign_type 为 RSA2)签名函数利用商户私钥对签名字符串进行签名,并进行 Base64 编码。把生成的签名 encode 后赋值给 sign 参数,拼接到请求参数中。
2.4.4拼接完整请求
调用签名函数 后需将生成的签名作为 sign 的 value 拼接到请求数据中。
示例:
app_id=2014072300XXXXXX&biz_content=fV9IJsNcmZcPEQbvr8S3kkJ3uT0GRfHlAM25LT8w9xCAJqywxotrVlH1ZJsIXwHBvz97uFyNbBoSKbxfRgwKLl7P88hKBmPDwyDzB4t8MT&charset=UTF-8&method=alipay.trade.pay&sign_type=RSA2×tamp=2014-07-24 03:07:50&version=1.0&sign=GhT5Q6YxBtvf4q855TiNWEF/DIeLMyEE97+OnJDHpe6joNfr9F3BAE37dczcogU7uLfpNo+dh3cgly05bQN5nTj9TJ3SrBZWa40cltlgkI+6+0FuJoFSA225+MCrD4fNNqi2Zd5Adi9qC9NdN8nBVsjvzqtn5NepOt8dG1qdv7KvVwG74emFea1j2JuMBVBMp2PgIEwCv5c8OJSXa2P66+l3YCqEEMjBN22Dz0chlJ4hKMW3rA2oISH6ryzIvNIiy4/djKEdmxFeBorp1vrbmAtBqE++afggzzGt5w4arkbQ4fWLXJwkC9+1y4irCgmX65CEb5ct+fRgG2/9/B0rYg==
2.5解密方式
返回数据data内容是加密的,要用商户的公钥解密。
3.请求参数
参数 类型 必填 最大长度 说明
app_id String Y 32 金润商务提供
method String Y 100 固定值:
"jinrun.car.axesnum.bybrandandtype"
sign String Y 参见2加密方式
charset String Y 10 utf-8
format String Y 10 json
sign_type String Y 10 RSA2
version String Y 10 1.0
3.1公共请求参数
3.2接口请求参数
参数 类型 必填 最大长度 说明
biz_content brand String Y 30 品牌
noticetype String Y 30 型号
4.响应参数
4.1公共响应参数
参数 类型 说明
code String 响应码,见附录6.1
request_id String 请求Id
message String 响应信息
timestamp Long 时间戳
data String 返回数据
4.2接口响应参数
参数 类型 说明
axesNum String 车轴数量
msg String 返回消息
5.代码示例
5.1请求示例
biz_content的json格式样例
{
"brand": "解放",
"noticetype": "xxxxxx"
}
5.2响应示例
{
"request_id": "SN1540170804938018816",
"code": "00000",
"data": {
"msg": "成功",
"axesNum": "2"
},
"message": "操作成功",
"timestamp": 1656040309785
}
5.3异常示例
{
"request_id": "SN1527163857943007232",
"code": "400",
"message": "",
"timestamp": 1652939212046
}
6.附录
6.1接口返回码
编码 描述 是否收费
00000 查询成功 收费
400 错误信息 免费