金润数科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的安装与使用
压力测试是目前大型网站系统的设计和开发中不可或缺的环节,通常会和容量预估等工作结合在一起,穿插在系统开发的不同方案。压力测试可以帮助我们及时发现系统的性能短板和瓶颈问题,在这个基础在上再进行针对性的性能优化,也可以帮助我们预估系统的承载能力,使我们能根据其做出一些应对措施。
1737 0
图文详解压力测试工具JMeter的安装与使用
|
Ubuntu 安全 Linux
openSSH升级
【10月更文挑战第2天】本文介绍了如何升级 OpenSSH 的步骤。首先,通过不同命令检查当前系统中的 OpenSSH 版本;其次,备份配置文件以防升级时丢失;然后,在 Debian/Ubuntu 和 CentOS/RHEL 系统中分别执行不同的命令进行升级;最后,验证升级后的版本并检查服务状态,解决兼容性问题,并考虑新的安全特性。
1674 3
|
存储 搜索推荐 数据库
软件系统【标签tag功能】的两种数据库设计
软件系统中的标签功能可采用两种数据库设计。方案一,文章和Tag各一表,Tag信息存储在文章表内(`tags`和`tagids`字段),优点是模型简单,但查询效率低且易引发数据冗余和一致性问题。方案二,增加Tagmap表,用于存储标签-文章映射,利于索引查询和数据更新,适用于高效率需求,但结构更复杂。
823 0
软件系统【标签tag功能】的两种数据库设计
|
Java
Mac环境下反编译apk
Mac环境下反编译apk
405 0
|
缓存 前端开发 JavaScript
理解 Proxy 和 Object.defineProperty:提升你的 JavaScript 技能(下)
理解 Proxy 和 Object.defineProperty:提升你的 JavaScript 技能(下)
理解 Proxy 和 Object.defineProperty:提升你的 JavaScript 技能(下)
|
存储 NoSQL 数据挖掘
亿级用户游戏排行榜设计方案
亿级用户游戏排行榜设计方案
586 0
|
存储 编译器 数据库
进阶C语言 第六章-------《文件操作》 (fgetc、fputc、fgets、fputs、fprintf、fscanf)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(一)
进阶C语言 第六章-------《文件操作》 (fgetc、fputc、fgets、fputs、fprintf、fscanf)知识点+完整思维导图+基本练习题+深入细节+通俗易懂建议收藏(一)
|
存储 Java Android开发
ThreadLocal原理解析(1):数据存取
ThreadLocal原理解析(1):数据存取
ThreadLocal原理解析(1):数据存取
|
存储 Linux 编译器
《C语言深度剖析》第一章 关键字详解 p3 C语言从入门到入土(进阶篇)(二)
1.switch case 组合 对于switch && case && break && default 的总结 2.getchar 3.putchar 4.do、while、for 关键字 break && continue 区别 5.goto 关键字 6.void 关键字 6.1 void修饰函数返回值和参数 6.1.2 void用来作为函数返回值 6.1.3 void 作为函数参数 6.2 void 指针 6.3 void * 定义的指针变量可以进行运算操作吗 6.4 void * 用来设计通用接口
《C语言深度剖析》第一章 关键字详解 p3 C语言从入门到入土(进阶篇)(二)

热门文章

最新文章