服务文档
接口功能介绍
排单排线计算
https://api.map.baidu.com/ros/v1/scheduler/problem?ak={您的AK} //POST请求
请求参数
参数名称 | 参数类型 | 是否必须 | 参数说明 | |
---|---|---|---|---|
scenesType | String | 必须 | 算法需要使用的场景类型,场景维度包含网点规模及排单结果路线交叉程度。枚举:LARGE_SCALE_CLUSTER:大规模聚集性场景,SMALL_SCALE_CLUSTER:小规模聚集性场景,LARGE_SCALE_GENERAL:大规模通用场景,SMALL_SCALE_GENERAL:小规模通用场景。大规模场景要求网点数在600点以上,小规模场景网点数600点以下。聚集性为路线不交叉,但是成本不一定最低,通用性为路线可能交叉,但是成本最低 | |
matrixId | String | 必须 | 路网矩阵ID,路网矩阵唯一标识码 | |
lbsType | String | 必须 | 路网矩阵类型,枚举。LEAST_TIME:时间优先,LEAST_DISTANCE:距离最短,NO_HIGHWAY:不走高速。 用户可以根据自己场景填写 | |
commitId | String | 非必须 | 路网矩阵版本ID | |
distanceType | String | 必须 | 距离计算方式,枚举。STRAIGHT:直线距离, TRAVEL:导航距离。直线距离计算场景必须设置车辆的平均行驶速度 | |
depots | List | 必须 | 仓库信息列表,一期支持单仓 | |
depotId | String | 必须 | 仓库ID,用户仓库自定义参数 | |
depotTimeWindow | TimeWindow | 非必须 | 时间窗信息,时间约束条件,车辆最早出仓时间和最晚回仓时间 | |
startTime | int | 非必须 | 起始时间,单位:分钟,取值范围大于0。例如,上午10点30分的取值为630 | |
endTime | int | 非必须 | 结束时间,单位:分钟,取值范围大于1 | |
vehicleGroups | List | 必须 | 该仓库的车辆组信息 | |
vehicleTypeId | String | 必须 | 车辆类型ID,枚举,目前支持GB01(默认车辆长6000mm,宽2100mm,高3000mm)以及SMALL(小轿车,车辆长4000mm,宽2000mm,高2000mm),两种车辆类型的轴重轴数均为2。该信息用于道路货车限行规避,一个车辆类型会对应一个或多个型号的货车,由用户自行决定车辆型号与车辆类型的映射关系 | |
vehicleModelId | String | 必须 | 车辆型号ID,用户自定义参数 | |
vehicleCount | int | 必须 | 该型号车数量,不小于0,0代表没有限制 | |
minVisited | int | 非必须 | 车辆允许运送的最小订单数量,不小于0,0代表没有限制 | |
maxVisited | int | 非必须 | 车辆允许运送的最大订单数量,不小于0,0代表没有限制 | |
maxRunDistance | int | 非必须 | 车辆最大行驶距离,单位:米,不小于0,0代表没有限制 | |
maxRunTime | int | 非必须 | 车辆最大行驶时间,单位:分钟,不小于0,0代表没有限制 | |
vehicleSkills | List | 非必须 | 车辆可运输的货物类型列表(车辆具备某种运输能力,如冷冻功能、运输危化品能力等) | |
returnToDepot | boolean | 非必须 | 是否回仓,默认回仓 | |
vehicleModels | List | 必须 | 车辆型号信息 | |
vehicleModelId | String | 必须 | 车辆型号ID,用户自定义 | |
capacity | Capacity | 必须 | 车辆额定承载 | |
weight | double | 非必须 | 装载重量,单位:千克。精度:保留小数点后四位 | |
volume | double | 非必须 | 装载体积,单位:立方米。精度:保留小数点后四位 | |
count | double | 非必须 | 装载数量,精度:保留小数点后四位。重量、体积、数量三个维度至少填写一个,车和货的维度保持一致 | |
perDistanceUnitPrice | double | 必须 | 车辆每公里行驶成本,取值必须大于0,单位:元/公里 | |
perTimeUnitPrice | double | 非必须 | 车辆每单位时间行驶成本,取值必须大于0,单位:元/分钟 | |
fixedCost | double | 非必须 | 车辆固定损耗成本,单位:元/天,默认值为0 | |
waitingCost | double | 非必须 | 车辆等待成本,单位:元/分钟,默认值为0 | |
averageVelocity | double | 非必须 | 平均车速,取值必须在0到120之间,单位:千米/小时,distanceType为STRAIGHT时,该参数必填 | |
maxVelocity | double | 非必须 | 最大行驶速度,取值必须在0到120之间,且必须大于平均车速,单位:千米/小时 | |
serviceJobs | List | 必须 | 网点信息列表 | |
serviceJobId | String | 必须 | 网点ID,用户自定义参数 | |
serviceStayDuration | double | 非必须 | 网点停留时间,取值必须大于0,单位:分钟,默认值为0 | |
demand | Capacity | 必须 | 网点待配送货物的量 | |
weight | double | 非必须 | 装载重量,单位:千克。精度:保留小数点后四位 | |
volume | double | 非必须 | 装载体积,单位:立方米。精度:保留小数点后四位 | |
count | double | 非必须 | 装载数量,精度:保留小数点后四位。重量、体积、数量三个维度至少填写一个,车和货的维度保持一致 | |
serviceTimeWindows | List | 非必须 | 网点可配送的时间段列表 | |
startTime | int | 非必须 | 起始时间,单位:分钟,取值范围大于0 。例如,上午10点30分的取值为630 | |
endTime | int | 非必须 | 结束时间,单位:分钟,取值范围大于1 | |
skills | List | 非必须 | 需要运输的货物类型列表(车辆需要具备某种运输能力,如冷冻功能、运输危化品能力等) | |
priority | int | 非必须 | 订单优先级,取值范围必须为不小于1,不大于10,数字越大代表优先级越高 |
返回参数
参数类型 | 参数类型 | 参数说明 |
---|---|---|
id | String | 排单排线计算任务ID |
status | String | 任务执行状态:RUNNING、ERROR |
errorCode | String | 错误码 |
errorMessage | String | 错误信息 |
请求示例
POST https://api.map.baidu.com/ros/v1/scheduler/problem?ak={您的AK} HTTP/1.1
{
"scenesType": "SMALL_SCALE_GENERAL",
"matrixId": "1a72478093ba40519c2fff6e8242a082",
"lbsType": "LEAST_TIME",
"distanceType": "TRAVEL",
"depots": [{
"depotId": "340078493e0a4090b2055e7689626001",
"depotTimeWindow": {
"startTime": 0,
"endTime": 1440
},
"vehicleGroups": [{
"vehicleTypeId": "GB01",
"vehicleModelId": "model_test_1",
"vehicleCount": 0,
"returnToDepot": false
}]
}],
"vehicleModels": [{
"vehicleModelId": "model_test_1",
"capacity": {
"weight": 1000.0,
"volume": 1000.0,
"count": 1000.0
},
"perDistanceUnitPrice": 12.22,
"perTimeUnitPrice": 20.0
}],
"serviceJobs": [{
"serviceJobId": "340078493e0a4090b2055e7689626002",
"demand": {
"weight": 3.02,
"volume": 3.07,
"count": 3.0
}
}, {
"serviceJobId": "340078493e0a4090b2055e7689626003",
"demand": {
"weight": 1.04,
"volume": 4.31,
"count": 4.0
}
}, {
"serviceJobId": "340078493e0a4090b2055e7689626004",
"demand": {
"weight": 4.03,
"volume": 1.98,
"count": 4.0
}
}]
}
返回示例
{
"id" : "8b664a457cdd42ec871e8344368c5d79",
"status": "RUNNING",
"errorCode": "",
"errorMessage": ""
}
排单排线查询
https://api.map.baidu.com/ros/v3/scheduler/problem?ak={您的AK}&problemId={problemId} //GET请求
返回参数
参数名称 | 参数类型 | 说明 | |
---|---|---|---|
id | String | 排单排线计算任务ID | |
status | String | 任务执行状态:RUNNING、ERROR、FINISHED | |
errorCode | String | 错误码 | |
errorMessage | String | 错误信息 | |
solution | Solution | 排单排线结果方案 | |
totalTravelDistance | double | 该方案车辆总行驶距离,单位:米 | |
totalTravelTime | double | 该方案车辆总行驶时间,单位:分钟 | |
routes | List | 车辆分配线路方案 | |
id | String | 路线唯一标识符 | |
vehicleModelId | String | 该路线使用的车辆型号ID | |
travelDistance | double | 该路线车辆行驶里程,单位:米 | |
travelTime | double | 该路线车辆行驶时间,单位:分钟 | |
startLocation | StartLocation | 车辆起始点信息 | |
locationId | String | 仓点ID | |
coordinate | Coordinate | 起始点坐标 | |
latitude | double | 坐标纬度 | |
longitude | double | 坐标经度 | |
address | String | 地址 | |
departureTime | double | 出发时间,单位:分钟 | |
roadPlans | 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 | 路线信息描述 |
线内优化排单计算
https://api.map.baidu.com/ros/v1/scheduler/problem/optimization?ak={您的AK} //POST请求
请求参数
参数名称 | 参数类型 | 是否必须 | 参数说明 | |
---|---|---|---|---|
matrixId | String | 必须 | 路网矩阵ID,路网矩阵的唯一标识 | |
lbsType | String | 必须 | 路网矩阵类型,枚举。LEAST_TIME:时间优先,LEAST_DISTANCE:距离最短,NO_HIGHWAY:不走高速。 用户可以根据自己场景填写 | |
commitId | String | 非必须 | 路网矩阵版本ID | |
distanceType | String | 必须 | 距离计算方式,枚举。STRAIGHT:直线距离, TRAVEL:导航距离。直线距离计算场景必须设置车辆的平均行驶速度 | |
depotId | String | 必须 | 仓库ID,用户自定义参数 | |
depotTimeWindow | TimeWindow | 非必须 | 时间窗信息,时间约束条件,仓库运营时间,车辆最早出仓时间和最晚回仓时间 | |
startTime | int | 非必须 | 起始时间,单位为分钟,取值范围大于0 。例如,上午10点30分的取值为630 | |
endTime | int | 非必须 | 结束时间,单位为分钟,取值范围大于1 | |
vehicleTimeWindow | TimeWindow | 非必须 | 时间窗信息,时间约束条件,车辆运营时间 | |
startTime | int | 非必须 | 起始时间,单位为分钟,取值范围大于0 。例如,上午10点30分的取值为630 | |
endTime | int | 非必须 | 结束时间,单位为分钟,取值范围大于1 | |
vehicleTypeId | String | 必须 | 车辆类型ID,枚举,目前支持GB01(默认车辆长6000mm,宽2100mm,高3000mm)以及SMALL(小轿车,车辆长4000mm,宽2000mm,高2000mm),两种车辆类型的轴重轴数均为2。该信息用于道路货车限行规避,一个车辆类型会对应一个或多个型号的货车,由用户自行决定车辆型号与车辆类型的映射关系 | |
vehicleModelId | String | 必须 | 车辆型号ID,用户自定义参数 | |
returnToDepot | boolean | 非必须 | 是否回仓,默认回仓 | |
averageVelocity | double | 非必须 | 平均车速,单位:千米/小时。distanceType为STRAIGHT时,该参数必填且值不小于0 | |
maxVelocity | double | 非必须 | 最大行驶速度,单位:千米/小时 | |
serviceJobs | List | 必须 | 网点信息列表 | |
serviceJobId | String | 必须 | 网点ID,用户自定义参数 | |
serviceStayDuration | double | 非必须 | 网点停留时间,单位:分钟,默认值为0 | |
serviceTimeWindows | List | 非必须 | 网点时间窗列表 | |
startTime | int | 非必须 | 起始时间,单位为分钟,取值范围大于0 。例如,上午10点30分的取值为630 | |
endTime | int | 非必须 | 结束时间,单位为分钟,取值范围大于1 |
返回参数
参数名称 | 参数类型 | 参数说明 |
---|---|---|
id | String | 排单排线计算任务ID |
status | String | 任务执行状态:RUNNING、ERROR |
errorCode | String | 错误码 |
errorMessage | String | 错误信息 |
线内优化结果查询
https://api.map.baidu.com/ros/v3/scheduler/problem/optimization?ak={您的AK}&optimizationProblemId={optimizationProblemId} //GET请求
返回参数
参数名称 | 参数类型 | 说明 | |
---|---|---|---|
id | String | 排单排线计算任务ID | |
status | String | 任务执行状态:RUNNING、ERROR、FINISHED | |
errorCode | String | 错误码 | |
errorMessage | String | 错误信息 | |
route | ExternalRouteV2 | 车辆线路方案 | |
id | String | 路线唯一标识符 | |
vehicleModelId | String | 该路线使用的车辆型号ID | |
travelDistance | double | 该路线车辆行驶里程,单位:米 | |
travelTime | double | 该路线车辆行驶时间,单位:分钟 | |
loadRate | double | 负载率 | |
startLocation | StartLocation | 车辆起始点信息 | |
locationId | String | 仓点ID | |
coordinate | Coordinate | 起始点坐标 | |
latitude | double | 坐标纬度 | |
longitude | double | 坐标经度 | |
address | String | 地址 | |
departureTime | double | 出发时间,单位:分钟 | |
roadPlans | 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 | 路线信息描述 |
多点有序排单计算
https://api.map.baidu.com/ros/v1/scheduler/problem/ordered?ak={您的AK} //POST请求
请求参数
参数名称 | 参数类型 | 是否必须 | 参数说明 | |
---|---|---|---|---|
matrixId | String | 必须 | 路网矩阵ID,路网矩阵唯一标识码 | |
lbsType | String | 必须 | 路网矩阵类型,枚举。LEAST_TIME:时间优先,LEAST_DISTANCE:距离最短,NO_HIGHWAY:不走高速。 用户可以根据自己场景填写 | |
commitId | String | 非必须 | 路网矩阵版本ID | |
depotId | String | 必须 | 仓库ID,用户仓库自定义参数 | |
depotDepartureTime | int | 非必须 | 出仓时间,单位:分钟,取值范围[0,1439],默认为0。例如,上午10点30分的取值为630 | |
vehicleTypeId | String | 必须 | 车辆类型ID,枚举,目前支持GB01(默认车辆长6000mm,宽2100mm,高3000mm)以及SMALL(小轿车,车辆长4000mm,宽2000mm,高2000mm),两种车辆类型的轴重轴数均为2。该信息用于道路货车限行规避,一个车辆类型会对应一个或多个型号的货车,由用户自行决定车辆型号与车辆类型的映射关系 | |
vehicleModelId | String | 必须 | 车辆型号ID,用户自定义参数 | |
returnToDepot | boolean | 非必须 | 是否回仓,默认回仓 | |
averageVelocity | double | 非必须 | 车辆行驶的平均速度,单位:千米/小时 | |
maxVelocity | double | 非必须 | 最大行驶速度,单位:千米/小时 | |
serviceJobs | List | 必须 | 网点信息列表 | |
serviceJobId | String | 必须 | 网点ID,用户自定义参数 | |
serviceStayDuration | double | 非必须 | 网点停留时间,单位:分钟,默认 |
返回参数
参数名称 | 参数类型 | 参数说明 |
---|---|---|
id | String | 排单排线计算任务ID |
status | String | 任务执行状态:RUNNING、ERROR |
errorCode | String | 错误码 |
errorMessage | String | 错误信息 |
多点有序排单查询
https://api.map.baidu.com/ros/v3/scheduler/problem/ordered?ak={您的AK}&orderedProblemId={orderedProblemId} //GET请求
返回参数
参数名称 | 参数类型 | 说明 | |
---|---|---|---|
id | String | 排单排线计算任务ID | |
status | String | 任务执行状态:RUNNING、ERROR、FINISHED | |
errorCode | String | 错误码 | |
errorMessage | String | 错误信息 | |
route | ExternalRouteV2 | 车辆线路方案 | |
id | String | 路线唯一标识符 | |
vehicleModelId | String | 该路线使用的车辆型号ID | |
travelDistance | double | 该路线车辆行驶里程,单位:米 | |
travelTime | double | 该路线车辆行驶时间,单位:分钟 | |
loadRate | double | 负载率 | |
startLocation | StartLocation | 车辆起始点信息 | |
locationId | String | 仓点ID | |
coordinate | Coordinate | 起始点坐标 | |
latitude | double | 坐标纬度 | |
longitude | double | 坐标经度 | |
address | String | 地址 | |
departureTime | double | 出发时间,单位:分钟 | |
roadPlans | 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:00:55