Package maps.fleetengine.delivery.v1

索引

DeliveryService

最后一公里配送服务。

BatchCreateTasks

rpc BatchCreateTasks(BatchCreateTasksRequest) returns (BatchCreateTasksResponse)

创建并返回一批新的 Task 对象。

CreateDeliveryVehicle

rpc CreateDeliveryVehicle(CreateDeliveryVehicleRequest) returns (DeliveryVehicle)

创建并返回新的 DeliveryVehicle

CreateTask

rpc CreateTask(CreateTaskRequest) returns (Task)

创建并返回新的 Task 对象。

GetDeliveryVehicle

rpc GetDeliveryVehicle(GetDeliveryVehicleRequest) returns (DeliveryVehicle)

返回指定的 DeliveryVehicle 实例。

GetTask

rpc GetTask(GetTaskRequest) returns (Task)

获取有关 Task 的信息。

GetTaskTrackingInfo

rpc GetTaskTrackingInfo(GetTaskTrackingInfoRequest) returns (TaskTrackingInfo)

返回指定的 TaskTrackingInfo 实例。

ListDeliveryVehicles

rpc ListDeliveryVehicles(ListDeliveryVehiclesRequest) returns (ListDeliveryVehiclesResponse)

获取符合指定过滤条件的所有 DeliveryVehicle

ListTasks

rpc ListTasks(ListTasksRequest) returns (ListTasksResponse)

获取符合指定过滤条件的所有 Task

UpdateDeliveryVehicle

rpc UpdateDeliveryVehicle(UpdateDeliveryVehicleRequest) returns (DeliveryVehicle)

将更新后的 DeliveryVehicle 数据写入 Fleet Engine,并将 Tasks 分配给 DeliveryVehicle。您无法更新 DeliveryVehicle 的名称。您可以更新 remaining_vehicle_journey_segments,但它必须包含要在 DeliveryVehicle 上保留的所有 VehicleJourneySegment系统会从 remaining_vehicle_journey_segments 中检索 task_id,并将其对应的 Tasks 分配给 DeliveryVehicle(如果尚未分配)。

UpdateTask

rpc UpdateTask(UpdateTaskRequest) returns (Task)

更新 Task 数据。

BatchCreateTasksRequest

BatchCreateTask 请求消息。

字段
header

DeliveryRequestHeader

可选。标准 Delivery API 请求标头。注意:如果您设置了此字段,则 CreateTaskRequest 邮件中的标头字段必须为空,或者必须与此字段匹配。

parent

string

必需。所有任务共享的父级资源。此值必须采用 providers/{provider} 格式。provider 必须是 Google Cloud 项目 ID。例如 sample-cloud-projectCreateTaskRequest消息中的父级字段必须为空,或者必须与此字段匹配。

requests[]

CreateTaskRequest

必需。用于指定要创建的资源的请求消息。注意:您最多可批量创建 500 个任务。

BatchCreateTasksResponse

BatchCreateTask 响应消息。

字段
tasks[]

Task

已创建的任务。

CreateDeliveryVehicleRequest

CreateDeliveryVehicle 请求消息。

字段
header

DeliveryRequestHeader

可选。标准 Delivery API 请求标头。

parent

string

必需。必须采用 providers/{provider} 格式。提供方必须是 Google Cloud 项目 ID。例如 sample-cloud-project

delivery_vehicle_id

string

必需。送货车辆 ID 必须是唯一的,并受以下限制的约束:

  • 必须是有效的 Unicode 字符串。
  • 长度上限为 64 个字符。
  • 根据 Unicode 标准化形式 C 进行标准化。
  • 不得包含以下任何 ASCII 字符:“/”“:”“?”“,”或“#”。
delivery_vehicle

DeliveryVehicle

必需。要创建的 DeliveryVehicle 实体。创建新的送货车辆时,您可以设置以下可选字段:

  • 类型
  • last_location
  • 属性

注意:系统会忽略 DeliveryVehicle 的 name 字段。不得设置所有其他 DeliveryVehicle 字段;否则,系统将返回错误。

CreateTaskRequest

CreateTask 请求消息。

字段
header

DeliveryRequestHeader

可选。标准 Delivery API 请求标头。

parent

string

必需。必须采用 providers/{provider} 格式。provider 必须是 Google Cloud 项目 ID。例如 sample-cloud-project

task_id

string

必需。任务 ID 必须是唯一的,但不得是配送跟踪 ID。如需存储配送跟踪 ID,请使用 tracking_id 字段。请注意,多个任务可以具有相同的 tracking_id。任务 ID 存在以下限制:

  • 必须是有效的 Unicode 字符串。
  • 长度上限为 64 个字符。
  • 根据 Unicode 标准化形式 C 进行标准化。
  • 不得包含以下任何 ASCII 字符:“/”“:”“?”“,”或“#”。
task

Task

必需。要创建的 Task 实体。创建任务时,以下字段是必填字段:

  • type
  • state(必须设置为 OPEN
  • tracking_id(不得为 UNAVAILABLESCHEDULED_STOP 任务设置此属性,但必须为所有其他任务类型设置此属性)
  • planned_locationUNAVAILABLE 任务的可选参数)
  • task_duration

注意:系统会忽略任务的 name 字段。不得设置所有其他 Task 字段;否则,系统将返回错误。

DeliveryRequestHeader

RequestHeader 包含所有 Delivery RPC 请求通用的字段。

字段
language_code

string

BCP-47 语言代码,例如 en-US 或 sr-Latn。如需了解详情,请参阅 http://www.unicode.org/reports/tr35/#Unicode_locale_identifier。如果未指定,回答可以采用任何语言,如果存在这种名称,则会优先使用英语。字段值示例:en-US

region_code

string

必需。发起请求的区域的 CLDR 地区代码。字段值示例:US

sdk_version

string

调用方 SDK 的版本(如果适用)。版本格式为“major.minor.patch”,例如:1.1.2

os_version

string

运行调用 SDK 的操作系统版本。字段值示例:4.4.112.1

device_model

string

运行调用 SDK 的设备型号。字段值示例:iPhone12,1SM-G920F

sdk_type

SdkType

发送请求的 SDK 的类型。

maps_sdk_version

string

调用 SDK 所依赖的 MapSDK 版本(如果适用)。版本格式为“major.minor.patch”,例如:5.2.1

nav_sdk_version

string

调用 SDK 所依赖的 NavSDK 的版本(如果适用)。版本格式为“major.minor.patch”,例如:2.1.0

platform

Platform

调用方 SDK 的平台。

manufacturer

string

来自调用 SDK 的 Android 设备的制造商,仅适用于 Android SDK。字段值示例:Samsung

android_api_level

int32

调用方 SDK 的 Android API 级别,仅适用于 Android SDK。字段值示例:23

trace_id

string

可选 ID,可出于记录目的而提供,以便标识请求。

平台

调用方 SDK 的平台。

枚举
PLATFORM_UNSPECIFIED 默认值。如果平台省略,则使用此值。
ANDROID 请求来自 Android。
IOS 请求来自 iOS。
WEB 请求来自网络。

SdkType

可能的 SDK 类型。

枚举
SDK_TYPE_UNSPECIFIED 默认值。如果省略 sdk_type,则系统会使用此值。
CONSUMER 调用方 SDK 为使用方。
DRIVER 调用方 SDK 为驱动程序。
JAVASCRIPT 调用方 SDK 是 JavaScript。

DeliveryVehicle

DeliveryVehicle 消息。送货车辆负责将货物从仓库运送到送货地点,再从自提地点运送到仓库。在某些情况下,送货车辆也会将货物直接从自提地点运输到送货地点。

注意:gRPC 和 REST API 使用不同的字段命名约定。例如,gRPC API 中的 DeliveryVehicle.current_route_segment 字段和 REST API 中的 DeliveryVehicle.currentRouteSegment 字段引用同一字段。

字段
name

string

此送货车辆的唯一名称。格式为 providers/{provider}/deliveryVehicles/{vehicle}

last_location

DeliveryVehicleLocation

配送车辆最近一次报告的位置。

navigation_status

DeliveryVehicleNavigationStatus

送货车辆的导航状态。

current_route_segment

bytes

编码多段线,用于指定导航建议前往下一个航点的路线。您的驾驶员应用会在到达经停点或经过以及导航更改路线时更新此信息。对于分配给车辆的所有活跃任务,这些 LatLng 会在 Task.journey_sharing_info.remaining_vehicle_journey_segments[0].path (gRPC) 或 Task.journeySharingInfo.remainingVehicleJourneySegments[0].path (REST) 中返回。

在以下几种情况下,此字段可能不会用于填充 Task.journey_sharing_info.remaining_vehicle_journey_segments[0].path (gRPC) 或 Task.journeySharingInfo.remainingVehicleJourneySegments[0].path (REST):

  • current_route_segment 的端点与 DeliveryVehicle.remaining_vehicle_journey_segments[0].stop (gRPC) 或 DeliveryVehicle.remainingVehicleJourneySegments[0].stop (REST) 不匹配。

  • 驱动程序应用最近未更新其位置,因此此字段的最后更新值可能已过时。

  • 驾驶员应用最近更新了其位置信息,但 current_route_segment 已过时,并指向之前的车辆停靠站。

在这些情况下,Fleet Engine 会使用从最近经过的 VehicleStop 到即将到来的 VehicleStop 的路线填充此字段,以确保此字段的使用者获取有关交付车辆的当前路径的最佳可用信息。

current_route_segment_end_point

LatLng

current_route_segment 的结束位置。驱动程序应用目前不会填充此字段,但您可以在 UpdateDeliveryVehicle 调用中提供它。此时间要么是到即将到来的车辆停靠站的 LatLng,要么是 current_route_segment 中的最后一个 LatLng。然后,Fleet Engine 会尽力插值到实际的 VehicleStop

如果 current_route_segment 字段为空,则系统会在 UpdateDeliveryVehicle 调用中忽略此字段。

remaining_distance_meters

Int32Value

current_route_segment的剩余行驶距离。Driver 应用通常会提供此字段,但在某些情况下,Fleet Engine 会覆盖应用发送的值。如需了解详情,请参阅 DeliveryVehicle.current_route_segment。对于分配给交付车辆的所有有效 Task,此字段在 Task.remaining_vehicle_journey_segments[0].driving_distance_meters (gRPC) 或 Task.remainingVehicleJourneySegments[0].drivingDistanceMeters (REST) 中返回。

如果 current_route_segment 字段为空,Fleet Engine 会忽略 UpdateDeliveryVehicleRequest 中的此字段。

remaining_duration

Duration

current_route_segment的剩余行驶时间。Driver 应用通常会提供此字段,但在某些情况下,Fleet Engine 会覆盖应用发送的值。如需了解详情,请参阅 DeliveryVehicle.current_route_segment。对于分配给交付车辆的所有活动任务,此字段在 Task.remaining_vehicle_journey_segments[0].driving_duration (gRPC) 或 Task.remainingVehicleJourneySegments[0].drivingDuration (REST) 中返回。

如果 current_route_segment 字段为空,Fleet Engine 会忽略 UpdateDeliveryVehicleRequest 中的此字段。

remaining_vehicle_journey_segments[]

VehicleJourneySegment

分配给此交付车辆的行程细分,以车辆最近报告的位置为起点。ListDeliveryVehicles 的响应中不会填充此字段。

attributes[]

DeliveryVehicleAttribute

自定义送货车辆属性列表。一辆送货车辆最多可以有 100 个属性,每个属性都必须有一个唯一的键。

type

DeliveryVehicleType

此送货车辆的类型。如果未设置,则默认为 AUTO

DeliveryVehicleType

送货车辆的类型。

枚举
DELIVERY_VEHICLE_TYPE_UNSPECIFIED 未使用该值。
AUTO 一辆汽车。
TWO_WHEELER 摩托车、轻便摩托车或其他双轮机动车
BICYCLE 人类的交通。
PEDESTRIAN 沿人行道行驶的交通工具,通常是行走或跑步。

DeliveryVehicleAttribute

将车辆属性描述为键值对。“key:value”字符串长度不能超过 256 个字符。

字段
key

string

属性的键。

value

string

属性的值。

联合字段 delivery_vehicle_attribute_value。该属性的值可以是字符串、bool 或双精度类型。delivery_vehicle_attribute_value 只能是下列其中一项:
string_value

string

字符串类型的属性值。

注意:这与最终会被弃用的 value 字段相同。对于创建或更新方法,您可以使用任一字段,但强烈建议使用 string_value。如果 string_valuevalue 都已设置,它们必须完全相同,否则系统会抛出错误。这两个字段都会在响应中填充。

bool_value

bool

布尔值类型的属性值。

number_value

double

双精度型属性值。

DeliveryVehicleLocation

车辆在某个时间点的位置、速度和方向。

字段
location

LatLng

车辆的位置。发送到 Fleet Engine 后,车辆的位置就是 GPS 位置。当您在响应中收到它时,车辆的位置可以是 GPS 位置、补充位置或其他估计位置。来源在 location_sensor 中指定。

horizontal_accuracy
(deprecated)

DoubleValue

已弃用:请改用 latlng_accuracy

latlng_accuracy

DoubleValue

半径为 location 的精度(以米为单位)。

heading

Int32Value

车辆移动的方向(以度为单位)。0 代表北方。有效范围为 [0,360)。

bearing_accuracy
(deprecated)

DoubleValue

已弃用:请改用 heading_accuracy

heading_accuracy

DoubleValue

精确度为 heading(以度为单位)。

altitude

DoubleValue

高于 WGS84 的高度(以米为单位)。

vertical_accuracy
(deprecated)

DoubleValue

已弃用:请改用 altitude_accuracy

altitude_accuracy

DoubleValue

精确度为 altitude(以米为单位)。

speed_kmph
(deprecated)

Int32Value

车辆的速度(以公里/小时为单位)。已弃用:请改用 speed

speed

DoubleValue

车辆的速度(米/秒)

speed_accuracy

DoubleValue

精确度为 speed(以米/秒为单位)。

update_time

Timestamp

传感器根据传感器的时钟报告 location 的时间。

server_time

Timestamp

仅限输出。服务器收到位置信息的时间。

location_sensor

DeliveryVehicleLocationSensor

位置数据的提供器(例如 GPS)。

is_road_snapped

BoolValue

location 是否与道路吸附。

is_gps_sensor_enabled

BoolValue

仅限输入。指示移动设备上是否已启用 GPS 传感器。

time_since_update

Int32Value

仅限输入。自此位置信息首次发送至服务器以来经过的时间(以秒为单位)。对于首次更新,此值为零。如果时间未知(例如,应用重启时),则此值会重置为零。

num_stale_updates
(deprecated)

Int32Value

仅限输入。已弃用:现在会使用其他信号来确定营业地点是否已过时。

raw_location

LatLng

原始车辆位置(未由道路拦截器处理)。

raw_location_time

Timestamp

与原始位置关联的时间戳。

raw_location_sensor

DeliveryVehicleLocationSensor

原始位置的来源。默认为 GPS

raw_location_accuracy

DoubleValue

半径raw_location的精确度(以米为单位)。

supplemental_location

LatLng

集成应用提供的补充位置信息。

supplemental_location_time

Timestamp

与补充位置关联的时间戳。

supplemental_location_sensor

DeliveryVehicleLocationSensor

补充位置的来源。默认为 CUSTOMER_SUPPLIED_LOCATION

supplemental_location_accuracy

DoubleValue

半径supplemental_location的精确度(以米为单位)。

road_snapped
(deprecated)

bool

已弃用:请改用 is_road_snapped

DeliveryVehicleLocationSensor

用于确定位置的传感器或方法。

枚举
UNKNOWN_SENSOR 传感器不明或未知。
GPS GPS 或辅助 GPS。
NETWORK 辅助 GPS、手机基站 ID 或 WiFi 接入点。
PASSIVE 基站 ID 或 WiFi 接入点。
ROAD_SNAPPED_LOCATION_PROVIDER 由移动设备确定为最可能道路位置的位置。
CUSTOMER_SUPPLIED_LOCATION 由独立来源提供的由客户提供的位置。通常,此值用于通过非运行驱动程序 SDK 的移动设备提供的位置。如果其他枚举值描述原始来源,请使用该值。标有 CUSTOMER_SUPPLIED_LOCATION 的位置通常通过 DeliveryVehicle 的 last_location.supplemental_location_sensor 提供。
FLEET_ENGINE_LOCATION Fleet Engine 根据可用的信号计算出的位置。仅限输出。如果请求中包含此值,则该值将被拒绝。
FUSED_LOCATION_PROVIDER Android 的一体化位置信息提供程序。
CORE_LOCATION Apple 操作系统上的位置信息提供程序。

DeliveryVehicleNavigationStatus

车辆的导航状态。

枚举
UNKNOWN_NAVIGATION_STATUS 未指定的导航状态。
NO_GUIDANCE Driver 应用的导航处于 FREE_NAV 模式。
ENROUTE_TO_DESTINATION 可以使用精细导航功能,司机应用导航功能已进入GUIDED_NAV模式。
OFF_ROUTE 车辆偏离了建议的路线。
ARRIVED_AT_DESTINATION 车辆离目的地大约 50 米。

GetDeliveryVehicleRequest

GetDeliveryVehicle 请求消息。

字段
header

DeliveryRequestHeader

可选。标准 Delivery API 请求标头。

name

string

必需。必须采用 providers/{provider}/deliveryVehicles/{delivery_vehicle} 格式。provider 必须是 Google Cloud 项目 ID。例如 sample-cloud-project

GetTaskRequest

GetTask 请求消息。

字段
header

DeliveryRequestHeader

可选。标准 Delivery API 请求标头。

name

string

必需。必须采用 providers/{provider}/tasks/{task} 格式。provider 必须是 Google Cloud 项目 ID。例如 sample-cloud-project

GetTaskTrackingInfoRequest

GetTaskTrackingInfoRequest 请求消息。

字段
header

DeliveryRequestHeader

可选。标准 Delivery API 请求标头。

name

string

必需。必须采用 providers/{provider}/taskTrackingInfo/{tracking_id} 格式。provider 必须是 Google Cloud 项目 ID,tracking_id 必须是与任务关联的跟踪 ID。示例名称可以是 providers/sample-cloud-project/taskTrackingInfo/sample-tracking-id

ListDeliveryVehiclesRequest

ListDeliveryVehicles 请求消息。

字段
header

DeliveryRequestHeader

可选。标准 Delivery API 请求标头。

parent

string

必需。必须采用 providers/{provider} 格式。provider 必须是 Google Cloud 项目 ID。例如 sample-cloud-project

page_size

int32

可选。要退回的车辆数量上限。服务返回的数量可能会少于此数量。如果您不指定此数字,那么服务器会决定要返回的结果数。

page_token

string

可选。从之前的 ListDeliveryVehicles 调用接收的页面令牌。您必须提供该参数才能检索后续页面。

进行分页时,提供给 ListDeliveryVehicles 的所有其他参数必须与提供页面令牌的调用匹配。

filter

string

可选。列出送货车辆时要应用的过滤查询。如需查看过滤器语法的示例,请参阅 http://aip.dev/160。如果您未指定值,或者为过滤条件指定了空字符串,则系统会返回所有送货车辆。

请注意,ListDeliveryVehicles 仅支持针对车辆属性(例如 attributes.<key> = <value>attributes.<key1> = <value1> AND attributes.<key2> = <value2>)的查询。此外,所有属性均存储为字符串,因此唯一支持的属性比较是字符串比较。若要与数字或布尔值进行比较,必须明确用引号将这些值括起来,才能被视为字符串(例如 attributes.<key> = "10"attributes.<key> = "true")。

一个过滤器查询中允许的限制数量上限为 50。限制是 attribute.<KEY> <COMPARATOR> <VALUE> 形式的查询的一部分,例如 attributes.foo = bar 是 1 个限制。

viewport

Viewport

可选。此过滤器可将返回的车辆限制为最近一次已知位置位于视口定义的矩形区域内的车辆。

ListDeliveryVehiclesResponse

ListDeliveryVehicles 响应消息。

字段
delivery_vehicles[]

DeliveryVehicle

符合所请求过滤条件的一组交付车辆。如果未指定过滤条件,请求会返回所有送货车辆。成功的响应也可以为空。空响应表示未找到符合请求的过滤条件的送货车辆。

next_page_token

string

您可以在 ListDeliveryVehiclesRequest 中传递此令牌以继续列出结果。返回所有结果后,此字段不会出现在响应中,或者将为空字符串。

total_size

int64

所有页面中符合请求条件的配送车辆总数。

ListTasksRequest

ListTasks 请求消息。

字段
header

DeliveryRequestHeader

可选。标准 Delivery API 请求标头。

parent

string

必需。必须采用 providers/{provider} 格式。provider 必须是 Google Cloud 项目 ID。例如 sample-cloud-project

page_size

int32

可选。要返回的最大任务数。服务返回的值可能小于此值。如果您未指定此值,则服务器会确定要返回的结果数。

page_token

string

可选。从上一次 ListTasks 调用收到的页面令牌。您可以提供此令牌以检索后续页面。

进行分页时,提供给 ListTasks 的所有其他参数必须与提供页面令牌的调用匹配。

filter

string

可选。列出任务时要应用的过滤条件查询。如需查看过滤器语法的示例,请参阅 http://aip.dev/160。如果未指定值,或过滤空字符串,则会返回所有任务。如需了解可过滤的任务属性,请参阅列出任务

ListTasksResponse

ListTasks 响应,包含符合 ListTasksRequest 中的过滤条件的一组任务。

字段
tasks[]

Task

满足所请求过滤条件的一组任务。如果未指定过滤条件,请求会返回所有任务。成功的响应也可以为空。空响应表示未找到符合请求的过滤条件的任务。

next_page_token

string

ListTasksRequest 中传递此令牌以继续列出结果。如果返回所有结果,则此字段可能为空字符串,或者它不会出现在响应中。

total_size

int64

所有页面中符合请求条件的任务总数。

LocationInfo

具有任何其他标识符的营业地点。

字段
point

LatLng

营业地点的坐标。

任务

Delivery API 中的一项任务表示要跟踪的单个操作。一般来说,配送相关任务和中断任务之间有区别。一个运单可能与多个任务相关联。例如,可以分别针对上车点和下车点或上车点分别设置一项任务。此外,对于同一商品,可以使用不同的车辆处理不同的任务。例如,一辆车可以负责取货,将货物推动到枢纽,而另一辆车则将同一批货物从中心到下车点。

注意:gRPC 和 REST API 使用不同的字段命名约定。例如,gRPC API 中的 Task.journey_sharing_info 字段和 REST API 中的 Task.journeySharingInfo 字段引用同一字段。

字段
name

string

必须采用 providers/{provider}/tasks/{task} 格式。

type

Type

必需。不可变。定义 Task 的类型。例如,暂停或发货。

state

State

必需。任务的当前执行状态。

task_outcome

TaskOutcome

Task 的结果。

task_outcome_time

Timestamp

指明提供程序设置 Task 结果的时间的时间戳。

task_outcome_location

LocationInfo

设置 Task 的结果的位置。此值会作为 UpdateTask 的一部分更新。如果提供商未明确更新此值,则默认情况下,Fleet Engine 会使用最近一次的已知车辆位置(原始位置)填充此值。

task_outcome_location_source

TaskOutcomeLocationSource

指示 task_outcome_location 的值的来源。

tracking_id

string

不可变。此字段便于存储 ID,因此可以避免使用复杂的映射。您不能为 UNAVAILABLESCHEDULED_STOP 类型的任务设置 tracking_id。这些 ID 存在以下限制:

  • 必须是有效的 Unicode 字符串。
  • 长度上限为 64 个字符。
  • 根据 Unicode 标准化形式 C 进行标准化。
  • 不得包含以下任何 ASCII 字符:“/”“:”“?”“,”或“#”。
delivery_vehicle_id

string

仅限输出。执行此 Task 的车辆的 ID。送货车辆 ID 存在以下限制:

  • 必须是有效的 Unicode 字符串。
  • 长度上限为 64 个字符。
  • 根据 Unicode 标准化形式 C 进行标准化。
  • 不得包含以下任何 ASCII 字符:“/”“:”“?”“,”或“#”。
planned_location

LocationInfo

不可变。将完成 Task 的位置。对于 UNAVAILABLE 任务为可选参数,但对于所有其他任务为必需参数。

task_duration

Duration

必需。不可变。在此位置执行任务所需的时间。

target_time_window

TimeWindow

应完成任务的时间范围。

journey_sharing_info

JourneySharingInfo

仅限输出。历程共享专用字段。当状态为 CLOSED 时,不会填充。

task_tracking_view_config

TaskTrackingViewConfig

任务跟踪配置,用于指定在什么情况下最终用户可以看到哪些数据元素。

attributes[]

TaskAttribute

自定义任务属性列表。每个属性必须具有唯一的键。

JourneySharingInfo

历程共享特定字段。

字段
remaining_vehicle_journey_segments[]

VehicleJourneySegment

所分配的车辆在完成此 Task 前将进行的停靠的跟踪信息。请注意,此列表可以包含其他任务的站点。

第一段 Task.journey_sharing_info.remaining_vehicle_journey_segments[0] (gRPC) 或 Task.journeySharingInfo.remainingVehicleJourneySegments[0] (REST) 包含从驾驶员最近一次的已知位置到即将到来的 VehicleStop 的路线信息。当前路线信息通常来自驾驶员应用,DeliveryVehicle.current_route_segment 文档中注明的某些情况除外。Task.journey_sharing_info.remaining_vehicle_journey_segments (gRPC) 或 Task.journeySharingInfo.remainingVehicleJourneySegments (REST) 中的其他细分由 Fleet Engine 填充。它们提供剩余 VehicleStops 之间的路线信息。

last_location

DeliveryVehicleLocation

表示所分配车辆最后报告的位置。

last_location_snappable

bool

指示能否将车辆的 lastLocation 紧贴到 current_route_segment。如果 last_locationcurrent_route_segment 不存在,则此值为 False。此值由 Fleet Engine 计算。来自客户端的更新会被忽略。

任务的状态。这表示任务的进度。

枚举
STATE_UNSPECIFIED 默认。用于未指定或无法识别的任务状态。
OPEN 任务尚未分配给交付车辆,或交付车辆尚未越过 Task 分配的车辆停靠站。
CLOSED 当车辆通过该任务的停车位置时。

TaskOutcome

尝试执行 Task 的结果。当 TaskState 关闭时,TaskOutcome 会指示其是否已成功完成。

枚举
TASK_OUTCOME_UNSPECIFIED 尚未设置其值的任务结果。
SUCCEEDED 任务已成功完成。
FAILED 任务无法完成,或已被取消。

TaskOutcomeLocationSource

填充 task_outcome_location 的来源的身份。

枚举
TASK_OUTCOME_LOCATION_SOURCE_UNSPECIFIED 设置之前的任务结果。
PROVIDER 提供方指定了 task_outcome_location
LAST_VEHICLE_LOCATION 提供程序未指定 task_outcome_location,因此 Fleet Engine 使用了最近一次的已知车辆位置。

类型

Task 的类型。

枚举
TYPE_UNSPECIFIED 默认情况下,任务类型未知。
PICKUP 自提任务是指为客户自提商品而执行的操作。车辆补给站或供给数据库上车点应使用 SCHEDULED_STOP 类型。
DELIVERY 配送任务是指为向最终客户配送商品而执行的操作。仓库或供给车辆下车点应使用 SCHEDULED_STOP 类型。
SCHEDULED_STOP 计划停止任务用于计划目的。例如,可能代表从供给车辆或仓库取出或放下货物。不适用于从最终客户自提或送出的任何商品。
UNAVAILABLE 表示车辆无法维修的任务。例如,驾驶员休息或给车辆加油时可能会发生这种情况。

TaskAttribute

将任务属性描述为键值对。“key:value”字符串长度不能超过 256 个字符。

字段
key

string

属性的键。键不得包含冒号字符 (:)。

联合字段 task_attribute_value。该属性的值可以是字符串、bool 或双精度类型。如果未设置,TaskAttribute string_value 将存储为空字符串 ""。task_attribute_value 只能是下列其中一项:
string_value

string

字符串类型的属性值。

bool_value

bool

布尔值类型的属性值。

number_value

double

双精度型属性值。

TaskTrackingInfo

TaskTrackingInfo 消息。此消息包含用于显示的任务跟踪信息。如果某个跟踪 ID 与多个任务相关联,Fleet Engine 会使用启发法来确定选择哪个任务的 TaskTrackingInfo。

字段
name

string

必须采用 providers/{provider}/taskTrackingInfo/{tracking} 格式,其中 tracking 表示跟踪 ID。

tracking_id

string

不可变。任务的跟踪 ID。* 必须是有效的 Unicode 字符串。* 长度上限为 64 个字符。* 根据 Unicode 规范化格式 C 进行了标准化。* 不得包含以下任何 ASCII 字符:“/”“:”“?”“,”或“#”。

vehicle_location

DeliveryVehicleLocation

车辆的上次停靠位置。

route_polyline_points[]

LatLng

一个点列表,这些点连接后会形成一条多段线,表示车辆前往此任务地点的预期路线。

remaining_stop_count

Int32Value

指示在到达任务停靠点之前车辆的剩余停靠次数,包括任务停止。例如,如果车辆的下一站是任务站,则此值为 1。

remaining_driving_distance_meters

Int32Value

到相关VehicleStop的剩余总距离(以米为单位)。

estimated_arrival_time

Timestamp

表示预计到达站点位置的时间戳。

estimated_task_completion_time

Timestamp

表示任务预计完成时间的时间戳。

state

State

任务的当前执行状态。

task_outcome

TaskOutcome

尝试执行 Task 的结果。

task_outcome_time

Timestamp

表示提供程序设置 Task 结果的时间的时间戳。

planned_location

LocationInfo

不可变。将完成 Task 的位置。

target_time_window

TimeWindow

应完成任务的时间范围。

attributes[]

TaskAttribute

在任务上设置的自定义属性。

TaskTrackingViewConfig

用于定义任务数据元素何时对最终用户可见的配置消息。

字段
route_polyline_points_visibility

VisibilityOption

用于指定路线多段线点何时可见的字段。如果未指定此字段,系统将使用此数据的项目级默认可见性配置。

estimated_arrival_time_visibility

VisibilityOption

用于指定预计到达时间何时可见的字段。如果未指定此字段,系统将使用此数据的项目级默认可见性配置。

estimated_task_completion_time_visibility

VisibilityOption

用于指定何时可以看到预计任务完成时间的字段。如果未指定此字段,系统将使用此数据的项目级默认可见性配置。

remaining_driving_distance_visibility

VisibilityOption

用于指定在何时显示剩余行驶距离的字段。如果未指定此字段,系统将使用此数据的项目级默认可见性配置。

remaining_stop_count_visibility

VisibilityOption

用于指定显示剩余经停点数的字段。如果未指定此字段,系统将使用此数据的项目级默认可见性配置。

vehicle_location_visibility

VisibilityOption

用于指定在什么情况下显示车辆位置信息的字段。如果未指定此字段,系统将使用此数据的项目级默认可见性配置。

VisibilityOption

定义数据元素何时对最终用户可见的选项消息。

字段
联合字段 visibility_option。所选的特定公开范围选项。visibility_option 只能是下列其中一项:
remaining_stop_count_threshold

int32

如果剩余停靠点数 <= remaining_stop_count_threshold,则最终用户可以看到此数据元素。

duration_until_estimated_arrival_time_threshold

Duration

如果到达经停点的预计到达时间 <=duration_until_estimated_arrival_time_threshold,则最终用户可以看到此数据元素。

remaining_driving_distance_meters_threshold

int32

如果剩余行驶距离(以米为单位)<= remaining_driving_distance_meters_threshold,则最终用户可以看到此数据元素。

always

bool

如果此政策设为 true,此数据元素将始终对最终用户可见,没有阈值。此字段不能设为 false。

never

bool

如果此政策设为 true,系统会始终对最终用户隐藏此数据元素,没有任何阈值。此字段不能设为 false。

TimeWindow

时间范围。

字段
start_time

Timestamp

必需。时间范围(含边界值)的开始时间。

end_time

Timestamp

必需。时间范围(含边界值)的结束时间。

UpdateDeliveryVehicleRequest

UpdateDeliveryVehicle 请求消息。

字段
header

DeliveryRequestHeader

可选。标准 Delivery API 请求标头。

delivery_vehicle

DeliveryVehicle

必需。要应用的 DeliveryVehicle 实体更新。注意:您无法更新 DeliveryVehicle 的名称。

update_mask

FieldMask

必需。一个字段掩码,用于指示要更新的 DeliveryVehicle 字段。请注意,update_mask 必须至少包含一个字段。

这是完全限定字段名称的逗号分隔列表。示例:"remaining_vehicle_journey_segments"

UpdateTaskRequest

UpdateTask 请求消息。

字段
header

DeliveryRequestHeader

可选。标准 Delivery API 请求标头。

task

Task

必需。与更新关联的任务。Fleet Engine 会维护以下字段。请勿使用 Task.update 更新它们。

  • last_location
  • last_location_snappable
  • name
  • remaining_vehicle_journey_segments
  • task_outcome_location_source

注意:task_outcome 的值一经设置便无法更改。

如果任务已分配给交付车辆,请勿使用 Task.update 将任务状态设置为“已关闭”,请改为从交付车辆中移除包含 Task 的 VehicleStop,这样会自动将任务状态设置为 CLOSED。

update_mask

FieldMask

必需。指示要更新的 Task 字段的字段掩码。注意:update_mask 必须至少包含一个字段。

这是完全限定字段名称的逗号分隔列表。示例:"task_outcome,task_outcome_time,task_outcome_location"

VehicleJourneySegment

表示车辆的行程路段(从上一个停靠站到当前停靠站)。如果是第一个有效的经停点,则是从车辆的当前位置到此经停点。

字段
stop

VehicleStop

指定停靠站位置,以及与停靠站关联的 Task。如果此行程路段是 JourneySharingInfo 的一部分,则 VehicleStop 的某些字段可能不会显示。

driving_distance_meters

Int32Value

仅限输出。从上一个经停点到此经停点的行程距离。如果当前停靠站是行程路段列表中的第一个停靠站,则起点是将此经停点添加到列表中时记录的车辆位置。如果此旅程路段是“JourneySharingInfo”的一部分,则此字段可能不存在。

driving_duration

Duration

仅限输出。从上一站到此站的行程时间。如果当前停靠站是行程路段列表中的第一个停靠站,则起点是将此经停点添加到列表中时记录的车辆位置。

如果此字段在路径 Task.remaining_vehicle_journey_segments[0].driving_duration (gRPC) 或 Task.remainingVehicleJourneySegments[0].drivingDuration (REST) 中定义,则可以使用 DeliveryVehicle.remaining_duration (gRPC) 或 DeliveryVehicle.remainingDuration (REST) 中的值进行填充。这可提供从驾驶应用的最新已知位置出发的剩余驾驶时长,而不是从上一个经停点开始的驾驶时间。

path[]

LatLng

仅限输出。从上一站到此站的路径。如果当前经停点是行程路段列表中的第一个停靠站,则此值为将经停点添加到列表中时从车辆当前位置到此经停点的路径。如果此旅程路段是“JourneySharingInfo”的一部分,则此字段可能不存在。

如果此字段在路径 Task.journey_sharing_info.remaining_vehicle_journey_segments[0].path (gRPC) 或 Task.journeySharingInfo.remainingVehicleJourneySegments[0].path (REST) 中定义,则可以使用从 DeliveryVehicle.current_route_segment (gRPC) 或 DeliveryVehicle.currentRouteSegment (REST) 解码的 LatLng 进行填充。这将提供从驾驶应用的最新已知位置开始的驾车路径,而不是从上一站开始的路径。

VehicleStop

描述车辆停下来执行一个或多个 Task 的点。

字段
planned_location

LocationInfo

必需。相应经停点的位置。请注意,Task 中的位置可能与此位置不完全匹配,但会在此位置附近。GetTask 调用的响应中不会填充此字段。

tasks[]

TaskInfo

要在此经停点执行的 Task 列表。GetTask 调用的响应中不会填充此字段。

state

State

VehicleStop 的状态。GetTask 调用的响应中不会填充此字段。

VehicleStop 的当前状态。

枚举
STATE_UNSPECIFIED 未知。
NEW 已创建,但尚未进行主动路由。
ENROUTE 已分配且正在转送。
ARRIVED 已到达经停点。假设车辆正在前往下一个经停点时,之前的所有停靠站都已完成。

TaskInfo

有关在此停靠站执行的任务的其他信息。

字段
task_id

string

任务 ID。GetTask 调用的响应中不会填充此字段。任务 ID 存在以下限制:

  • 必须是有效的 Unicode 字符串。
  • 长度上限为 64 个字符。
  • 根据 Unicode 标准化形式 C 进行标准化。
  • 不得包含以下任何 ASCII 字符:“/”“:”“?”“,”或“#”。
task_duration

Duration

仅限输出。执行任务所需的时间。

target_time_window

TimeWindow

仅限输出。应完成任务的时间范围。此字段仅在对 GetDeliveryVehicle 的响应中设置。