Package maps.fleetengine.delivery.v1

索引

DeliveryService

The Last Mile Delivery 服務。

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

SearchTasks

rpc SearchTasks(SearchTasksRequest) returns (SearchTasksResponse)

已淘汰:請改用 GetTaskTrackingInfo

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,則系統會將對應的 Tasks 指派給 DeliveryVehicle

UpdateTask

rpc UpdateTask(UpdateTaskRequest) returns (Task)

更新「Task」資料。

BatchCreateTasksRequest

BatchCreateTask 要求訊息。

欄位
header

DeliveryRequestHeader

選用設定。Standard 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

選用設定。Standard 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

選用設定。Standard 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

必要欄位。要建立的工作實體。建立工作時,必須提供下列欄位:

  • type
  • state (必須設為 OPEN)
  • tracking_id (不得為 UNAVAILABLESCHEDULED_STOP 工作設定,但所有其他工作類型為必要設定)
  • planned_location (UNAVAILABLE 項工作的選用步驟)
  • task_duration

注意:Task 的 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

平台

呼叫 SDK 的平台。

列舉
PLATFORM_UNSPECIFIED 預設值。如果省略平台,系統會使用這個值。
ANDROID 這項要求來自 Android。
IOS 請求來自 iOS。
WEB 要求來自網路。

SdkType

可能的 SDK 類型。

列舉
SDK_TYPE_UNSPECIFIED 預設值。如果省略 sdk_type,則會使用這個值。
CONSUMER 呼叫的 SDK 為 Consumer。
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。屬性值可以是字串、布林值或雙精度浮點數類型。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 或 Wi-Fi 存取點。
ROAD_SNAPPED_LOCATION_PROVIDER 行動裝置判斷最可能的道路位置。
CUSTOMER_SUPPLIED_LOCATION 由獨立來源提供的客戶提供的地點。通常,這個值適用於執行 Driver SDK 的行動裝置以外的來源所提供的位置。如果原始來源是由其他列舉值所描述,請使用該值。標示為 CUSTOMER_SUPPLIED_LOCATION 的地點通常是由貨運車輛的 last_location.supplemental_location_sensor 提供。
FLEET_ENGINE_LOCATION Fleet Engine 根據可用信號計算的位置。僅供輸出。如果在要求中收到這個值,將會遭拒。
FUSED_LOCATION_PROVIDER Android 的整合式位置預測提供工具
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

選用設定。Standard Delivery API 要求標頭。

name

string

必要欄位。格式須為 providers/{provider}/deliveryVehicles/{delivery_vehicle}provider 必須是 Google Cloud 專案 ID。例如:sample-cloud-project

GetTaskRequest

GetTask 要求訊息。

欄位
header

DeliveryRequestHeader

選用設定。Standard Delivery API 要求標頭。

name

string

必要欄位。格式須為 providers/{provider}/tasks/{task}provider 必須是 Google Cloud 專案 ID。例如:sample-cloud-project

GetTaskTrackingInfoRequest

GetTaskTrackingInfoRequest 要求訊息。

欄位
header

DeliveryRequestHeader

選用設定。Standard 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

選用設定。Standard 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

選用設定。Standard Delivery API 要求標頭。

parent

string

必要欄位。格式須為 providers/{provider}provider 必須是 Google Cloud 專案 ID。例如:sample-cloud-project

page_size

int32

選用設定。要傳回的 Tasks 數量上限。服務傳回的產品數量可能會少於這個值。如果您未指定這個值,則伺服器會決定要傳回的結果數量。

page_token

string

選用設定。接收自前一個 ListTasks 呼叫的網頁權杖。提供此項目即可擷取後續網頁。

進行分頁時,提供至 ListTasks 的所有其他參數須與提供網頁權杖的呼叫相符。

filter

string

選用設定。列出 Tasks 時要套用的篩選器查詢。如需篩選器語法的範例,請參閱 http://aip.dev/160。如果沒有指定值,或是篩選空白字串,系統就會傳回所有 Tasks。如需可篩選工作屬性的相關資訊,請參閱工作清單

ListTasksResponse

ListTasks 回應,包含一組符合 ListTasksRequest 中篩選條件的工作。

欄位
tasks[]

Task

符合所要求篩選條件的一組工作。如未指定篩選條件,要求會傳回所有工作。成功的回應也可以留空。如果傳回空白的回應,表示找不到符合要求的篩選條件的 Tasks。

next_page_token

string

請在 ListTasksRequest 中傳遞這個權杖,以便繼續列出結果。如果所有結果都傳回,則此欄位會是空白字串,或者不會出現在回應中。

total_size

int64

在所有網頁中符合要求條件的工作總數。

LocationInfo

其他 ID 的位置。

欄位
point

LatLng

位置的座標。

SearchTasksRequest

已淘汰:改為向 GetTaskTrackingInfo 發出 GetTaskTrackingInfoRequest

欄位
header

DeliveryRequestHeader

選用設定。Standard Delivery API 要求標頭。

parent

string

必要欄位。格式須為 providers/{provider}。提供者必須是 Google Cloud 專案 ID。例如 sample-cloud-project

tracking_id

string

必要欄位。所要求相關 Tasks 的 ID。追蹤 ID 有以下限制:

  • 必須是有效的萬國碼 (Unicode) 字串。
  • 長度上限為 64 個半形字元。
  • 根據 Unicode 正規化表單 C 進行正規化處理。
  • 不得包含下列任一 ASCII 字元:「/」、「:」、「?」、「,」或「#」。
page_size

int32

選用設定。要傳回的 Tasks 數量上限。服務傳回的產品數量可能會少於這個值。如果您未指定這個值,則伺服器會決定要傳回的結果數量。

page_token

string

選用設定。屬於接收自前一個 SearchTasks 呼叫的網頁權杖。必須提供這個值才能擷取後續網頁。

進行分頁時,提供至 SearchTasks 的所有其他參數須與提供網頁權杖的呼叫相符。

SearchTasksResponse

SearchTasks 回應。其中包含一組符合 SearchTasksRequest 搜尋條件的工作。

欄位
tasks[]

Task

針對要求 tracking_id 的一組 Tasks。成功的回應也可以留空。空白回應表示沒有任何 Tasks 與提供的 tracking_id 相關聯。

next_page_token

string

請在 SearchTasksRequest 中傳遞這個權杖,以便繼續列出結果。如果所有結果都傳回,則此欄位會是空白字串,或者不會出現在回應中。

工作

Delivery API 中的一項工作代表要追蹤的單一動作。一般來說,與出貨相關的 Tasks 和中斷工作有區別。一項出貨商品可以有多個相關聯的 Tasks。例如分別設定上車地點和下車或轉乘服務。此外,一批出貨的不同 Tasks 也可以由不同車輛處理。舉例來說,其中一輛車可以處理上車事宜,將運送到中樞系統,另一輛車則負責將相同的貨物從中樞行駛到下車地點。

注意:gRPC 和 REST API 採用不同的欄位命名慣例。舉例來說,gRPC API 中的 Task.journey_sharing_info 欄位與 REST API 中的 DeliveryVehicle.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

無法變更。完成工作的位置。此為 UNAVAILABLE Tasks 的選用項目,如用於其他工作,則為必要元素。

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) 中的其他區隔由 Fleet Engine 填入。提供剩餘的 VehicleStops 之間的路線資訊。

last_location

DeliveryVehicleLocation

指出車輛指定車輛上次回報的位置。

last_location_snappable

bool

指出車輛的 lastLocation 是否可貼至 current_route_segment。如果 last_locationcurrent_route_segment 不存在,這個值為 False。這個值是由 Fleet Engine 計算。系統將忽略用戶端的更新。

狀態

工作的狀態。這表示「Tasks」的進度。

列舉
STATE_UNSPECIFIED 預設。用於未指定或無法辨識的 Task 狀態。
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 使用最後已知的車輛位置。

類型

Task 的類型。

列舉
TYPE_UNSPECIFIED 預設,工作類型不明。
PICKUP 取貨工作是指領取客戶出貨時會採取的行動。自取或餵食器車輛應使用 SCHEDULED_STOP 類型。
DELIVERY 交付工作是指將運送資訊送到客戶手上的動作。站點或餵食器車輛下車地點應使用 SCHEDULED_STOP 類型。
SCHEDULED_STOP 排定的停止 Task 用於規劃用途。例如由送貨員車或倉庫出貨。不過,請勿將本產品用於消費者從消費者取貨或出貨的任何貨物。
UNAVAILABLE 表示車輛無法使用的服務。舉例來說,如果駕駛人休息或車輛反修,可能就會發生這個情況。

TaskAttribute

將工作屬性描述為鍵/值組合。「key:value」字串的長度不得超過 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 會根據經驗法則判斷要選取哪個 Task 的 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

指出提供者設定工作結果時間的時間戳記。

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

如果剩餘的停靠站計數 <= left_stop_count_threshold,則使用者就可以看到此資料元素。

duration_until_estimated_arrival_time_threshold

Duration

如果抵達停靠站的預計到達時間 <= Duration_until_estimated_arrival_time_threshold,使用者會看到此資料元素。

remaining_driving_distance_meters_threshold

int32

如果剩餘行車距離 (公尺 <= left_driving_distance_meters_threshold),使用者可以看見此資料元素。

always

bool

如果設為 True,系統一律會向使用者顯示這個資料元素,不設有門檻。這個欄位無法設為 false。

never

bool

如果設為 True,系統一律會對使用者隱藏這個資料元素,且不會設定閾值。這個欄位無法設為 false。

TimeWindow

時間範圍。

欄位
start_time

Timestamp

必要欄位。時間範圍的開始時間 (含首尾)。

end_time

Timestamp

必要欄位。時間範圍的結束時間 (含首尾)。

UpdateDeliveryVehicleRequest

UpdateDeliveryVehicle 要求訊息。

欄位
header

DeliveryRequestHeader

選用設定。Standard Delivery API 要求標頭。

delivery_vehicle

DeliveryVehicle

必要欄位。要套用的 DeliveryVehicle 實體更新。注意:您無法更新 DeliveryVehicle 的名稱。

update_mask

FieldMask

必要欄位。欄位遮罩用於指出要更新哪些 DeliveryVehicle 欄位。請注意,update_mask 必須包含至少一個欄位。

此為以半形逗號分隔的完整欄位名稱清單。範例:"remaining_vehicle_journey_segments"

UpdateTaskRequest

UpdateTask 要求訊息。

欄位
header

DeliveryRequestHeader

選用設定。Standard 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 將工作狀態設為「已結束」。請改為從交付車輛中移除包含工作的 VehicleStop,這會自動將工作狀態設為「CLOSED」。

update_mask

FieldMask

必要欄位。欄位遮罩用於指出要更新哪些工作欄位。注意: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 中的地點可能與這個位置並非完全相符,但彼此距離太短。這個欄位不會在 GetTaskSearchTasks 呼叫的回應中填入。

tasks[]

TaskInfo

要在這個停靠站執行的 Task 清單。這個欄位不會在 GetTaskSearchTasks 呼叫的回應中填入。

state

State

VehicleStop 的狀態。這個欄位不會在 GetTaskSearchTasks 呼叫的回應中填入。

狀態

VehicleStop 的目前狀態。

列舉
STATE_UNSPECIFIED 不明。
NEW 已建立,但未主動轉送。
ENROUTE 已指派及主動轉送。
ARRIVED 已抵達停靠站。假設車輛正規劃前往下一個停靠站時,先前的所有停靠站均已完成。

TaskInfo

關於在這個停靠站執行的工作的其他相關資訊。

欄位
task_id

string

工作 ID。這個欄位不會在 GetTaskSearchTasks 呼叫的回應中填入。工作 ID 有下列限制:

  • 必須是有效的萬國碼 (Unicode) 字串。
  • 長度上限為 64 個半形字元。
  • 根據 Unicode 正規化表單 C 進行正規化處理。
  • 不得包含下列任一 ASCII 字元:「/」、「:」、「?」、「,」或「#」。
task_duration

Duration

僅供輸出。執行任務所需的時間。

target_time_window

TimeWindow

僅供輸出。應完成工作的時間範圍。只會在 GetDeliveryVehicle 的回應中設定。