目录
- 接口描述 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 - 代码示例 12
5.1 请求示例 12
5.2 响应示例 12
5.3 异常示例 14 - 附录 16
6.1 接口返回码 16
1.接口描述
接口名称 车辆通-VIN码及品牌型号查询车轴
接口编号 JR-CLT-008
接口描述 通过VIN码及车辆品牌型号查询车轴
接口地址 /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.matching.axesnum.byvin"
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 idcode String Y 30 车辆vin码
noticetype String N 30 公告型号
brand String N 30 品牌
4.响应参数
4.1公共响应参数
参数 类型 说明
code String 响应码,见附录6.1
request_id String 请求Id
message String 响应信息
timestamp Long 时间戳
data String 返回数据
4.2接口响应参数
参数 类型 说明
data Object 执行成功时data有对象值,执行异常时不返回data
data.axesNum List 车轴数集合
data.noticebatch Integer 公告批次
data.noticetype String 公告型号
data.vin String 车辆vin码
data.brand String 品牌
5.代码示例
5.1请求示例
biz_content的json格式样例
{
"idcode":"LVBV3ABB×××××××××",
"brand":"福田",
"noticetype":"BJ5045CCY9AB7-26"
}
5.2响应示例
{
"request_id": "SN1590153212101529600",
"code": "01,
"data": {
"msg": "成功",
"axesNum": [
"5",
"2"
],
"noticebatch": null,
"noticetype": null,
"vin": "LVBV3ABB×××××××××",
"brand": null
},
"message": "成功",
"timestamp": 1667957044308
}
5.3异常示例
{
"request_id": "SN1527163857943007232",
"code": "400",
"message": "",
"timestamp": 1652939212046
}
6.附录
6.1接口返回码
编码 描述 是否收费
01 查询成功 收费
02 查无 免费
400 错误信息 免费