金润数科JR-CLT-001-通过品牌和型号查询车型信息接口文档

简介: 接口名称 通过品牌和型号查询车型信息接口编号 JR-CLT-001接口描述 通过品牌和型号查询车型信息接口地址 /dmp/api请求方式 POST加密方式 RSA2

目录

  1. 接口描述 4
  2. 加密方式 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
  3. 请求参数 8
    3.1 公共请求参数 8
    3.2 接口请求参数 8
  4. 响应参数 9
    4.1 公共响应参数 9
    4.2 接口响应参数 9
  5. 代码示例 13
    5.1 请求示例 13
    5.2 响应示例 13
    5.3 异常示例 16
  6. 附录 17
    6.1 接口返回码 17

1.接口描述
接口名称 通过品牌和型号查询车型信息
接口编号 JR-CLT-001
接口描述 通过品牌和型号查询车型信息
接口地址 /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&timestamp=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&timestamp=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.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接口响应参数

参数 类型 说明
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格式样例
{
"brand": "解放",
"noticetype": "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 错误信息 免费

相关文章
|
JSON 网络协议 Java
图文详解压力测试工具JMeter的安装与使用
压力测试是目前大型网站系统的设计和开发中不可或缺的环节,通常会和容量预估等工作结合在一起,穿插在系统开发的不同方案。压力测试可以帮助我们及时发现系统的性能短板和瓶颈问题,在这个基础在上再进行针对性的性能优化,也可以帮助我们预估系统的承载能力,使我们能根据其做出一些应对措施。
2026 0
图文详解压力测试工具JMeter的安装与使用
|
4月前
|
人工智能 弹性计算 智能设计
阿里云PAI人工智能平台计费说明:按量计费/节省计划/包年包月/资源包/按推理时长计费说明
阿里云PAI平台提供按量计费、包年包月、资源包、节省计划及按推理时长计费五种模式,适用于不同场景。按量适合短期测试,包年包月适合长期稳定使用,资源包和节省计划可降成本,按推理时长适配弹性负载。结合实际需求选择更划算。
905 10
|
JSON 前端开发 安全
跨域问题产生的原因以及解决方案
【10月更文挑战第9天】跨域问题是前端开发中不可避免的一个问题,了解其产生的原因以及掌握多种解决方案是非常重要的。在实际应用中,需要根据项目的具体情况和需求,选择合适的解决方案,并不断关注跨域问题的发展趋势,以便及时应对新的挑战。
|
Ubuntu 安全 Linux
openSSH升级
【10月更文挑战第2天】本文介绍了如何升级 OpenSSH 的步骤。首先,通过不同命令检查当前系统中的 OpenSSH 版本;其次,备份配置文件以防升级时丢失;然后,在 Debian/Ubuntu 和 CentOS/RHEL 系统中分别执行不同的命令进行升级;最后,验证升级后的版本并检查服务状态,解决兼容性问题,并考虑新的安全特性。
2058 3
|
存储 搜索推荐 数据库
软件系统【标签tag功能】的两种数据库设计
软件系统中的标签功能可采用两种数据库设计。方案一,文章和Tag各一表,Tag信息存储在文章表内(`tags`和`tagids`字段),优点是模型简单,但查询效率低且易引发数据冗余和一致性问题。方案二,增加Tagmap表,用于存储标签-文章映射,利于索引查询和数据更新,适用于高效率需求,但结构更复杂。
985 0
软件系统【标签tag功能】的两种数据库设计
|
Java
Mac环境下反编译apk
Mac环境下反编译apk
612 0
|
机器学习/深度学习 算法 数据可视化
突破传统生存分析:利用随机森林进行个体化风险预测
突破传统生存分析:利用随机森林进行个体化风险预测
1648 0
突破传统生存分析:利用随机森林进行个体化风险预测
|
缓存 前端开发 JavaScript
理解 Proxy 和 Object.defineProperty:提升你的 JavaScript 技能(下)
理解 Proxy 和 Object.defineProperty:提升你的 JavaScript 技能(下)
理解 Proxy 和 Object.defineProperty:提升你的 JavaScript 技能(下)
|
存储 NoSQL 数据挖掘
亿级用户游戏排行榜设计方案
亿级用户游戏排行榜设计方案
750 0