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 物件。

DeleteDeliveryVehicle

rpc DeleteDeliveryVehicle(DeleteDeliveryVehicleRequest) returns (Empty)

從 Fleet Engine 刪除 DeliveryVehicle。

如果 DeliveryVehicle 已指派 OPEN 工作,則傳回 FAILED_PRECONDITION。

DeleteTask

rpc DeleteTask(DeleteTaskRequest) returns (Empty)

刪除單一工作。

如果工作為 OPEN 且已指派給 DeliveryVehicle,則傳回 FAILED_PRECONDITION。

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,但必須包含所有 VehicleJourneySegment,才能保留在 DeliveryVehicle 上。系統會從 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 Normalization Form 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 Normalization Form C 正規化。
  • 不得包含下列任何 ASCII 字元:「/」、「:」、「?」、「,」或「#」。
task

Task

必要欄位。要建立的 Task 實體。建立工作時,必須填寫下列欄位:

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

您可以選擇設定下列欄位:

  • target_time_window
  • task_tracking_view_config
  • attributes

注意:系統會忽略 Task 的 name 欄位。不得設定所有其他 Task 欄位,否則系統會傳回錯誤。

DeleteDeliveryVehicleRequest

DeleteDeliveryVehicle 要求訊息。

欄位
header

DeliveryRequestHeader

(選用步驟) 標準 Delivery API 要求標頭。

name

string

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

DeleteTaskRequest

DeleteTask 要求訊息。

欄位
header

DeliveryRequestHeader

(選用步驟) 標準 Delivery API 要求標頭。

name

string

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

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

trace_id

string

選用 ID,可提供用於記錄,以識別要求。

平台

呼叫 SDK 的平台。

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

SdkType

可能的 SDK 類型。

列舉
SDK_TYPE_UNSPECIFIED 預設值。如果省略 sdk_type,系統會使用這個值。
CONSUMER 呼叫 SDK 為 Consumer。
DRIVER 呼叫 SDK 為 Driver。
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

送貨車輛最後回報的位置。

past_locations[]

DeliveryVehicleLocation

僅限輸入。這部送貨車輛過去曾到過,但尚未向 Fleet Engine 回報的位置。這項功能用於 UpdateDeliveryVehicleRequest,可記錄先前無法傳送至伺服器的位置資訊。這通常是因為送貨車輛沒有網路連線。

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 仍指向先前的車輛停靠位置。

在這些情況下,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

以鍵/值組合形式說明車輛屬性。「鍵:值」字串長度不得超過 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 精確度。

flp_location

LatLng

Android 整合式位置預測提供工具提供的位置資訊。

flp_update_time

Timestamp

更新 flp_location 的時間戳記

flp_latlng_accuracy_meters

DoubleValue

準確度為 flp_location 公尺 (半徑)。

flp_heading_degrees

Int32Value

車輛的移動方向 (以度為單位),由 Fused Location Provider 判斷。0 代表北方。有效範圍為 [0,360)。

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 輔助全球衛星定位系統、行動通信基地台 ID 或 Wi-Fi 存取點。
PASSIVE 行動通信基地台 ID 或 Wi-Fi 存取點。
ROAD_SNAPPED_LOCATION_PROVIDER 行動裝置判斷最有可能的道路位置。
CUSTOMER_SUPPLIED_LOCATION 顧客從獨立來源提供的位置資訊。通常這個值用於從執行 Driver SDK 的行動裝置以外來源提供的位置資訊。如果原始來源是由其他列舉值描述,請使用該值。標示為 CUSTOMER_SUPPLIED_LOCATION 的位置通常是透過 DeliveryVehicle 的 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 即時路線導航功能已啟用,且 Driver 應用程式導航已進入 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 就是一項限制。

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

(選用步驟) 列出工作時要套用的篩選器查詢。如需篩選器語法範例,請參閱 http://aip.dev/160。如未指定值,或篩選空白字串,系統會傳回所有工作。如要瞭解可篩選的工作屬性,請參閱「列出工作」。

ListTasksResponse

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

欄位
tasks[]

Task

符合所要求篩選條件的工作集。如果未指定篩選條件,要求會傳回所有工作。成功的回應也可以是空白。如果回應空白,表示沒有符合所要求篩選條件的 Tasks。

next_page_token

string

ListTasksRequest 中傳遞這個權杖,即可繼續列出結果。如果已傳回所有結果,這個欄位會是空白字串,或不會出現在回應中。

total_size

int64

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

地點資訊

具有任何其他 ID 的位置。

欄位
point

LatLng

位置座標。必須指定 pointplace 做為輸入內容。如果同時指定這兩項屬性,系統會使用 point 進行路徑設定,並使用 place 做為中繼資料。如果只指定 place 做為輸入,系統會從 place 計算 point,並納入輸出內容。

place

string

代表這個位置的地點資源名稱。格式為 places/{place_id}。必須指定 pointplace 做為輸入內容。如果同時指定這兩項屬性,系統會使用 point 進行路徑設定,並使用 place 做為中繼資料。只有在輸入內容中包含 place 時,輸出內容才會包含 place,也就是說,系統不會從 LatLng 執行 place 查閱。

這是實驗功能。

point_location_source

PointSource

僅供輸出。latlng point 欄位的來源。這項功能仍在實驗階段。

PointSource

指出 LatLng 的來源。

列舉
POINT_SOURCE_UNSPECIFIED 未指定點來源。
POINT_SOURCE_DEVELOPER_PROVIDED 開發人員明確提供 LatLng
POINT_SOURCE_CALCULATED_FROM_PLACE 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,避免使用複雜的對應。您無法為類型為「UNAVAILABLE」和「SCHEDULED_STOP」的工作設定「tracking_id」。這些 ID 須遵守下列限制:

  • 必須是有效的 Unicode 字串。
  • 長度上限為 64 個半形字元。
  • 根據 Unicode Normalization Form C 正規化。
  • 不得包含下列任何 ASCII 字元:「/」、「:」、「?」、「,」或「#」。
delivery_vehicle_id

string

僅供輸出。執行這項工作的車輛 ID。車輛 ID 必須符合下列限制:

  • 必須是有效的 Unicode 字串。
  • 長度上限為 64 個半形字元。
  • 根據 Unicode Normalization Form C 正規化。
  • 不得包含下列任何 ASCII 字元:「/」、「:」、「?」、「,」或「#」。
planned_location

LocationInfo

不可變更。工作完成地點。UNAVAILABLE Tasks 為選填屬性,但其他所有 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 計算。系統會忽略用戶端更新。

工作狀態。表示工作進度。

列舉
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 使用了車輛的最後已知位置。

類型

工作類型。

列舉
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 Normalization Form 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

如果剩餘停靠站數 <= 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

必要欄位。與更新相關聯的工作。Fleet Engine 會維護下列欄位。請勿使用 Task.update 更新。

  • last_location
  • last_location_snappable
  • name
  • remaining_vehicle_journey_segments
  • task_outcome_location_source

注意:task_outcome 值一經設定就無法變更。

如果工作已指派給送貨車輛,請勿使用 Task.update 將工作狀態設為 CLOSED。請改為從送貨車輛中移除包含工作內容的 VehicleStop,系統會自動將工作狀態設為「已完成」。

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 中的位置可能與這個位置不完全相符,但會位於附近。在 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 Normalization Form C 正規化。
  • 不得包含下列任何 ASCII 字元:「/」、「:」、「?」、「,」或「#」。
task_duration

Duration

僅供輸出。執行工作所需的時間。

target_time_window

TimeWindow

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