批量接驾计算 最后更新时间: 2020年12月15日
法律声明
版权所有©2019,高德集团。保留一切权利。本文档包含的所有内容除特别声明之外,版权均属于高德集团所有,受《中华人民共和国著作权法》及相关法律法规和中国加入的所有知识产权方面的国际条约的保护。未经本公司书面许可,任何单位和个人不得以任何方式(电子或机械,包括影印)翻印或转载本文档的任何部分,否则将视为侵权,高德集团保留依法追究其法律责任的权利。高德地图API 的一切有关权利属于高德集团所有。本文档并不代表供应商或其代理的承诺,高德集团可在不作任何申明的情况下对本文档内容进行修改。本文档中所涉及的软件产品及其后续升级产品均由高德集团制作并负责全权销售。本文档中提到的其它公司及其产品的商标所有权属于该商标的所有者。
高德地图API 欢迎用户的任何建议或意见。
概述
针对接驾场景提供高精度批量ETA计算服务.
服务协议
HTTP / GET
URL
https://tsapi.amap.com/v1/compute?key=#
编码格式
如无特殊声明,所有接口的输入参数和输出数据编码全部统一为UTF-8.
请求:
名称 | 含义 | 字段类型 | 说明 | 是否必填 |
---|---|---|---|---|
key | Key | string | 请求服务权限标识 | 必须 |
orderID | 订单ID | string | 订单ID 如: 7434271 | 必须 |
customerDeviceID | 下单设备号 | string | Android系统: IMEI 例: 862918039347887 iOS系统: IDFA (无IDFA则使用IDFV) 例: 0DF2B2AC-52B9-4CD5-DCEC-200CF8A1664A (如果业务中不能获取相关iMei则可传入空值) | 非必须 |
vehicleType | 订单车辆类型 | int | 根据车辆位置同步中车辆类型字段选择,车辆分类, 例如: 1: 出租车 ;取值范围为0~200 | 必须 |
orderCity | 订单城市 | string | 订单所在城市, 使用citycode。 如: 010 | 必须 |
orderTime | 订单时间戳 | long | 订单生成时刻的Unix时间戳 如: 1481904366 (以秒为单位的Unix时间戳) | 必须 |
startTime | -出发时间 | long | 以秒为单位的Unix时间戳 | 必须 |
startName | -出发地名称 | string | 出发地名称 | 必须 |
start | -出发地经纬度 | string | 1.经度在前,纬度在后,经度和纬度用英文半角逗号","分隔,小数点后不得超过6位; 2.单次只可以传入一组经纬度坐标对。 如: 116.473195,39.993253 | 必须 |
endName | -目的地名称 | string | 目的地名称 | 必须 |
end | -目的地经纬度 | string | 1.经度在前,纬度在后,经度和纬度用英文半角逗号","分隔,小数点后不得超过6位; 2.单次只可以传入一组经纬度坐标对。 如: 116.473195,39.993253 | 必须 |
radius | 匹配半径 | int | 实时单: 按照出发点经纬度为中心的半径距离对车辆进行匹配. 单位: 公里。默认值:2。 支持范围:最小值2, 数字需为2的倍数。最大值20 | 非必须 |
maxCount | 最大车辆返回数 | 返回最大个数 默认值:20 | 非必须 | |
needRelay | 是否接受接力单 | int | 1-接受,0-不接受 | 必须 |
示例:
https://tsapi.amap.com/v1/compute? key=<用户key>&orderID=001&radius=4&customerDeviceID=0DF2B2AC-52B9-4CD5-DCEC-200CF8A1664A&vehicleType=1&orderCity=010&orderTime=&startTime=1534222461&startName=首开&start=116.473195,39.993253&endName=望京&end=116.593769,40.080035&maxCount=2001550859743
应答
header
每次响应结果的Response header中包含gsid.当发生异常时,gsid帮助我们快速定位异常原因.
body
名称 | 含义 | 返回条件 | 说明 |
---|---|---|---|
errcode | 返回结果状态码 | 全部 | |
errmsg | 返回结果状态码描述 | 全部 | |
data | 车辆信息 | 接口返回数据 | |
-orderID | -订单ID | 全部 | 订单ID |
-count | -符合条件车辆数量 | 全部 | 符合条件车辆的数量 |
-vehicles | –筛选结果车辆信息 | 全部 | 筛选结果车辆信息list |
–vehicleID | -车辆ID | 全部 | 车辆ID |
–dispatchOrder | -车辆派遣顺序 | 全部 | 车辆派遣顺序 |
–location | -车辆位置 | 全部 | lng,lat坐标位置(经度,纬度) |
-costTime | -车辆到出发地驾车耗时 | 全部 | 车辆到达乘客行驶时间 单位:秒; 接力单场景中,costTime=tripTime+pickupTime+buffer |
-tripTime | -接力单场景中,车上订单的剩余送驾耗时 | 接力单场景 | 只有接力单车辆才会透传,单位:秒 |
-pickupTime | -接力单场景中,车上订单终点到当前订单起点的耗时 | 接力单场景 | 只有接力单车辆才会透传,单位:秒 |
–distance | -车辆到出发地驾车距离 | 全部 | 车辆到乘客的车行距离,单位:米 接力单场景中,distance=tripDistance+pickupDistance |
-tripDistance | -接力单场景中,车辆当前位置到车上订单终点的驾车距离 | 接力单场景 | 只有接力单车辆才会透传,单位:米 |
-pickupDistance | -接力单场景中,车上订单的终点到当前订单起点的驾车距离 | 接力单场景 | 只有接力单车辆才会透传,单位:米 |
–slDistance | -车辆到出发地直线距离 | 全部 | 车辆到乘客的直线距离,单位:米 |
-crossing | -行驶途经路口数量 | 全部 | 规划路线途径路口个数 单位:个 接力单场景中,crossing=tripCrossting+pickupCrossing |
-tripCrossing | -接力单场景中,送驾车上订单途经路口数量 | 接力单场景 | 只有接力单车辆才会透传此信息,单位:个 |
-pickupCrossing | -接力单场景中,车上订单终点到当前订单起点途经路口数量 | 接力单场景 | 只有接力单车辆才会透传此信息,单位:个 |
–updateTime | -车辆位置最近更新时间 | 全部 | 车辆位置最近更新时间,单位:毫秒 |
示例:
{
"data":{
"count":2,
"orderID":"001",
"vehicles":[{
"costTime":1159,
"crossing":6,
"dispatchOrder":1,
"distance":7083,
"location":"116.421957,39.96923",
"slDistance":5123,
"updateTime":1550659743000,
"vehicleID":"XY002"},{
"costTime":1314,
"crossing":6,
"dispatchOrder":2,
"distance":7335,
"location":"116.430975,39.96509",
"slDistance":4774,
"updateTime":1550659744000,
"vehicleID":"XY004"}]},
"errcode":10000,
"errdetail":null,
"errmsg":"OK"}{
"data":{
"count":2,
"orderID":"001",
"vehicles":[{
"costTime":1159,
"crossing":6,
"dispatchOrder":1,
"distance":7083,
"location":"116.421957,39.96923",
"slDistance":5123,
"updateTime":1550659743000,
"vehicleID":"XY002"},{
"costTime":1314,
"crossing":6,
"dispatchOrder":2,
"distance":7335,
"location":"116.430975,39.96509",
"slDistance":4774,
"updateTime":1550659744000,
"vehicleID":"XY004"}]},
"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 | 10017 | RESOURCE_UNAVAILABLE | 所请求的资源不可用 | 所请求的资源不可用 |
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开头的错误码,建议先检查传入参数是否正确,若无法解决,请详细描述错误复现信息,提工单给我们 |