目录
- 接口描述 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-007
接口描述 输入车架号(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.info.query.detail"
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 vin String Y 30 vin码
4.响应参数
4.1公共响应参数
参数 类型 说明
code String 响应码,见附录6.1
request_id String 请求Id
message String 响应信息
timestamp Long 时间戳
data String 返回数据
4.2接口响应参数
参数 类型 说明
data Object 执行成功时data有对象值,执行异常时不返回data
data.licenseNo String 车牌号
data.brand String 品牌
data.vehicleType String 车辆型号
data.engineNo String 发动机号
data.invoiceCode String 燃料种类
data.displacement String 排量
data.engineTypeNo String 发动机型号
data.passenger String 额定载客
data.carName String 车辆名称
data.carColor String 车身颜色
data.factoryDate String 出厂日期
data.shaft String 轴数
data.wheelbase String 轴距
data.frontGauge String 前轮距
data.afterGauge String 后轮距
data.totalQuality String 总质量
data.curbWeight String 整备质量
data.ratedLoad String 额定载质量
data.power String 功率
data.emissionStandards String 排放标准
data.fuelConsumption String 油耗
data.lasting String 长
data.wide String 宽
data.high String 高
data.tires String 轮胎数
data.tiresSpecifications String 轮胎规格
data.axle String 轴荷
data.carType String 车型
data.vin String 车架号
5.代码示例
5.1请求示例
biz_content的json格式样例
{"vin":"LZZ1CLVB0GN193089"}
5.2响应示例
{
"request_id": "SN1587744856581738496",
"code": "0",
"data": {
"code": 0,
"data": {
"licenseNo": "贵J86xxx",
"code": null,
"data": null,
"frontGauge": "2041",
"afterGauge": "2041",
"carName": "牵引汽车",
"emissionStandards": "国四",
"tiresSpecifications": "12R22.5 16PR",
"fuelConsumption": "",
"factoryDate": "2016-12-06",
"carColor": "曼白",
"high": "3850",
"carType": "",
"ratedLoad": "",
"displacement": "10518",
"vin": "LZZ1CLVB0GN193089",
"power": "327",
"axle": "7000/18000(并装双轴)",
"brand": "豪沃牌",
"vehicleType": "ZZ4257V324HD1B",
"tires": "10",
"engineNo": "161117227767",
"wide": "2496",
"message": null,
"invoiceCode": "柴油",
"serialNo": null,
"wheelbase": "3200+1400",
"passenger": "",
"curbWeight": "8800",
"engineTypeNo": "MC11.44-40",
"lasting": "6985",
"totalQuality": "25000",
"shaft": "3",
"status": null
},
"message": "success",
"serialNo": "551232971886034944",
"status": 200
},
"timestamp": 1667382848423
}
5.3异常示例
{
"request_id": "SN1527163857943007232",
"code": "400",
"message": "",
"timestamp": 1652939212046
}
6.附录
6.1接口返回码
编码 描述 是否收费
0 查询成功 收费
400 错误信息 免费