服务文档
接口功能介绍
快速排单计算
https://api.map.baidu.com/ros/v1/scheduler/fastorder?ak={您的AK} //POST请求
请求参数
参数名称 | 参数类型 | 是否必须 | 参数说明 | |
---|---|---|---|---|
orderType | String | 必须 | 排单类型,枚举。FAST_ORDER:极速排单,(支持不高于1000个待配送网点的排单计算,采用直线距离的方式进行预估,计算速度快)ACCURATE_ORDER:精准排单(支持不高于200个待配送网点的排单计算,采用真实的导航距离的方式进行计算,计算结果精准,速度相对于极速排单略慢) | |
depots | List | 必须 | 仓库信息,目前只支持单仓模式 | |
depotId | String | 必须 | 仓库ID,用户自定义参数 | |
location | LocationPoint | 必须 | 仓库坐标 | |
latitude | double | 必须 | 纬度 | |
longitude | double | 必须 | 经度 | |
depotTimeWindow | TimeWindow | 非必须 | 时间窗信息,精准排单场景按照仓库出发时间startTime的预测路况进行排单计算,建议设置实际的出仓时间来提升预估行驶里程及时间的准确度 | |
startTime | int | 必须 | 起始时间,单位为分钟,取值范围大于0 。(例如:6点15分,取值为375) | |
endTime | int | 必须 | 结束时间,单位为分钟,取值范围大于1 | |
vehicleGroups | List | 必须 | 该仓库的车辆组信息 | |
vehicleTypeId | String | 必须 | 车辆类型ID,枚举,目前支持GB01(默认车辆长6000mm,宽2100mm,高3000mm)以及SMALL(小轿车,车辆长4000mm,宽2000mm,高2000mm),两种车辆类型的轴重轴数均为2。该信息用于道路货车限行规避,一个车辆类型会对应一个或多个型号的货车,由用户自行决定车辆型号与车辆类型的映射关系 | |
vehicleModelId | String | 必须 | 车辆型号ID,用户自定义参数 | |
vehicleCount | int | 必须 | 该型号车数量,不小于0,0代表没有限制 | |
maxVisited | int | 非必须 | 车辆允许运送的最大订单数量,不小于0,0代表没有限制 | |
maxRunDistance | int | 非必须 | 一次配送任务中,车辆的最大行驶距离,单位:米,不小于0,0代表没有限制 | |
maxRunTime | int | 非必须 | 一次配送任务中,车辆的最大行驶时间,单位:分钟,不小于0,0代表没有限制 | |
returnToDepot | int | 非必须 | 是否回仓,1为回仓,2为不回仓(不回仓的时候,默认车辆停留在配送的最后一个点),默认回仓 | |
departureLocationKey | String | 必须 | 车辆起始坐标对应key | |
departureLocation | LocationPoint | 非必须 | 车辆起始坐标,不填默认为仓库坐标 | |
latitude | double | 必须 | 纬度 | |
longitude | double | 必须 | 经度 | |
startTime | int | 非必须 | 车辆起始时间,单位为分钟,取值范围大于0 。出发点为仓库时建议与出仓时间保持一致 | |
endTime | int | 非必须 | 车辆结束时间,单位为分钟,取值范围大于1 | |
vehicleModels | List | 必须 | 车辆型号信息 | |
vehicleModelId | String | 必须 | 车辆型号ID | |
capacity | Capacity | 必须 | 车辆承载 | |
weight | double | 非必须 | 装载重量,单位:千克。精度:保留小数点后4位 | |
volume | double | 非必须 | 装载体积,单位:立方米。精度:保留小数点后4位 | |
count | double | 非必须 | 装载数量,精度:保留小数点后4位 | |
perDistanceUnitPrice | double | 非必须 | 每种型号的车辆每公里行驶成本,单位:元/公里 | |
perTimeUnitPrice | double | 非必须 | 每种型号的车辆每分钟行驶成本,单位:元/分钟 | |
fixedCost | double | 非必须 | 每种型号的车辆固定损耗成本,单位:元/天,默认值为0 | |
waitingCost | double | 非必须 | 车辆等待成本,单位:元/分钟,默认值为0 | |
averageVelocity | double | 非必须 | 平均车速,单位:千米/小时,取值0到120之间,该参数不填时极速场景默认使用40km/小时计算行驶时间,精准场景使用导航时间 | |
serviceJobs | List | 必须 | 网点信息列表 | |
serviceJobId | String | 必须 | 网点ID,用户自定义参数 | |
location | LocationPoint | 必须 | 网点坐标 | |
latitude | double | 必须 | 纬度 | |
longitude | double | 必须 | 经度 | |
serviceStayDuration | int | 非必须 | 网点停留时间,单位:分钟,默认值为0 | |
demand | Capacity | 必须 | 网点待配送货物的量 | |
weight | double | 非必须 | 装载重量,单位:千克。精度:保留小数点后4位 | |
volume | double | 非必须 | 装载体积,单位:立方米。精度:保留小数点后4位 | |
count | double | 非必须 | 装载数量,精度:保留小数点后4位 | |
serviceTimeWindows | List | 非必须 | 网点可配送的时间段列表 | |
startTime | int | 必须 | 起始时间,单位为分钟,取值范围大于0 。(例如:6点15分,取值为375) | |
endTime | int | 必须 | 结束时间,单位为分钟,取值范围大于1 | |
priority | int | 非必须 | 订单优先级,取值范围必须为不小于1,不大于10 |
请求示例
{
"orderType" : "FAST_ORDER",
"depots" : [ {
"depotId" : "K00061",
"location" : {
"latitude" : 31.223188,
"longitude" : 121.52481
},
"depotTimeWindow" : {
"startTime" : 1,
"endTime" : 1440
},
"vehicleGroups" : [ {
"vehicleTypeId" : "GB01",
"vehicleModelId" : "model_test_1",
"vehicleCount" : 0,
"returnToDepot" : 1,
"departureLocationKey" : "vid"
} ]
} ],
"vehicleModels" : [ {
"vehicleModelId" : "model_test_1",
"capacity" : {
"weight" : 1000.0,
"volume" : 1000.0,
"count" : 1000.0
},
"perDistanceUnitPrice" : 12.22
} ],
"serviceJobs" : [ {
"serviceJobId" : "K00069",
"location" : {
"latitude" : 31.342084,
"longitude" : 121.573599
},
"demand" : {
"weight" : 2.207111693390443,
"volume" : 3.8840549512697033,
"count" : 4.8551923581517435
}
}, {
"serviceJobId" : "K00182",
"location" : {
"latitude" : 31.220752,
"longitude" : 121.52566
},
"demand" : {
"weight" : 3.0989421987729773,
"volume" : 1.6144996971516927,
"count" : 1.8090134817520878
}
}, {
"serviceJobId" : "K00062",
"location" : {
"latitude" : 31.365328,
"longitude" : 121.539487
},
"demand" : {
"weight" : 4.727135459494827,
"volume" : 4.602548940778766,
"count" : 1.110623183652399
}
}, {
"serviceJobId" : "K00183",
"location" : {
"latitude" : 31.22024,
"longitude" : 121.52778
},
"demand" : {
"weight" : 3.365714294602743,
"volume" : 2.6229139289786114,
"count" : 1.9201073132038213
}
}, {
"serviceJobId" : "K00180",
"location" : {
"latitude" : 31.225175,
"longitude" : 121.558869
},
"demand" : {
"weight" : 2.9600987270688313,
"volume" : 1.2012063026626216,
"count" : 3.432207012035625
}
}, {
"serviceJobId" : "K00060",
"location" : {
"latitude" : 31.347316,
"longitude" : 121.56958
},
"demand" : {
"weight" : 2.9088654518330626,
"volume" : 4.120295290877481,
"count" : 2.671981558589062
}
}, {
"serviceJobId" : "K00181",
"location" : {
"latitude" : 31.23258,
"longitude" : 121.54574
},
"demand" : {
"weight" : 1.6721972680453945,
"volume" : 1.620907864387771,
"count" : 1.1237156498270244
}
}, {
"serviceJobId" : "K00065",
"location" : {
"latitude" : 31.340173,
"longitude" : 121.58671
},
"demand" : {
"weight" : 4.138287269930849,
"volume" : 4.5780982348991985,
"count" : 1.3093525836197402
}
}, {
"serviceJobId" : "K00186",
"location" : {
"latitude" : 31.22246,
"longitude" : 121.52088
},
"demand" : {
"weight" : 2.3432535457625385,
"volume" : 4.626574667998128,
"count" : 3.2797455946996115
}
}, {
"serviceJobId" : "K00066",
"location" : {
"latitude" : 31.342107,
"longitude" : 121.57348
},
"demand" : {
"weight" : 2.7934693773000627,
"volume" : 1.7820529837476937,
"count" : 2.5535666940570065
}
}, {
"serviceJobId" : "K00187",
"location" : {
"latitude" : 31.223072,
"longitude" : 121.51817
},
"demand" : {
"weight" : 3.1923031311835337,
"volume" : 2.440653515414892,
"count" : 1.783598073268502
}
}, {
"serviceJobId" : "K00063",
"location" : {
"latitude" : 31.370528,
"longitude" : 121.50831
},
"demand" : {
"weight" : 4.865582462418697,
"volume" : 1.0655422784309128,
"count" : 3.2458459830072908
}
}, {
"serviceJobId" : "K00184",
"location" : {
"latitude" : 31.220493,
"longitude" : 121.52542
},
"demand" : {
"weight" : 4.436569727813067,
"volume" : 3.7319119438055504,
"count" : 1.5775585686735125
}
}, {
"serviceJobId" : "K00064",
"location" : {
"latitude" : 31.36352,
"longitude" : 121.53651
},
"demand" : {
"weight" : 3.8366471116198957,
"volume" : 2.9529118446204783,
"count" : 1.8411913701240992
}
}, {
"serviceJobId" : "K00185",
"location" : {
"latitude" : 31.21723,
"longitude" : 121.51927
},
"demand" : {
"weight" : 4.925196589478421,
"volume" : 1.7050272176626118,
"count" : 2.9264554273667587
}
} ]
}
返回示例
{
"id" : "8b664a457cdd42ec871e8344368c5d79",
"status": "RUNNING",
"errorCode": "",
"errorMessage": ""
}
快速排单查询
https://api.map.baidu.com/ros/v3/scheduler/fastorder?ak={您的AK}&problemId={problemId} //GET请求
返回参数
参数名称 | 参数类型 | 参数说明 | |
---|---|---|---|
id | String | 快速排单计算任务ID | |
status | String | 任务执行状态:RUNNING、ERROR、FINISHED | |
errorCode | String | 错误码 | |
errorMessage | String | 错误信息 | |
solution | Solution | 快速排单结果方案 | |
totalTravelDistance | double | 该方案车辆总行驶距离,单位:米 | |
totalTravelTime | double | 该方案车辆总行驶时间,单位:分钟 | |
maxCapacityRate | List | 最大装载率,最多分为三个维度(重量、体积、数量),与创建任务输入的车辆和网点维度一致 | |
avgCapacityRate | List | 平均装载率,最多分为三个维度(重量、体积、数量),与创建任务输入的车辆和网点维度一致 | |
routes | List | 车辆分配线路方案 | |
id | String | 路线唯一标识符 | |
vehicleModelId | String | 该路线使用的车辆型号ID | |
travelDistance | double | 该路线车辆行驶里程,单位:米 | |
travelTime | double | 该路线车辆行驶时间,单位:分钟 | |
capacityRate | List | 该路线车辆装载率 | |
routePlans | List | 送货点顺序 | |
serviceJobId | String | 网点ID | |
coordinate | Coordinate | 出发坐标 | |
latitude | double | 纬度 | |
longitude | double | 经度 | |
address | String | 地址 | |
arrivalTime | double | 预计到达网点时间,单位:分钟 | |
departureTime | double | 预计离开网点时间,单位:分钟 | |
routeCoordinates | List | 路径点 | |
latitude | double | 纬度 | |
longitude | double | 经度 | |
address | String | 地址 | |
routeMessage | RouteMessage | 路线信息说明 | |
code | String | 路线信息码 | |
message | String | 路线信息描述 |
服务状态码
返回码 | 定义 | 常见原因 |
---|---|---|
200 | 返回成功 | 服务请求正常召回 |
400 | 请求失败 | 请求参数不合法,请按照返回提示修改参数 |
401 | 未鉴权 | ak不合法或者账号未开通相应权限 |
403 | 禁止 | 未开通白名单,请前往反馈工单联系我们 |
503 | 服务不可用 | 服务异常,请前往反馈工单联系我们 |
500 | 内部服务错误 | 服务异常,请前往反馈工单联系我们 |
修改于 2022-08-05 08:03:18