REST Resource: providers.tasks

Tài nguyên: Nhiệm vụ

Tác vụ trong API phân phối thể hiện một hành động cần theo dõi. Nói chung, có sự khác biệt giữa Tác vụ liên quan đến vận chuyển và Tác vụ phá vỡ. Một lô hàng có thể được liên kết với nhiều Tasks. Ví dụ: có thể có một Nhiệm vụ là đến lấy hàng và một Nhiệm vụ là để trả xe hoặc chuyển hàng. Ngoài ra, các loại xe khác nhau có thể xử lý các Nhiệm vụ khác nhau cho một lô hàng cụ thể. Ví dụ: Một xe có thể xử lý việc đến lấy hàng, chuyển kiện hàng đến trung tâm, trong khi một xe khác lại vận chuyển lô hàng đó từ trung tâm đến điểm trả xe.

Lưu ý: API gRPC và REST sử dụng quy ước đặt tên trường khác nhau. Ví dụ: trường Task.journey_sharing_info trong API gRPC và trường Task.journeySharingInfo trong API REST tham chiếu đến cùng một trường.

Biểu diễn dưới dạng JSON
{
  "name": string,
  "type": enum (Type),
  "state": enum (State),
  "taskOutcome": enum (TaskOutcome),
  "taskOutcomeTime": string,
  "taskOutcomeLocation": {
    object (LocationInfo)
  },
  "taskOutcomeLocationSource": enum (TaskOutcomeLocationSource),
  "trackingId": string,
  "deliveryVehicleId": string,
  "plannedLocation": {
    object (LocationInfo)
  },
  "taskDuration": string,
  "targetTimeWindow": {
    object (TimeWindow)
  },
  "journeySharingInfo": {
    object (JourneySharingInfo)
  },
  "taskTrackingViewConfig": {
    object (TaskTrackingViewConfig)
  },
  "attributes": [
    {
      object (TaskAttribute)
    }
  ]
}
Trường
name

string

Phải ở định dạng providers/{provider}/tasks/{task}.

type

enum (Type)

Bắt buộc. Không thể thay đổi. Xác định loại Tác vụ. Ví dụ: nghỉ giải lao hoặc vận chuyển hàng.

state

enum (State)

Bắt buộc. Trạng thái thực thi hiện tại của Tác vụ.

taskOutcome

enum (TaskOutcome)

Kết quả của Nhiệm vụ.

taskOutcomeTime

string (Timestamp format)

Dấu thời gian cho biết thời điểm trình cung cấp đặt kết quả của Task.

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, với độ phân giải nano giây và tối đa 9 chữ số phân số. Ví dụ: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

taskOutcomeLocation

object (LocationInfo)

Vị trí đặt kết quả của Task. Giá trị này được cập nhật trong tasks.patch. Nếu nhà cung cấp không cập nhật rõ ràng giá trị này, thì theo mặc định, Fleet Engine sẽ điền giá trị này bằng vị trí gần đây nhất của xe (vị trí thô).

taskOutcomeLocationSource

enum (TaskOutcomeLocationSource)

Cho biết giá trị của taskOutcomeLocation đến từ đâu.

trackingId

string

Không thể thay đổi. Trường này hỗ trợ việc lưu trữ mã nhận dạng để bạn có thể tránh sử dụng quá trình liên kết phức tạp. Bạn không thể đặt trackingId cho Tasks thuộc loại UNAVAILABLESCHEDULED_STOP. Những mã nhận dạng này phải tuân thủ các quy định hạn chế sau:

  • Phải là một chuỗi Unicode hợp lệ.
  • Giới hạn độ dài tối đa là 64 ký tự.
  • Được chuẩn hoá theo Biểu mẫu chuẩn hoá Unicode C.
  • Không được chứa bất kỳ ký tự ASCII nào sau đây: "/", ':', '?', ",", hoặc '#'.
deliveryVehicleId

string

Chỉ có đầu ra. Mã của xe đang thực hiện Nhiệm vụ này. Mã xe giao hàng phải tuân theo các hạn chế sau:

  • Phải là một chuỗi Unicode hợp lệ.
  • Giới hạn độ dài tối đa là 64 ký tự.
  • Được chuẩn hoá theo Biểu mẫu chuẩn hoá Unicode C.
  • Không được chứa bất kỳ ký tự ASCII nào sau đây: "/", ':', '?', ",", hoặc '#'.
plannedLocation

object (LocationInfo)

Không thể thay đổi. Vị trí mà Nhiệm vụ sẽ được hoàn thành. Không bắt buộc đối với UNAVAILABLE Công việc, nhưng bắt buộc đối với tất cả các Tasks khác.

taskDuration

string (Duration format)

Bắt buộc. Không thể thay đổi. Thời gian cần thiết để thực hiện một Tác vụ tại vị trí này.

Thời lượng tính bằng giây với tối đa 9 chữ số thập phân, kết thúc bằng "s". Ví dụ: "3.5s".

targetTimeWindow

object (TimeWindow)

Khoảng thời gian hoàn thành việc cần làm.

journeySharingInfo

object (JourneySharingInfo)

Chỉ có đầu ra. Các trường dành riêng cho việc chia sẻ hành trình. Không được điền khi trạng thái là CLOSED.

taskTrackingViewConfig

object (TaskTrackingViewConfig)

Cấu hình cho tính năng theo dõi công việc chỉ định những phần tử dữ liệu mà người dùng cuối có thể nhìn thấy trong trường hợp nào.

attributes[]

object (TaskAttribute)

Danh sách các thuộc tính tuỳ chỉnh của Việc cần làm. Mỗi thuộc tính phải có một khoá duy nhất.

Loại

Loại Việc cần làm.

Enum
TYPE_UNSPECIFIED Mặc định, Loại tác vụ không xác định.
PICKUP Nhiệm vụ đến lấy hàng là hành động được khách hàng thực hiện để lấy hàng. Xe bán hàng tại kho hàng hoặc xe trung chuyển phải sử dụng loại SCHEDULED_STOP.
DELIVERY Nhiệm vụ giao hàng là hành động được thực hiện để giao hàng cho khách hàng cuối. Các chuyến trả xe tại kho hàng hoặc trung chuyển tuyến phải sử dụng loại SCHEDULED_STOP.
SCHEDULED_STOP Việc cần làm dừng theo lịch sẽ được dùng để lập kế hoạch. Ví dụ: đó có thể thể hiện việc nhận hoặc trả hàng từ các xe trung chuyển hoặc kho chứa. Bạn không nên sử dụng thuộc tính này cho bất kỳ lô hàng nào được khách hàng cuối đến lấy hoặc gửi đi.
UNAVAILABLE Một việc cần làm có nghĩa là Xe không thể hoạt động. Ví dụ: tình trạng này có thể xảy ra khi người lái xe nghỉ giải lao hoặc khi xe đang được tiếp nhiên liệu.

TaskOutcomeLocationSource

Thông tin nhận dạng của nguồn đã điền taskOutcomeLocation.

Enum
TASK_OUTCOME_LOCATION_SOURCE_UNSPECIFIED Kết quả của tác vụ trước khi đặt.
PROVIDER Ứng dụng do ứng dụng cung cấp chỉ định taskOutcomeLocation.
LAST_VEHICLE_LOCATION Nhà cung cấp chưa chỉ định taskOutcomeLocation, vì vậy, Fleet Engine đã sử dụng thông tin vị trí xác định gần đây nhất của xe.

JourneySharingInfo

Các trường cụ thể của tính năng Chia sẻ hành trình.

Biểu diễn dưới dạng JSON
{
  "remainingVehicleJourneySegments": [
    {
      object (VehicleJourneySegment)
    }
  ],
  "lastLocation": {
    object (DeliveryVehicleLocation)
  },
  "lastLocationSnappable": boolean
}
Trường
remainingVehicleJourneySegments[]

object (VehicleJourneySegment)

Theo dõi thông tin về các điểm dừng mà xe được chỉ định sẽ dừng trước khi hoàn thành Nhiệm vụ này. Xin lưu ý rằng danh sách này có thể chứa các điểm dừng của các tác vụ khác.

Đoạn đường đầu tiên, Task.journey_sharing_info.remaining_vehicle_journey_segments[0] (gRPC) hoặc Task.journeySharingInfo.remainingVehicleJourneySegments[0] (REST), chứa thông tin về tuyến đường từ vị trí gần đây nhất của người lái xe đến VehicleStop sắp tới. Thông tin về tuyến đường hiện tại thường được lấy từ ứng dụng của người lái xe, ngoại trừ một số trường hợp được nêu trong tài liệu về DeliveryVehicle.current_route_segment. Các đoạn đường khác trong Task.journey_sharing_info.remaining_vehicle_journey_segments (gRPC) hoặc Task.journeySharingInfo.remainingVehicleJourneySegments (REST) do Fleet Engine điền sẵn. Chúng cung cấp thông tin tuyến đường giữa VehicleStops còn lại.

lastLocation

object (DeliveryVehicleLocation)

Cho biết vị trí được báo cáo gần đây nhất cho xe được chỉ định của xe.

lastLocationSnappable

boolean

Cho biết liệu Vị trí cuối cùng của xe có thể được gắn với currentRouteSegment hay không. Giá trị này là False nếu lastLocation hoặc currentRouteSegment không tồn tại. Giá trị này được Fleet Engine tính toán. Nội dung cập nhật của ứng dụng sẽ bị bỏ qua.

TaskTrackingViewConfig

Thông báo cấu hình xác định thời điểm người dùng cuối sẽ nhìn thấy một phần tử dữ liệu của một Nhiệm vụ.

Biểu diễn dưới dạng JSON
{
  "routePolylinePointsVisibility": {
    object (VisibilityOption)
  },
  "estimatedArrivalTimeVisibility": {
    object (VisibilityOption)
  },
  "estimatedTaskCompletionTimeVisibility": {
    object (VisibilityOption)
  },
  "remainingDrivingDistanceVisibility": {
    object (VisibilityOption)
  },
  "remainingStopCountVisibility": {
    object (VisibilityOption)
  },
  "vehicleLocationVisibility": {
    object (VisibilityOption)
  }
}
Trường
routePolylinePointsVisibility

object (VisibilityOption)

Trường chỉ định thời điểm các điểm nhiều đường định tuyến có thể hiển thị. Nếu bạn không chỉ định trường này, thì cấu hình chế độ hiển thị mặc định ở cấp dự án cho dữ liệu này sẽ được sử dụng.

estimatedArrivalTimeVisibility

object (VisibilityOption)

Trường chỉ định thời điểm thời gian đến dự kiến có thể hiển thị. Nếu bạn không chỉ định trường này, thì cấu hình chế độ hiển thị mặc định ở cấp dự án cho dữ liệu này sẽ được sử dụng.

estimatedTaskCompletionTimeVisibility

object (VisibilityOption)

Trường chỉ định thời điểm thời gian hoàn thành việc cần làm ước tính có thể hiển thị. Nếu bạn không chỉ định trường này, thì cấu hình chế độ hiển thị mặc định ở cấp dự án cho dữ liệu này sẽ được sử dụng.

remainingDrivingDistanceVisibility

object (VisibilityOption)

Trường chỉ định thời điểm có thể nhìn thấy quãng đường lái xe còn lại. Nếu bạn không chỉ định trường này, thì cấu hình chế độ hiển thị mặc định ở cấp dự án cho dữ liệu này sẽ được sử dụng.

remainingStopCountVisibility

object (VisibilityOption)

Trường chỉ định thời điểm có thể hiển thị số điểm dừng còn lại. Nếu bạn không chỉ định trường này, thì cấu hình chế độ hiển thị mặc định ở cấp dự án cho dữ liệu này sẽ được sử dụng.

vehicleLocationVisibility

object (VisibilityOption)

Trường chỉ định thời điểm có thể hiển thị thông tin vị trí của xe. Nếu bạn không chỉ định trường này, thì cấu hình chế độ hiển thị mặc định ở cấp dự án cho dữ liệu này sẽ được sử dụng.

VisibilityOption

Thông báo tuỳ chọn xác định thời điểm người dùng cuối sẽ nhìn thấy một phần tử dữ liệu.

Biểu diễn dưới dạng JSON
{

  // Union field visibility_option can be only one of the following:
  "remainingStopCountThreshold": integer,
  "durationUntilEstimatedArrivalTimeThreshold": string,
  "remainingDrivingDistanceMetersThreshold": integer,
  "always": boolean,
  "never": boolean
  // End of list of possible types for union field visibility_option.
}
Trường
Trường hợp visibility_option. Chế độ hiển thị cụ thể đã chọn. visibility_option chỉ có thể là một trong những trạng thái sau:
remainingStopCountThreshold

integer

Người dùng cuối có thể thấy phần tử dữ liệu này nếu số điểm dừng còn lại <= StillStopCountThreshold.

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

Người dùng cuối sẽ nhìn thấy phần tử dữ liệu này nếu thời gian đến dự kiến cho điểm dừng <==whenOnceEstimatedDestinationTimeThreshold.

Thời lượng tính bằng giây với tối đa 9 chữ số thập phân, kết thúc bằng "s". Ví dụ: "3.5s".

remainingDrivingDistanceMetersThreshold

integer

Người dùng cuối sẽ nhìn thấy phần tử dữ liệu này nếu quãng đường lái xe còn lại tính bằng mét <= setDistanceMetersThreshold.

always

boolean

Nếu bạn đặt chính sách này thành true, thì người dùng cuối sẽ luôn nhìn thấy phần tử dữ liệu này mà không có ngưỡng nào được áp dụng. Không thể đặt trường này thành false.

never

boolean

Nếu bạn đặt chính sách này thành true, thì phần tử dữ liệu này sẽ luôn ẩn đối với người dùng cuối mà không có ngưỡng nào được áp dụng. Không thể đặt trường này thành false.

Phương thức

batchCreate

Tạo và trả về một loạt đối tượng Task mới.

create

Tạo và trả về một đối tượng Task mới.

get

Lấy thông tin về Task.

list

Lấy tất cả Task đáp ứng tiêu chí lọc đã chỉ định.

patch

Cập nhật dữ liệu Task.

search
(deprecated)

Không dùng nữa: Thay vào đó, hãy dùng GetTaskTrackingInfo.