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

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

  • type
  • state(必须设置为 OPEN
  • tracking_id(不得为 UNAVAILABLESCHEDULED_STOP 任务设置,但对所有其他任务类型而言都是必需的)
  • planned_location(对于 UNAVAILABLE 任务为可选)
  • task_duration

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

DeliveryRequestHeader

RequestHeader 包含所有提交 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

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

在某些情况下,此字段可能无法用于填充 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 已过时,并指向之前的车辆停止点。

在这些情况下,车队引擎会在此字段中填充从最近经过的 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的剩余行驶距离。驾驶员应用通常会提供此字段,但在某些情况下,车队引擎会替换应用发送的值。如需了解详情,请参阅 DeliveryVehicle.current_route_segment。对于分配给传送车辆的所有有效 Task,系统都会在 Task.remaining_vehicle_journey_segments[0].driving_distance_meters (gRPC) 或 Task.remainingVehicleJourneySegments[0].drivingDistanceMeters (REST) 中返回此字段。

如果 current_route_segment 字段为空,车队引擎会忽略 UpdateDeliveryVehicleRequest 中的此字段。

remaining_duration

Duration

current_route_segment 的剩余行驶时间。驾驶员应用通常会提供此字段,但在某些情况下,车队引擎会替换应用发送的值。如需了解详情,请参阅 DeliveryVehicle.current_route_segment。对于分配给传送车辆的所有有效任务,系统会在 Task.remaining_vehicle_journey_segments[0].driving_duration (gRPC) 或 Task.remainingVehicleJourneySegments[0].drivingDuration (REST) 中返回此字段。

如果 current_route_segment 字段为空,车队引擎会忽略 UpdateDeliveryVehicleRequest 中的此字段。

remaining_vehicle_journey_segments[]

VehicleJourneySegment

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

attributes[]

DeliveryVehicleAttribute

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

type

DeliveryVehicleType

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

DeliveryVehicleType

配送车辆的类型。

枚举
DELIVERY_VEHICLE_TYPE_UNSPECIFIED 该值未使用。
AUTO 汽车。
TWO_WHEELER 摩托车、助力车或其他两轮车
BICYCLE 人力车辆。
PEDESTRIAN 人体运输工具,通常是沿着步道行走或跑步。

DeliveryVehicleAttribute

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

字段
key

string

属性的键。

value

string

属性的值。

联合字段 delivery_vehicle_attribute_value。属性的值可以是字符串、布尔值或双精度类型。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 或 Wi-Fi 接入点。
PASSIVE 基站 ID 或 WiFi 接入点。
ROAD_SNAPPED_LOCATION_PROVIDER 移动设备确定的最可能的道路位置。
CUSTOMER_SUPPLIED_LOCATION 客户提供的来自独立来源的位置信息。通常,此值用于从运行 Driver SDK 的移动设备以外的来源提供的位置。如果其他枚举值之一可用于描述原始来源,请使用该值。标有 CUSTOMER_SUPPLIED_LOCATION 的位置通常通过 DeliveryVehicle 的 last_location.supplemental_location_sensor 提供。
FLEET_ENGINE_LOCATION 由车队引擎根据可用的信号计算的位置。仅限输出。如果在请求中收到此值,系统会将其拒绝。
FUSED_LOCATION_PROVIDER Android 的 Fused Location Provider。
CORE_LOCATION Apple 操作系统上的位置信息提供程序。

DeliveryVehicleNavigationStatus

车辆的导航状态。

枚举
UNKNOWN_NAVIGATION_STATUS 未指定导航状态。
NO_GUIDANCE 驾驶者应用的导航处于 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

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

ListTasksResponse

ListTasks 响应,其中包含满足 ListTasksRequest 中的过滤条件的一组任务。

字段
tasks[]

Task

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

next_page_token

string

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

total_size

int64

所有网页中与请求条件匹配的任务的总数。

LocationInfo

包含任何其他标识符的位置。

字段
point

LatLng

相应位置的坐标。

任务

Delivery API 中的 Task 表示要跟踪的单个操作。一般来说,配送相关任务和中断任务之间有区别。一个运输可以有多个任务与之相关联。例如,您可以创建一个上车任务,再创建一个下车或接驳任务。此外,给定运输的不同任务可以由不同的车辆处理。例如,一辆车辆可以负责上门取件,将运输的包裹运送到集散中心,而另一辆车辆则负责将同一包裹从集散中心运送到下车点。

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

字段
name

string

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

type

Type

必需。不可变。定义任务的类型。例如,休息或运输。

state

State

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

task_outcome

TaskOutcome

任务的结果。

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

仅限输出。正在执行此任务的车辆的 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.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) 中的其他细分由车队引擎填充。它们提供其余 VehicleStops 之间的路由信息。

last_location

DeliveryVehicleLocation

表示分配的车辆上次报告的位置。

last_location_snappable

bool

指示车辆的 lastLocation 是否可以贴靠到 current_route_segment。如果 last_locationcurrent_route_segment 不存在,则此值为 False。此值由车队引擎计算得出。来自客户端的更新会被忽略。

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

枚举
STATE_UNSPECIFIED 默认。用于未指定或未识别的任务状态。
OPEN 任务尚未分配给配送车辆,或者配送车辆尚未经过 Task 的分配给车辆的停靠点。
CLOSED 车辆经过此任务的车站时。

TaskOutcome

尝试执行任务的结果。关闭 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 使用了上次已知的车辆位置。

类型

任务的类型。

枚举
TYPE_UNSPECIFIED 默认情况下,任务类型为未知。
PICKUP 取件任务是指为从客户处取件而执行的操作。车辆在车库或小车站上车时应使用 SCHEDULED_STOP 类型。
DELIVERY 配送任务是指为将运输包裹配送给最终客户而执行的操作。车辆在车库或小车站下车时应使用 SCHEDULED_STOP 类型。
SCHEDULED_STOP 安排的停止任务用于规划目的。例如,它可以表示从中继车辆或车站上车或下车。不应将其用于从最终客户处上门取件或送货的任何运输服务。
UNAVAILABLE 表示车辆无法提供服务的任务。例如,当司机休息或车辆加油时,就可能会发生这种情况。

TaskAttribute

以键值对的形式描述任务属性。“键值对”字符串的长度不得超过 256 个字符。

字段
key

string

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

联合字段 task_attribute_value。属性的值可以是字符串、布尔值或双精度类型。如果未设置,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_outcome_time

Timestamp

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

planned_location

LocationInfo

不可变。任务将完成的位置。

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

必需。与更新关联的任务。以下字段由车队引擎维护。请勿使用 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

必需。用于指明要更新哪些 Tasks 字段的字段掩码。注意: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 的响应中设置。