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)

已編碼的折線,指定導航系統建議前往下一個路標的路線。當車輛抵達或通過停靠站,以及導航重新規劃路線時,駕駛員應用程式會更新此值。系統會針對指派給車輛的所有執行中工作,在 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):

  • 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的剩餘行車時間。驅動程式應用程式通常會提供這個欄位,但在某些情況下,Fleet Engine 會覆寫應用程式傳送的值。詳情請參閱 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 駕駛應用程式導航處於 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

get

傳回指定的 DeliveryVehicle 例項。

list

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

patch

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