REST Resource: providers.deliveryVehicles

资源: DeliveryVehicle

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

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

JSON 表示法
{
  "name": string,
  "lastLocation": {
    object (DeliveryVehicleLocation)
  },
  "navigationStatus": enum (DeliveryVehicleNavigationStatus),
  "currentRouteSegment": string,
  "currentRouteSegmentEndPoint": {
    object (LatLng)
  },
  "remainingDistanceMeters": integer,
  "remainingDuration": string,
  "remainingVehicleJourneySegments": [
    {
      object (VehicleJourneySegment)
    }
  ],
  "attributes": [
    {
      object (DeliveryVehicleAttribute)
    }
  ],
  "type": enum (DeliveryVehicleType)
}
字段
name

string

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

lastLocation

object (DeliveryVehicleLocation)

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

navigationStatus

enum (DeliveryVehicleNavigationStatus)

配送车辆的导航状态。

currentRouteSegment

string (bytes format)

编码后的多段线,用于指定导航系统建议前往下一个航路点的路线。您的驾驶员应用会在到达经停点或经过以及导航更改路线时更新此信息。对于分配给车辆的所有活跃任务,这些 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):

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

  • 驾驶员应用最近未更新其位置信息,因此此字段的上次更新值可能已过时。

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

在这些情况下,车队引擎会在此字段中填充从最近经过的 VehicleStop 到即将到达的 VehicleStop 的路线,以确保此字段的使用方拥有有关配送车辆当前路线的最佳可用信息。

使用 base64 编码的字符串。

currentRouteSegmentEndPoint

object (LatLng)

currentRouteSegment 结束的位置。此字段目前未由驱动程序应用填充,但您可以在 deliveryVehicles.patch 调用中提供此字段。它是相应车站的 LatLng,或 currentRouteSegment 的最后一个 LatLng。然后,Fleet Engine 会尽力插值到实际的 VehicleStop

如果 currentRouteSegment 字段为空,则系统会在 deliveryVehicles.patch 调用中忽略此字段。

remainingDistanceMeters

integer

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

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

remainingDuration

string (Duration format)

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

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

该时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

remainingVehicleJourneySegments[]

object (VehicleJourneySegment)

分配给此配送车辆的行程片段,从车辆最近报告的位置开始。deliveryVehicles.list 的响应中不会填充此字段。

attributes[]

object (DeliveryVehicleAttribute)

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

type

enum (DeliveryVehicleType)

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

DeliveryVehicleNavigationStatus

车辆的导航状态。

枚举
UNKNOWN_NAVIGATION_STATUS 未指定的导航状态。
NO_GUIDANCE 驾驶者应用的导航处于 FREE_NAV 模式。
ENROUTE_TO_DESTINATION 精细导航功能可用,并且“驾驶员”应用导航已进入 GUIDED_NAV 模式。
OFF_ROUTE 车辆偏离了建议的路线。
ARRIVED_AT_DESTINATION 车辆距离目的地约 50 米。

DeliveryVehicleAttribute

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

JSON 表示法
{
  "key": string,
  "value": string,

  // Union field delivery_vehicle_attribute_value can be only one of the
  // following:
  "stringValue": string,
  "boolValue": boolean,
  "numberValue": number
  // End of list of possible types for union field
  // delivery_vehicle_attribute_value.
}
字段
key

string

属性的键。

value

string

属性的值。

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

string

字符串类型的属性值。

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

boolValue

boolean

布尔值类型的属性值。

numberValue

number

双精度属性值。

DeliveryVehicleType

送货车辆的类型。

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

方法

create

创建并返回新的 DeliveryVehicle

get

返回指定的 DeliveryVehicle 实例。

list

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

patch

将更新后的 DeliveryVehicle 数据写入 Fleet Engine,并将 Tasks 分配给 DeliveryVehicle