REST Resource: providers.tasks

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

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 Nhiệm vụ liên quan đến quá trình vận chuyển và Nhiệm vụ ngắt quãng. Một gói hàng có thể liên kết với nhiều Tasks. Ví dụ: Có thể có một Việc cần làm cho việc đến lấy hàng và một việc cần làm để trả khách hoặc chuyển xe. Ngoài ra, các Tasks khác nhau trong một lô hàng nhất định có thể do các loại xe khác nhau xử lý. 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. Bất biến. Xác định loại Tác vụ. Ví dụ như 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 nhà cung cấp đặt kết quả của Task.

Dấu thời gian theo múi giờ "Zulu" RFC3339 (giờ UTC) với độ phân giải nano giây và lên đến 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ì 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

Bất biến. Trường này hỗ trợ việc lưu trữ giấy tờ tuỳ thân để bạn có thể tránh sử dụng một mối liên kết phức tạp. Bạn không thể đặt trackingId cho Tasks thuộc loại UNAVAILABLESCHEDULED_STOP. Các 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 hóa theo Biểu mẫu chuẩn hóa 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ã nhận dạng 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 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 hóa theo Biểu mẫu chuẩn hóa Unicode C.
  • Không được chứa bất kỳ ký tự ASCII nào sau đây: '/', ':', '?', ',' hoặc '#'.
plannedLocation

object (LocationInfo)

Bất biến. Vị trí nơi Nhiệm vụ sẽ được hoàn thành. Không bắt buộc đối với UNAVAILABLE Tasks, 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. Bất biến. 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ố phân số, kết thúc bằng "s". Ví dụ: "3.5s".

targetTimeWindow

object (TimeWindow)

Khoảng thời gian hoàn thành tác vụ.

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 nào sẽ hiển thị cho người dùng cuối trong 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á duy nhất.

Loại

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

Enum
TYPE_UNSPECIFIED Mặc định, loại Tác vụ là không xác định.
PICKUP Nhiệm vụ đến lấy hàng là một hành động để khách hàng đến lấy hàng. Dịch vụ lấy 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 đến khách hàng cuối. Các yêu cầu để xe ra vào kho hàng 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ụ: hành động chuyển đổi có thể thể hiện việc nhận hoặc bỏ hàng từ các xe trung chuyển hoặc kho hàng. 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 Nhiệm vụ có nghĩa là Xe không hoạt động để bảo dưỡ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 đổ xăng.

TaskOutcomeLocationSource

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

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

JourneySharingInfo

Hành trình chia sẻ các trường cụ thể.

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.

Đ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 về tuyến đường hiện tại thường được lấy từ ứng dụng trình điều khiển, ngoại trừ một số trường hợp được nêu trong tài liệu cho 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 Fleet Engine. 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 không tồn tại lastLocation hoặc currentRouteSegment. Giá trị này được tính toán bằng Fleet Engine. 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 hiển thị một phần tử dữ liệu của Tác vụ đối với người dùng cuối.

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ó thể nhìn thấy các điểm nhiều đường. 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 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 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 số lần dừng còn lại 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.

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 về lựa chọn xác định thời điểm hiển thị một phần tử dữ liệu cho người dùng cuối.

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 trạng thái sau đây:
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 <={0/}StopCountThreshold.

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

Người dùng cuối có thể thấy phần tử dữ liệu này nếu thời gian đến dự kiến đến khi hết thời gian <= thời gian đến giá trị cũng được ước tính.

Thời lượng tính bằng giây với tối đa 9 chữ số phân số, 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 của Task.