目录
- 接口描述 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 - 代码示例 13
5.1 请求示例 13
5.2 响应示例 13
5.3 异常示例 16 - 附录 17
6.1 接口返回码 17
1.接口描述
接口名称 通过VIN码查询车型信息
接口编号 JR-CLT-003
接口描述 通过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.carinfo.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 18 VIN码
4.响应参数
4.1公共响应参数
参数 类型 说明
code String 响应码,见附录6.1
request_id String 请求Id
message String 响应信息
timestamp Long 时间戳
data String 返回数据
4.2接口响应参数
参数 类型 说明
id bigint Id
indexnum String index
net String net
company String 企业名称
address String 企业地址
fax String 传真号码
noticetype String 公告型号
noticebatch int 公告批次
totaltrailerweight String 准拖挂车总质量
suspension String 前悬后悬
fronttrack String 前轮距
power String 功率
maxweight String 半挂车鞍座最大承载质量
enginebrand String 发动机商标
enginemodel String 发动机型号
enginefactory String 发动机生产企业
reartrack String 后轮距
brand String 品牌
image String 图片
remarks String 备注
chassis1 String 底盘1
chassis2 String 底盘2
chassis3 String 底盘3
chassis4 String 底盘4
springsnum String 弹簧片数
totalweight String 总质量
emissionstandard String 排放依据标准
displacement String 排量
ada String 接近离去角
weight String 整备质量
wide String 整车宽
length String 整车长
height String 整车高
maxspeed String 最高车速
fueltype String 燃料种类
phone String 电话号码
type String 类型
idcode String 识别代号
boxwidth String 货厢宽
boxlength String 货厢长
boxheight String 货厢高
turnform String 转向形式
tyrenum String 轮胎数
tyresize String 轮胎规格
axesnum String 轴数
axleload String 轴荷
wheelbase String 轴距
lmuf String 载质量利用系数
postcode String 邮政编码
ratedmass String 额定质量
apcc String 额定载客
cabnum String 驾驶室准乘人数
idx_vin String VIN码
create_date datetime
5.代码示例
5.1请求示例
biz_content的json格式样例
{
"idcode": "xxxxxx"
}
5.2响应示例
{
"request_id":"SN1537700148774309888",
"code":"00000",
"data":{
"msg":"查询成功",
"list":[
{
"fueltype":"LNG",
"totalweight":"31000",
"axesnum":"4",
"maxspeed":"87",
"enginebrand":"",
"reartrack":"1878/1878",
"type":"自卸式垃圾车",
"noticebatch":xxx,
"enginemodel":"xxx",
"fronttrack":"2020/2020,2048/2048",
"displacement":"12540125409480",
"id":xxx,
"fax":"0486",
"brand":"解放",
"axleload":"xxx",
"suspension":"xxx",
"ada":"18/40",
"height":"3325,3450,3600",
"emissionstandard":"xxxx",
"postcode":"xxx",
"weight":"15500",
"wheelbase":"xxxx",
"phone":"0*",
"cabnum":"2,3",
"boxlength":"7400,7600,7800,8000,8200,8600,8800,6800,7200,6500",
"indexnum":"0",
"turnform":"方向盘",
"boxheight":"800,900,1000,1100,1200,1300,1400,1500",
"tyrenum":"12",
"boxwidth":"2300,2350",
"ratedmass":"15370,15305",
"idcode":"xxxx",
"company":"xxx",
"power":"316338257",
"enginefactory":"xxx",
"tyresize":"xxxx",
"chassis2":"",
"lmuf":"1.00",
"chassis3":"",
"chassis4":"",
"apcc":"",
"address":"xxx",
"wide":"2550",
"chassis1":"xxx",
"length":"xxx",
"maxweight":"",
"noticetype":"xxx",
"springsnum":"xxxx",
"totaltrailerweight":"",
"idxVin":"xx",
"remarks":"xxx"
}
]
},
"message":"操作成功",
"timestamp":1655451259303
}
5.3异常示例
{
"request_id": "SN1527163857943007232",
"code": "400",
"message": "",
"timestamp": 1652939212046
}
6.附录
6.1接口返回码
编码 描述 是否收费
00000 查询成功 收费
400 错误信息 免费
400 VIN码格式错误 免费