车辆规避限行 最后更新时间: 2020年12月15日
法律声明
版权所有©2019,高德集团。 保留一切权利。 本文档包含的所有内容除特别声明之外,版权均属于高德集团所有,受《中华人民共和国著作权法》及相关法律法规和中国加入的所有知识产权方面的国际条约的保护。未经本公司书面许可,任何单位和个人不得以任何方式(电子或机械,包括影印)翻印或转载本文档的任何部分,否则将视为侵权,高德集团保留依法追究其法律责任的权利。 高德地图API 的一切有关权利属于高德集团所有。 本文档并不代表供应商或其代理的承诺,高德集团可在不作任何申明的情况下对本文档内容进行修改。 本文档中所涉及的软件产品及其后续升级产品均由高德集团制作并负责全权销售。 本文档中提到的其它公司及其产品的商标所有权属于该商标的所有者。
高德地图API 欢迎用户的任何建议或意见。
前言
本文主要对车辆信息传输规范进行介绍,包括信息传输方式、协议、频率、具体信息等内容. 注意:
- 接口URL示例中,使用<用户Key>(含尖括号),请替换为用户在lbs.amap.com中申请的Key.
概述
规避限行服务,通过传入的目的地,出发地,车辆等信息,计算出车辆是否可以在服务中可用,服务乘客.
服务协议
HTTP / POST
URL
https://tsapi.amap.com/v1/restrict
编码格式
如无特殊声明,所有接口的输入参数和输出数据编码全部统一为UTF-8.
版本
V3.0
请求
名称 | 含义 | 字段类型 | 说明 | 是否必填 |
---|---|---|---|---|
key | Key | String | 请求服务权限标识 | 必须 |
orderID | 订单ID | String | 订单ID 如: 7434271 | 非必须 |
orderCity | 订单城市 | String | 订单所在城市,使用citycode。 如: 010 | 必须 |
startName | -出发地名称 | String | 出发地名称 | 必须 |
start | -出发地经纬度 | String | 1.经度在前,纬度在后,经度和纬度用英文半角逗号","分隔。 2.单次只可以传入一组经纬度坐标对。 如: 116.473195,39.993253 | 必须 |
endName | -目的地名称 | String | 目的地名称 | 必须 |
end | -目的地经纬度 | String | 1.经度在前,纬度在后,经度和纬度用英文半角逗号","分隔。 2.单次只可以传入一组经纬度坐标对。 如: 116.473195,39.993253 | 必须 |
startTime | -出发时间 | String | 时间戳,单位为s | 非必须, 默认使用 当前时间 |
detourRange | -送驾过程能够接受绕路最大区间 | String | 默认传入0;可输入区间:0-50 即可以支持标准值的正负50%都属于可接受区间. | 非必须 |
vehicles | JsonArray | 最大一次请求20条车辆信息。 | 必须 | |
-id | -车辆ID | String | 车辆id | 必须 |
-location | -车辆实时位置 | String | 1.经度在前,纬度在后,经度和纬度用英文半角逗号","分隔。 2.单次只可以传入一组经纬度坐标对。 如: 116.473195,39.993253 | 必须 |
-province | -车牌省份 | String | 用汉字填入车牌省份缩写,用于判断是否限行 | 必须 |
-number | -车牌号码 | String | 填入除省份及标点之外,车牌的字母和数字(需符合国家标准, 第一位为大写字母,2-5位为数字或大写字母,最后一位为数字 或大写字母或挂学警港澳)。用于判断限行相关。 | 必须 |
startBuffer | 接驾预留时间 | String | 增加接驾停留考虑, 例如10:00开始限行, 如果预留时间10min, 那么9:51到达即算作异常 | 非必须 |
endBuffer | 送驾预留时间 | String | 增加送驾停留考虑, 例如10:00开始限行, 如果预留时间10min, 那么9:51到达即算作异常 | 非必须 |
judgeDetour | 判断是否绕路 | String | 1:判断绕路(默认) 0:不判断绕路 | 非必须 |
URL示例:
https://tsapi.amap.com/v1/restrict?key=<用户key>
body: orderCity=010&start=116.481028,39.989643&end=116.465302,40.004717&orderID=1000000000001&startName=出发地名称&endName=目的地名称&detourRange=20&vehicles=[{"id":"12345","location":"116.599005,39.908906","province":"京","number":"N11143"}]
应答
header
每次响应结果的Response header中包含gsid.当发生异常时,gsid帮助我们快速定位异常原因.
body
名称 | 含义 | 字段类型 | 说明 |
---|---|---|---|
errcode | 返回结果状态码 | int | 返回结果状态码,见errcode/errmsg 对照表 |
errmsg | 返回结果状态码描述 | String | 返回结果状态码描述 |
errdetail | 返回结果状态信息 | String | 返回结果状态信息 |
data | 车辆数据 | JsonObject | 车辆限行信息数据 |
-orderID | -订单ID | String | 订单ID |
-vehicles | –筛选结果车辆信息 | JsonArray | 筛选结果车辆信息list |
–vehicleID | —车辆ID | String | 车辆ID |
-available | -车辆是否因限行不可用 | int | 0:车辆可用(不限行或者限行可以规避限行路段) 1:车辆不可用(限行且不能绕开限行路段) (车辆可用对应引擎无限行/无限行+图中绕路; 车辆不可用对应1/2/4/5) |
-restrictInfo | -限行分析 | int | bit标示 由低位到高位分别代表 0, // 无限行 0b1, // 无法接驾 0b10, // 无法送驾 0b100, // 途中绕路 0b1000, // 接驾即将被限行0b10000, // 送驾即将被限行0b100000, // 司机当前处在限行位 *仅访问限行引擎方式展示此字段 |
-allDistance | -完成订单总里程 | int | 完成订单总里程(若限行,则为默认值0) *访问限行引擎方式此字段不展示 |
-detour | -是否有绕行风险 | boolean | 是否因为规避限行造成绕行, 若不需要判断绕行,则结果为空 (新接入用户, 限行分析=3则返回此字段) |
结果示例:
{
"data": {
"orderID": "1000000000001",
"vehicles": [{
"allDistance": 26962,"available": 0,"detour": false,"vehicleID": "12345"}]},
"errcode": 10000,
"errdetail": null,
"errmsg": "OK" }
附录
errcode/errmsg 对照表
序号 | errcode | errmsg | 状态描述 | 问题排查策略 |
---|---|---|---|---|
1 | 10000 | OK | 请求正常 | 请求正常 |
2 | 10001 | INVALID_USER_KEY | key不正确或过期 | 发起请求时,传入的key不正确或者过期 |
3 | 10002 | SERVICE_NOT_AVAILABLE,Solution URL "https://lbs.amap.com/api/webservice/info/" | 没有权限使用相应的服务或者请求接口的路径拼写错误 |
1.没有权限使用相应的服务,例如:申请了WEB定位功能的key,却使用该key访问逆地理编码功能时,就会返回该错误。反之亦然 2.请求接口的路径拼写错误 |
4 | 10003 | DAILY_QUERY_OVER_LIMIT,Solution URL "https://lbs.amap.com/api/webservice/info/" | 访问已超出日访问量 | 日访问量超限,被系统自动封停,第二天0:00会自动解封 |
5 | 10004 | ACCESS_TOO_FREQUENT,Solution URL"https://lbs.amap.com/api/webservice/info/" | 单位时间内访问过于频繁 | 单位时间内(1分钟)访问量超限,被系统自动封停,下一分钟自动解封 |
6 | 10005 | INVALID_USER_IP | IP白名单出错,发送请求的服务器IP不在IP白名单内 | 在LBS官网控制台设置的IP白名单不正确。白名单中未添加对应服务器的出口IP。可到"控制台>配置"中设定IP白名单 |
7 | 10006 | INVALID_USER_DOMAIN | 绑定域名无效 | 为Key绑定的域名无效,需要在官网控制台重新设置 |
8 | 10007 | INVALID_USER_SIGNATURE | 数字签名未通过验证 | 数字签名未通过。在key控制台中,开启了"数字签名"功能,但没有按照指定算法生成"数字签名 |
9 | 10008 | INVALID_USER_SCODE | MD5安全码未通过验证 | 需要判定key绑定的SHA1,package是否与sdk包里的一致 |
10 | 10009 | USERKEY_PLAT_NOMATCH | 请求key与绑定平台不符 | 请求中使用的key与绑定平台不符,例如:申请的是JS API的key,却用来调Web服务接口 |
11 | 10010 | IP_QUERY_OVER_LIMIT,Solution URL "https://lbs.amap.com/api/webservice/info/" | IP访问超限 | 未设定IP白名单的开发者使用Key发起请求,从单个IP向服务器发送的请求次数超出限制,被系统自动封停 |
12 | 10011 | NOT_SUPPORT_HTTPS | 服务不支持https请求 | 服务不支持https请求,如果需要申请支持,请提交工单联系我们 |
13 | 10012 | INSUFFICIENT_PRIVILEGES | 权限不足,服务请求被拒绝 | 由于不具备请求该服务的权限,所以服务被拒绝。 |
14 | 10013 | USER_KEY_RECYCLED | Key被删除 | Key被删除后无法正常使用 |
15 | 10014 | QPS_HAS_EXCEEDED_THE_LIMIT | QPS超限 | QPS超出限制,超出部分的请求被拒绝。限流阈值内的请求依旧会正常返回 |
16 | 10015 | GATEWAY_TIMEOUT | 受单机QPS限流限制 | 受单机QPS限流限制时出现该问题,建议降低请求的QPS或在控制台提工单联系我们 |
17 | 10016 | SERVER_IS_BUSY | 服务器负载过高 | 服务器负载过高,请稍后再试 |
18 | 10017 | RESOURCE_UNAVAILABLE | 所请求的资源不可用 | 所请求的资源不可用 |
19 | 10019 | CQPS_HAS_EXCEEDED_THE_LIMIT | 使用的某个服务总QPS超限 | |
20 | 10020 | CKQPS_HAS_EXCEEDED_THE_LIMIT | 某个Key使用某个服务接口QPS超出限制 | |
21 | 10021 | CIQPS_HAS_EXCEEDED_THE_LIMIT | 来自于同一IP的访问,使用某个服务QPS超出限制 |
|
22 | 10022 | CIKQPS_HAS_EXCEEDED_THE_LIMIT | 某个Key,来自于同一IP的访问,使用某个服务QPS 超出限制 | |
23 | 10023 | KQPS_HAS_EXCEEDED_THE_LIMIT | 某个KeyQPS超出限制 | |
24 | 20000 | INVALID_PARAMS | 请求参数非法 | 请求参数的值没有按照规范要求填写。例如,某参数值域范围为[1,3],开发者误填了"4" |
25 | 20001 | MISSING_REQUIRED_PARAMS | 缺少必填参数 | 缺少接口中要求的必填参数 |
26 | 20002 | ILLEGAL_REQUEST | 请求协议非法 | 请求协议非法 |
27 | 20003 | UNKNOWN_ERROR | 其他未知错误 | 其他未知错误 |
28 | 20011 | INSUFFICIENT_ABROAD_PRIVILEGES | 查询坐标或规划点(包括起点、终点、途经点)在海 外,但没有海外地图权限 | |
29 | 20012 | ILLEGAL_CONTENT | 查询信息存在非法内容 | |
30 | 20051 | TERMINAL_NOT_FOUND | 设备不存在,即查询使用的车辆ID没有通过 data/vehicle上传 | |
31 | 20052 | TRACK_NOT_FOUND | 轨迹不存在,即查询使用的订单ID没有通过 data/vehicle上传 | |
32 | 20800 | OUT_OF_SERVICE | 规划点(包括起点、终点、途经点)不在中国陆地范 围内 | |
33 | 20801 | NO_ROADS_NEARBY | 划点(起点、终点、途经点)附近搜不到路 | |
34 | 20802 | ROUTE_FAIL | 路线计算失败,通常是由于道路连通关系导致 | |
35 | 20803 | OVER_DIRECTION_RANGE | 起点终点距离过长 | |
36 | 300** | ENGINE_RESPONSE_DATA_ERROR | 服务响应失败 | 出现3开头的错误码,建议先检查传入参数是否正确,若无法解决,请详细描述错误复现信息,提工单给我们 |