REST Resource: providers.tasks

Tài nguyên: Việc cần làm

Tác vụ trong API phân phối biểu thị một hành động cần theo dõi. Nhìn chung, có sự khác biệt giữa Tác vụ liên quan đến lô hàng và Tác vụ nghỉ giải lao. Một lô hàng có thể liên kết với nhiều Tác vụ. Ví dụ: có thể có một Tác vụ cho việc nhận hàng và một Tác vụ cho việc giao hàng hoặc chuyển hàng. Ngoài ra, các Nhiệm vụ khác nhau cho một lô hàng nhất định có thể được xử lý bằng các phương tiện khác nhau. Ví dụ: Một phương tiện có thể xử lý việc đến lấy hàng, đưa hàng đến trung tâm giao hàng, trong khi một phương tiện khác cũng vận chuyển lô hàng đó từ trung tâm đến điểm trả hàng.

Lưu ý: API gRPC và REST sử dụng các 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ụ: một lần nghỉ hoặc một lô 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 Tác vụ.

taskOutcomeTime

string (Timestamp format)

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

Dấu thời gian ở định dạng "Zulu" RFC3339 UTC, có độ phân giải nano giây và tối đa 9 chữ số thập phân. 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ì Fleet Engine sẽ điền giá trị này bằng vị trí xe đã biết gần đây nhất theo mặc định (vị trí thô).

taskOutcomeLocationSource

enum (TaskOutcomeLocationSource)

Cho biết nguồn gốc của giá trị của taskOutcomeLocation.

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 mối liên kết phức tạp. Bạn không thể đặt trackingId cho các Việc cần làm 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 Dạng 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 thi Tác vụ này. Mã xe giao hàng 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 Dạng 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í nơi Nhiệm vụ sẽ được hoàn thành. Không bắt buộc đối với Tác vụ UNAVAILABLE, nhưng bắt buộc đối với tất cả các Tác vụ khác.

taskDuration

string (Duration format)

Bắt buộc. Bất biến. Thời gian cần thiết để thực thi một Tác vụ tại vị trí này.

Thời lượng tính bằng giây, có 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 cần hoàn thành tác vụ.

journeySharingInfo

object (JourneySharingInfo)

Chỉ có đầu ra. Các trường dành riêng cho tính năng 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 theo dõi tác vụ chỉ định những phần tử dữ liệu mà người dùng cuối có thể nhìn thấy trong những trường hợp nào.

attributes[]

object (TaskAttribute)

Danh sách các thuộc tính tuỳ chỉnh của Tác vụ. Mỗi thuộc tính phải có một khoá riêng biệt.

Loại

Loại công việc.

Enum
TYPE_UNSPECIFIED Mặc định, loại Tác vụ là không xác định.
PICKUP Công việc lấy hàng là hành động được thực hiện để lấy hàng của khách hàng. Bạn nên sử dụng loại SCHEDULED_STOP cho các điểm lấy hàng tại kho hoặc xe trung chuyển.
DELIVERY Tác vụ giao hàng là hành động được thực hiện để giao một lô hàng cho khách hàng cuối. Giao xe đưa đón ra ga hàng hoá hoặc trung chuyển nên sử dụng loại SCHEDULED_STOP.
SCHEDULED_STOP Nhiệm vụ có điểm dừng đã lên lịch được dùng cho mục đích lập kế hoạch. Ví dụ: điểm này có thể biểu thị việc lấy hàng hoặc trả hàng từ các xe trung chuyển hoặc kho. Không được sử dụng mã này cho bất kỳ gói hàng nào do khách hàng cuối đến lấy hoặc giao.
UNAVAILABLE Một Tác vụ có nghĩa là Xe không thể được bảo dưỡng. Ví dụ: điều này có thể xảy ra khi người lái xe nghỉ ngơi hoặc khi xe đang được đổ xăng.

TaskOutcomeLocationSource

Giá trị nhận dạng của nguồn đã điền sẵn taskOutcomeLocation.

Enum
TASK_OUTCOME_LOCATION_SOURCE_UNSPECIFIED Kết quả của việc cần làm trước khi được đặt.
PROVIDER Nhà cung cấp đã chỉ định taskOutcomeLocation.
LAST_VEHICLE_LOCATION Nhà cung cấp không chỉ định taskOutcomeLocation, vì vậy, Công cụ quản lý đội xe đã sử dụng vị trí xe gần đây nhất được biết.

JourneySharingInfo

Các trường cụ thể về 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)

Thông tin theo dõi 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 điểm dừng từ các tác vụ khác.

Phân đoạn đầ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 tuyến đường từ vị trí đã biết gần đây nhất của người lái xe đến VehicleStop sắp tới. Thông tin tuyến đường hiện tại thường đến từ ứng dụng trình điều khiển, ngoại trừ một số trường hợp được ghi chú trong tài liệu về DeliveryVehicle.current_route_segment. Các phân khúc khác trong Task.journey_sharing_info.remaining_vehicle_journey_segments (gRPC) hoặc Task.journeySharingInfo.remainingVehicleJourneySegments (REST) được điền sẵn bằng Công cụ của đội xe. Các lớp này 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 của xe được chỉ định.

lastLocationSnappable

boolean

Cho biết liệu lastLocation của xe có thể được bám vào 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 do Công cụ của đội xe 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 nhìn thấy một phần tử dữ liệu của một Tác 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 của đường đa tuyến của tuyến đường 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 có thể hiển thị thời gian đến dự kiến. 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 có thể hiển thị thời gian hoàn thành công việc ước tính. 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ể hiển thị 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ố lượng đ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ị 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 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 kết hợp visibility_option. Chế độ hiển thị cụ thể được chọn. visibility_option chỉ có thể là một trong những giá trị 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 <= remainingStopCountThreshold.

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 ETA đến điểm dừng <= durationUntilEstimatedArrivalTimeThreshold.

Thời lượng tính bằng giây, có 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 có thể 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 <= preventdistanceMetersThreshold.

always

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 hiển thị cho người dùng cuối mà không bị đặt ngưỡ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 đặt ngưỡ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.