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)
  },
  "pastLocations": [
    {
      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)

運送車輛上次回報的位置。

pastLocations[]

object (DeliveryVehicleLocation)

僅限輸入。這輛車輛過去曾經過,但尚未向車隊引擎回報的位置。這個值會在 UpdateDeliveryVehicleRequest 中使用,用於記錄先前無法傳送至伺服器的位置。這通常是因為提交車輛沒有網路連線。

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 已過時,且指向先前的車輛停靠站。

在這種情況下,Fleet Engine 會在這個欄位填入從最近經過的 VehicleStop 到下一個 VehicleStop 的路線,確保這個欄位的使用者能取得目前運送車輛路線的最佳資訊。

Base64 編碼字串。

currentRouteSegmentEndPoint

object (LatLng)

currentRouteSegment 的結束位置。目前駕駛員應用程式不會填入這項資訊,但您可以在 deliveryVehicles.patch 呼叫中提供這項資訊。這可能是即將抵達的車輛停靠站的 LatLng,或是 currentRouteSegment 的最後一個 LatLng。接著,Fleet Engine 會盡力對實際的 VehicleStop 進行插補。

如果 currentRouteSegment 欄位為空白,系統會在 deliveryVehicles.patch 呼叫中忽略這個欄位。

remainingDistanceMeters

integer

currentRouteSegment 的剩餘行車距離。駕駛員應用程式通常會提供這個欄位,但在某些情況下,Fleet Engine 會覆寫應用程式傳送的值。詳情請參閱 DeliveryVehicle.current_route_segment。系統會在 Task.remaining_vehicle_journey_segments[0].driving_distance_meters (gRPC) 或 Task.remainingVehicleJourneySegments[0].drivingDistanceMeters (REST) 中傳回這個欄位,適用於指派給發布媒介的所有有效 Task

如果 currentRouteSegment 欄位為空白,Fleet Engine 會忽略 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 欄位為空白,Fleet Engine 會忽略 UpdateDeliveryVehicleRequest 中的這個欄位。

時間長度以秒為單位,最多可有 9 個小數位數,並應以「s」結尾,例如:"3.5s"

remainingVehicleJourneySegments[]

object (VehicleJourneySegment)

指派給這輛運送車輛的行程路段,從車輛最近回報的位置開始。這個欄位不會填入 deliveryVehicles.list 的回應。

attributes[]

object (DeliveryVehicleAttribute)

自訂送貨車輛屬性清單。提交的運送車輛最多可包含 100 個屬性,且每個屬性都必須有專屬索引鍵。

type

enum (DeliveryVehicleType)

這個運送車輛的類型。如果未設定,則預設為 AUTO

DeliveryVehicleNavigationStatus

車輛的導航狀態。

列舉
UNKNOWN_NAVIGATION_STATUS 未指定的導覽狀態。
NO_GUIDANCE Driver 應用程式的導航功能處於 FREE_NAV 模式。
ENROUTE_TO_DESTINATION 即時路線導航功能可供使用,且 Driver 應用程式導航功能已進入 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。屬性的值可以是字串、布林值或雙精度型別。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

delete

從 Fleet Engine 中刪除 DeliveryVehicle。

get

傳回指定的 DeliveryVehicle 例項。

list

取得符合指定篩選條件的所有 DeliveryVehicle

patch

將更新後的 DeliveryVehicle 資料寫入 Fleet Engine,並將 Tasks 指派給 DeliveryVehicle