金润·高速通-车辆信息查验接口文档

简介: 车辆信息查验接口介绍:查询指定人员/企业(ETC开户人/车辆所有人)指定时间内所有车辆的车牌号、车型、轴数及ETC卡信息更新时间:实时接口类型:API接口数据优势:直连交通部路网中心,合法合规、权威、精确数据安全:只查验车辆信息,保护个人信息隐私计费方式:核验计费,详情请咨询

金润·高速通-车辆信息查验接口文档

 目录

1.接口描述

2.加密方式

2.1加签,验签机制说明

2.2签名算法

2.3加密方式

2.4生成签名

2.4.1筛选并排序

2.4.2拼接

2.4.3调用签名函数

2.4.4拼接完整请求

3.请求参数

3.1公共请求参数

3.2接口请求参数

4.响应参数

4.1公共响应参数

4.2接口响应参数

5.代码示例

5.1请求示例

5.2响应示例

5.3异常示例

6.附录

6.1接口返回码


1. 车辆信息查验接口描述

接口名称

高速通-车辆信息查验

接口编号

JR-GST-002

接口描述

查询指定人员/企业(ETC开户人)所有车辆的车牌号、车型、轴数及ETC卡信息

接口地址

/dmp/api

请求方式

POST

加密方式

RSA2

 

注意事项:

当返回码“为20001”时, 需要调用“上传授权委托书接口”先上传授权委托书,上传成功之后,重新调用本接口。


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&sig

 

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. 车辆信息查验接口请求参数

3.1 公共请求参数

参数

类型

必填

最大长度

说明

app_id

String

Y

32

金润商务提供

method

String

Y

100

固定值:

"jinrun.car.info.verify"

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.2 接口请求参数

参数

类型

必填

最大长度

说明

biz_content

name

String

Y

18

个人姓名/企业名称

tel

String

N

18

手机号/经办人手机号

idNum

String

Y

30

身份证号/企业证件号

agentName

String

N

50

经办人姓名

agentIdNum

String

N

50

经办人身份证号

serialNo

String

Y

50

流水号

userCode

String

Y

50

授权UserCode,参考授权接口文档

 

提示:姓名/手机号/身份证号不可都为空

 

4. 车辆信息查验接口响应参数

4.1 公共响应参数

参数

类型

说明

code

String

响应码参见附录6

request_id

String

请求Id

message

String

响应信息

timestamp

Long

时间戳

data

String

返回数据

 

 

4.2 接口响应参数

参数

类型

说明

hasData

Boolean

true/false

model

Object

 

serialNo

String

流水号

vehicleInfoModelList

List

 

axleCount

Integer

车轴数

plateNum

String

车牌号

plateColor

Integer

车牌颜色

0-蓝色,1-黄色,

2-黑色,3-白色,

4- 渐变绿色

5- 黄绿双拼色

6- 蓝白渐变色

7- 临时牌照

11-绿色

12-红色

vehicleType

 

收费车型

1-一型客车

2-二型客车

3-三型客车

4-四型客车

11-一型货车

12-二型货车

13-三型货车

14-四型货车

15-五型货车

16-六型货车

21-一型专项作业车

22-二型专项作业车

23-三型专项作业车

24-四型专项作业车

25-五型专项作业车

26-六型专项作业车

cardInfoList

List

 

cardId

String

卡号

cardStatus

Integer

卡状态

1-正常2-有卡挂起3-无卡挂起

4-有卡注销5-无卡注销6-卡挂失

updateTime

LocalDateTime

最后变更时间

5. 车辆信息查验接口代码示例

5.1 请求示例

biz_content的json格式样例

{

    "name":"翁xx",

    "idNum":"35012819790624xxx",

    "serialNo":"55ac9936-a625-4059-af19-9f162329b10a",

    "userCode":"xxx"

}

5.2 响应示例

{

    "request_id": "SN1534106924503666688",

    "code": "00000",

    "data": {

        "hasData": false,

        "model": {

            "serialNo": "55ac9936-a625-4059-af19-9f162329b10a",

            "vehicleInfoModelList": [

                {

                    "cardInfoList": [

                        {

                            "updateTime": "2022-01-01T12:00:00",

                            "cardId": "12345678900987654321",

                            "cardStatus": 1

                        }

                    ],

                    "axleCount": 2,

                    "plateNum": "京2345",

                    "plateColor": 1,

                    "vehicleType": 1

                }

            ]

        }

    },

    "message": "操作成功",

    "timestamp": 1654594602302}

5.3 异常示例

 

6. 车辆信息查验接口附录

6.1 接口返回码

编码

描述

是否收费

00000

查询成功

收费

20001

需要先调用上传授权书接口

免费

400

服务器不理解请求的语法。

免费

401

请求要求身份验证。

免费

403

服务器拒绝请求。

免费

404

服务器找不到请求的网页。

免费

405

禁用请求中指定的方法。

免费

406

无法使用请求的内容特性响应请求的网页。

免费

407

请求要求身份验证。

免费

408

服务器等候请求时发生超时。

免费

409

服务器在完成请求时发生冲突。

免费

410

如果请求的资源已永久删除,服务器就会返回此响应。

免费

411

服务器不接受不含有效内容长度标头字段的请求。

免费

412

服务器未满足请求者在请求中设置的其中一个前提条件。

免费

413

服务器无法处理请求,因为请求实体过大,超出服务器的处理能力。

免费

414

请求的 URI(通常为网址)过长,服务器无法处理。

免费

415

请求的格式不受请求页面的支持。

免费

416

如果页面无法提供请求的范围,则服务器会返回此状态代码。

免费

417

服务器未满足期望请求标头字段的要求。

免费

500

服务器遇到错误,无法完成请求。

免费

501

服务器不具备完成请求的功能。

免费

502

服务器作为网关或代理,从上游服务器收到无效响应。

免费

503

服务器目前无法使用(由于超载或停机维护)。

免费

504

服务器作为网关或代理,但是没有及时从上游服务器收到请求。

免费

505

服务器不支持请求中所用的 HTTP 协议版本。

免费

703

参数非法或者为空。

免费

704

业务查询失败。

免费

711

无数据。

免费

716

响应失败。

免费

949

协议中未定义此类文件名(协议调用错误,文件名不正确)。

免费

950

鉴权失败。

免费

951

文件md5校验失败。

免费

999

未知错误。

免费


相关文章
|
程序员
宝塔海外版aapanel中文语言包
这篇文章介绍了宝塔海外版aapanel中文语言包的安装方法。由于宝塔国内版强制登录账号,很多用户开始使用宝塔海外版aapanel,但是该版本是全英文的。该汉化包是基于6.8.26版本制作的,适用于一些不习惯英文界面的用户。安装步骤包括下载、解压、上传和覆盖文件,并重新启动宝塔面板。
2038 0
|
开发者
SyntaxError: cannot assign to literal错误
SyntaxError: cannot assign to literal错误
3061 1
|
11月前
|
机器学习/深度学习 自然语言处理 算法
《Java 情感分析:前沿技术与方法全解析》
在数字化时代,情感分析是提取文本数据价值的关键技术。本文探讨了Java在这一领域的应用,涵盖自然语言处理工具(如Apache OpenNLP、Stanford NLP)、机器学习方法(如朴素贝叶斯、SVM)及深度学习框架(如TensorFlow、Deeplearning4j)。通过这些技术和工具,Java能够高效处理情感分析任务,广泛应用于社交媒体监测、客户反馈分析等场景,尽管仍面临文本多样性与复杂性的挑战。
380 9
|
9月前
|
程序员 API 调度
iOS|解决 setBrightness 调节屏幕亮度不生效的问题
在包含视频播放功能的 App 中,一种常见的交互是在播放器界面的左侧上下滑动调节屏幕亮度,右侧上下滑动调节音量。我们的 iOS App 里也是这样设计的,但最近在测试过程中,发现亮度调节不生效了。
388 76
|
资源调度 芯片
流片Corner Wafer介绍
芯片制造是一个物理过程,存在着工艺偏差(包括掺杂浓度、扩散深度、刻蚀程度等),导致不同批次之间,同一批次不同晶圆之间,同一晶圆不同芯片之间情况都是不相同的。
23016 0
流片Corner Wafer介绍
|
SQL 关系型数据库 MySQL
mysql数据误删后的数据回滚
【11月更文挑战第1天】本文介绍了四种恢复误删数据的方法:1. 使用事务回滚,通过 `pymysql` 库在 Python 中实现;2. 使用备份恢复,通过 `mysqldump` 命令备份和恢复数据;3. 使用二进制日志恢复,通过 `mysqlbinlog` 工具恢复特定位置的事件;4. 使用延迟复制从副本恢复,通过停止和重启从库复制来恢复数据。每种方法都有详细的步骤和示例代码。
1534 2
|
机器学习/深度学习 传感器 算法
深度学习之基于视觉的机器人导航
基于深度学习的视觉机器人导航是一种通过深度学习算法结合视觉感知系统(如摄像头、LiDAR等)实现机器人在复杂环境中的自主导航的技术。
657 5
|
存储 安全 Java
Java内省(Introspector)机制:深入理解与应用
Java内省(Introspector)机制:深入理解与应用
|
机器学习/深度学习 人工智能 算法
Spring Boot + AI:融合创新,开启智能应用新篇章
【8月更文挑战第20天】在当今这个数据驱动的时代,人工智能(AI)与软件开发的深度融合正引领着技术革新的浪潮。而Spring Boot,作为Java领域中最受欢迎的微服务框架之一,以其快速开发、易于部署和丰富的生态支持,成为了连接传统应用与智能服务的桥梁。探讨Spring Boot与AI的结合,不仅是技术趋势的必然,更是推动行业智能化转型的重要路径。
950 3
|
安全 测试技术
Fiddler是什么软件?如何配置使用?
【10月更文挑战第3天】Fiddler是什么软件?如何配置使用?
549 3