金润·高速通-高速里程同车型排比接口文档

简介: 高速里程同车型排比接口介绍:被查车辆在指定时间段内,高速行驶里程的同车型排名,以及该排名的同比变化、环比变化更新时间:实时接口类型: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-005

接口描述

指定车辆指定时期(以月为单位)的通行里程排名信息(按车型)

接口地址

/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.highway.car.mileage.compare"

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

 

plateColor

Integer

Y

2

车牌颜色

0-蓝色,1-黄色,

2-黑色,3-白色,

4- 渐变绿色

5- 黄绿双拼色

6- 蓝白渐变色

7- 临时牌照

11-绿色

12-红色

plateNum

String

Y

10

车牌号

name

String

Y

18

个人姓名/企业名称

tel

String

N

18

手机号/经办人手机号

idNum

String

Y

30

身份证号/企业证件号

agentName

String

N

50

经办人姓名

agentIdNum

String

N

50

经办人身份证号

startDate

String

Y

10

yyyy-MM-dd

当单位为月时,开始时间必须为单位月份的第一天

endDate

String

Y

10

yyyy-MM-dd

当单位为月时,结束时间必须为单位月份的最后一天

serialNo

String

Y

50

流水号

userCode

String

Y

50

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

 

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

单月查询(多月查询报错返回:查询范围最大只能为1个月!)

 


4. 响应参数

4.1 公共响应参数

参数

类型

说明

code

String

响应码参见附录6

request_id

String

请求Id

message

String

响应信息

timestamp

Long

时间戳

data

String

返回数据

 

 

4.2 接口响应参数

参数

类型

说明

ranking

Double

排名

确定时间段内有多少同车型车辆的通行里程小于指定车辆的通行里程/指定时间段内同车型所有车辆数*100%

ringRatio

Double

环比

按照上述方式计算上一个时间段的排名,两者差值

yearOveryear

Double

同比

按照上述方式计算去年同一时期的排名,两者差值

serialNo

String

流水号

5. 代码示例

5.1 请求示例

biz_content的json格式样例

{

  "agentIdNum": "",

  "agentName": "",

  "userCode":"xxx",

  "endDate": "2021-09-30",

  "idNum": "43290119790409xxxx",

  "name": "唐xx",

  "plateColor": 1,

  "plateNum": "湘DB3652",

  "serialNo": "111",

  "startDate": "2021-09-01",

  "tel": ""

}

5.2 响应示例

{

    "request_id": "SN1534405129980219392",

    "code": "00000",

    "data": {

        "ringRatio": 10,

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

        "ranking": 15,

        "yearOveryear": 11

    },

    "message": "操作成功",

    "timestamp": 1654665665622

}

 

 

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

未知错误。

免费

 

相关文章
|
存储 Linux API
软件体系结构 - 嵌入式系统(2)- 嵌入式操作系统
软件体系结构 - 嵌入式系统(2)- 嵌入式操作系统
539 0
|
存储 缓存 开发框架
多线程环境下的伪共享
多线程环境下的伪共享
326 3
|
域名解析 运维 网络协议
推荐一款专业级的动态域名解析系统 - bind webadmin
`bind webadmin`是一款基于Bind9打造的高效DNS管理系统,简化了DNS配置与管理流程,适用于动态IP环境下的远程访问需求。此系统不仅便于维护,还支持API接口,方便自动化操作与第三方应用集成,特别适合远程办公、智能家居及各类物联网应用场景。其自托管特性保障了数据的安全与可控性,同时提供了详尽的中文安装教程,易于部署。项目地址:[bindwebadmin](https://github.com/guofusheng007/bindwebadmin.git)。建议使用阿里云主机以获得最佳性能。
|
算法 C语言 Windows
C语言实现2048游戏(Windows版)
C语言实现2048游戏(Windows版)
|
供应链 安全 区块链
【北京大学 软件工程】一、软件工程概论
本文介绍了软件的定义、特点及分类,探讨了软件工程的起源、概念及其框架,并展望了软件工程的新视野。软件是指计算机系统中的程序及其文档,具有无形性、复杂性和高开发成本等特点,分为系统软件、支撑软件和应用软件三类。软件工程起源于解决早期编程难题,历经个人程序、软件作坊到软件工程时期的发展,旨在以工程化方法解决软件危机。软件工程的核心目标是生产正确、可用且开销合理的软件,主要活动包括需求分析、设计、实现、确认和支持。新一代信息技术如量子计算、区块链等正推动软件工程向更高效、安全的方向发展。
【北京大学 软件工程】一、软件工程概论
|
Web App开发 小程序 Android开发
Appium微信小程序自动化环境准备
Appium微信小程序自动化环境准备
865 1
Python----统计字符串中的英文字母、空格、数字和其它字符的个数。
Python----统计字符串中的英文字母、空格、数字和其它字符的个数。
|
算法 安全 数据安全/隐私保护
【防网盘在线解压】Peazip 豌豆压缩 v9.7.0
【防网盘在线解压】Peazip 豌豆压缩 v9.7.0
452 7
【防网盘在线解压】Peazip 豌豆压缩 v9.7.0
|
Python
python实现学生信息管理系统(附源码 可供大作业或练习使用)
python实现学生信息管理系统(附源码 可供大作业或练习使用)
1076 2
python实现学生信息管理系统(附源码 可供大作业或练习使用)