REST Resource: providers.tasks

资源:任务

Delivery API 中的任务表示要跟踪的单个操作。一般来说,与运单相关的任务和中断任务是有区别的。一个运单可以有多个与之关联的任务。例如,可以有一个针对上车点的任务,以及一个针对下车点或中转站的任务。此外,给定货物的不同任务可以由不同的车辆处理。例如,一辆车可以负责处理取货,将货物送往枢纽,而另一辆车则会将同一货物从交通枢纽驱动到下车点。

注意:gRPC 和 REST API 使用不同的字段命名惯例。例如,gRPC API 中的 Task.journey_sharing_info 字段和 REST API 中的 Task.journeySharingInfo 字段指的是同一个字段。

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)
    }
  ]
}
字段
name

string

必须采用 providers/{provider}/tasks/{task} 格式。

type

enum (Type)

必需。不可变。定义任务的类型。例如,中断期或运单。

state

enum (State)

必需。Task 的当前执行状态。

taskOutcome

enum (TaskOutcome)

任务的结果。

taskOutcomeTime

string (Timestamp format)

指明提供程序设置 Task 结果的时间的时间戳。

采用 RFC3339 世界协调时间 (UTC)(即“祖鲁时”)格式的时间戳,采用纳秒级精度,最多包含九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

taskOutcomeLocation

object (LocationInfo)

设置 Task 结果的位置。此值作为 tasks.patch 的一部分进行更新。如果提供程序未明确更新此值,Fleet Engine 会默认使用最近一次的已知车辆位置(原始位置)填充此值。

taskOutcomeLocationSource

enum (TaskOutcomeLocationSource)

指示 taskOutcomeLocation 的值的来源。

trackingId

string

不可变。此字段便于 ID 的存储,让您可以避免使用复杂的映射。您无法为 UNAVAILABLESCHEDULED_STOP 类型的 Tasks 设置 trackingId。这些 ID 受到以下限制:

  • 必须是有效的 Unicode 字符串。
  • 长度上限为 64 个字符。
  • 根据 Unicode 标准化形式 C 进行了标准化处理。
  • 不得包含以下任何 ASCII 字符:“/”、“:”、“?”、“,”或“#”。
deliveryVehicleId

string

仅供输出。执行此 Task 的车辆的 ID。送货车辆 ID 受到以下限制:

  • 必须是有效的 Unicode 字符串。
  • 长度上限为 64 个字符。
  • 根据 Unicode 标准化形式 C 进行了标准化处理。
  • 不得包含以下任何 ASCII 字符:“/”、“:”、“?”、“,”或“#”。
plannedLocation

object (LocationInfo)

不可变。完成任务的位置。UNAVAILABLE 任务的可选参数,但所有其他任务的必需操作。

taskDuration

string (Duration format)

必需。不可变。在此位置执行任务所需的时间。

此时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

targetTimeWindow

object (TimeWindow)

应完成任务的时间范围。

journeySharingInfo

object (JourneySharingInfo)

仅供输出。行程共享专用字段。当状态为 CLOSED 时未填充。

taskTrackingViewConfig

object (TaskTrackingViewConfig)

任务跟踪的配置,用于指定在什么情况下最终用户可以看到哪些数据元素。

attributes[]

object (TaskAttribute)

自定义 Task 属性列表。每个属性必须具有唯一的键。

类型

Task 的类型。

枚举
TYPE_UNSPECIFIED 默认情况下,任务类型未知。
PICKUP 提货任务是指从客户那里提货的操作。仓库或供给车辆取车点应使用 SCHEDULED_STOP 类型。
DELIVERY 交付任务是为最终客户交付货物而执行的操作。仓库或供给车辆下车点应使用 SCHEDULED_STOP 类型。
SCHEDULED_STOP 计划停止任务用于规划目的。例如,它可能表示从供给车辆或仓库中提货。它不应用于最终客户取货或送出的任何货物。
UNAVAILABLE 表示车辆无法维修的任务。例如,当驾驶员休息或给车辆加油时可能会发生这种情况。

TaskOutcomeLocationSource

填充了 taskOutcomeLocation 的来源的身份。

枚举
TASK_OUTCOME_LOCATION_SOURCE_UNSPECIFIED 设置之前的任务结果。
PROVIDER 提供方指定的 taskOutcomeLocation
LAST_VEHICLE_LOCATION 提供程序未指定 taskOutcomeLocation,因此 Fleet Engine 使用最近一次的已知车辆位置。

JourneySharingInfo

分享特定字段的历程。

JSON 表示法
{
  "remainingVehicleJourneySegments": [
    {
      object (VehicleJourneySegment)
    }
  ],
  "lastLocation": {
    object (DeliveryVehicleLocation)
  },
  "lastLocationSnappable": boolean
}
字段
remainingVehicleJourneySegments[]

object (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 之间的路线信息。

lastLocation

object (DeliveryVehicleLocation)

指明上次报告所分配车辆的位置。

lastLocationSnappable

boolean

指示车辆的 lastLocation 能否与 currentRouteSegment 对应。如果 lastLocationcurrentRouteSegment 不存在,则此值为 False。此值由 Fleet Engine 计算。系统会忽略客户端的更新。

TaskTrackingViewConfig

用于定义何时应向最终用户显示 Task 数据元素的配置消息。

JSON 表示法
{
  "routePolylinePointsVisibility": {
    object (VisibilityOption)
  },
  "estimatedArrivalTimeVisibility": {
    object (VisibilityOption)
  },
  "estimatedTaskCompletionTimeVisibility": {
    object (VisibilityOption)
  },
  "remainingDrivingDistanceVisibility": {
    object (VisibilityOption)
  },
  "remainingStopCountVisibility": {
    object (VisibilityOption)
  },
  "vehicleLocationVisibility": {
    object (VisibilityOption)
  }
}
字段
routePolylinePointsVisibility

object (VisibilityOption)

用于指定路线多段线点何时可显示的字段。如果未指定此字段,则将使用此数据的项目级默认可见性配置。

estimatedArrivalTimeVisibility

object (VisibilityOption)

用于指定何时可显示预计到达时间的字段。如果未指定此字段,则将使用此数据的项目级默认可见性配置。

estimatedTaskCompletionTimeVisibility

object (VisibilityOption)

用于指定何时可显示预计任务完成时间的字段。如果未指定此字段,则将使用此数据的项目级默认可见性配置。

remainingDrivingDistanceVisibility

object (VisibilityOption)

用于指定剩余行车距离何时可见的字段。如果未指定此字段,则将使用此数据的项目级默认可见性配置。

remainingStopCountVisibility

object (VisibilityOption)

用于指定剩余停车点何时可见的字段。如果未指定此字段,则将使用此数据的项目级默认可见性配置。

vehicleLocationVisibility

object (VisibilityOption)

用于指定何时可显示车辆位置信息的字段。如果未指定此字段,则将使用此数据的项目级默认可见性配置。

VisibilityOption

用于定义何时应向最终用户显示数据元素的选项消息。

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.
}
字段
联合字段 visibility_option。所选的特定公开范围选项。visibility_option 只能是下列其中一项:
remainingStopCountThreshold

integer

如果剩余停靠站数 <= remainingStopCountThreshold 时,该数据元素将向最终用户显示。

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

如果相应经停点的预计到达时间 <= durationUntilEstimatedArrivalTimeThreshold,则最终用户可以看到此数据元素。

此时长以秒为单位,最多包含九个小数位,以“s”结尾。示例:"3.5s"

remainingDrivingDistanceMetersThreshold

integer

如果剩余行车距离(以米为单位)<= remainingDrivingDistanceMetersThreshold,则此数据元素对最终用户可见。

always

boolean

如果设置为 true,则此数据元素始终对最终用户可见,且没有阈值。此字段不能设为 false。

never

boolean

如果设置为 true,系统会始终对最终用户隐藏此数据元素,并且未设置阈值。此字段不能设为 false。

方法

batchCreate

创建并返回一批新的 Task 对象。

create

创建并返回一个新的 Task 对象。

get

获取有关 Task 的信息。

list

获取满足指定过滤条件的所有 Task

patch

更新 Task 数据。

search
(deprecated)

已废弃:请改用 GetTaskTrackingInfo