REST Resource: providers.tasks

Recurso: Tarea

En la API de Delivery, una tarea representa una sola acción para realizar un seguimiento. En general, hay una distinción entre las tareas relacionadas con el envío y las tareas de división. Un envío puede tener varias tareas asociadas. Por ejemplo, puede haber una tarea para el retiro y otra para la entrega o transferencia. Además, diferentes vehículos pueden controlar diferentes tareas para un envío determinado. Por ejemplo, un vehículo podría encargarse de la recolección y conducir el envío al centro de distribución, mientras que otro vehículo conduce el mismo envío del centro de distribución a la ubicación de entrega.

Nota: gRPC y las APIs de REST usan convenciones de nomenclatura de campo diferentes. Por ejemplo, el campo Task.journey_sharing_info en la API de gRPC y el campo Task.journeySharingInfo en la API de REST hacen referencia al mismo campo.

Representación 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)
    }
  ]
}
Campos
name

string

Debe tener el formato providers/{provider}/tasks/{task}.

type

enum (Type)

Obligatorio. Inmutable. Define el tipo de tarea. Por ejemplo, una pausa o un envío.

state

enum (State)

Obligatorio. Es el estado de ejecución actual de la tarea.

taskOutcome

enum (TaskOutcome)

El resultado de la tarea.

taskOutcomeTime

string (Timestamp format)

Es la marca de tiempo que indica cuándo el proveedor estableció el resultado de Task.

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con una resolución de nanosegundos y hasta nueve dígitos fraccionarios. Ejemplos: "2014-10-02T15:01:23Z" y "2014-10-02T15:01:23.045123456Z".

taskOutcomeLocation

object (LocationInfo)

Es la ubicación en la que se estableció el resultado de Task. Este valor se actualiza como parte de tasks.patch. Si el proveedor no actualiza este valor de forma explícita, Fleet Engine lo propaga de forma predeterminada con la última ubicación conocida del vehículo (la ubicación sin procesar).

taskOutcomeLocationSource

enum (TaskOutcomeLocationSource)

Indica de dónde proviene el valor de taskOutcomeLocation.

trackingId

string

Inmutable. Este campo facilita el almacenamiento de un ID para que puedas evitar usar una asignación complicada. No puedes configurar trackingId para tareas de tipo UNAVAILABLE y SCHEDULED_STOP. Estos IDs están sujetos a las siguientes restricciones:

  • Debe ser una cadena Unicode válida.
  • Tiene una longitud máxima de 64 caracteres.
  • Se normalizó según el Formato de normalización C de Unicode.
  • No puede contener ninguno de los siguientes caracteres ASCII: '/', ':', '?', ',' o '#'.
deliveryVehicleId

string

Solo salida. Es el ID del vehículo que ejecuta esta tarea. Los IDs de vehículos de entrega están sujetos a las siguientes restricciones:

  • Debe ser una cadena Unicode válida.
  • Tiene una longitud máxima de 64 caracteres.
  • Se normalizó según el Formato de normalización C de Unicode.
  • No puede contener ninguno de los siguientes caracteres ASCII: “/”, “:”, “?”, “,” o “'#'”.
plannedLocation

object (LocationInfo)

Inmutable. La ubicación donde se completará la Tarea. Opcional para las tareas de UNAVAILABLE, pero obligatorio para todas las demás tareas.

taskDuration

string (Duration format)

Obligatorio. Inmutable. El tiempo necesario para ejecutar una tarea en esta ubicación.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

targetTimeWindow

object (TimeWindow)

Es el período durante el cual se debe completar la tarea.

journeySharingInfo

object (JourneySharingInfo)

Solo salida. Campos específicos para compartir viajes No se propaga cuando el estado es CLOSED.

taskTrackingViewConfig

object (TaskTrackingViewConfig)

Es la configuración del seguimiento de tareas que especifica qué elementos de datos son visibles para los usuarios finales y en qué circunstancias.

attributes[]

object (TaskAttribute)

Es una lista de atributos de tareas personalizados. Cada atributo debe tener una clave única.

Tipo

Es el tipo de tarea.

Enumeraciones
TYPE_UNSPECIFIED De forma predeterminada, el tipo de tarea es desconocido.
PICKUP Una tarea de retiro es la acción que se realiza para retirar un envío de un cliente. Los puntos de partida de los vehículos de depósito o alimentador deben usar el tipo SCHEDULED_STOP.
DELIVERY Una tarea de entrega es la acción que se realiza para entregar un envío a un cliente final. Las bajadas de vehículos de depósito o alimentador deben usar el tipo SCHEDULED_STOP.
SCHEDULED_STOP Una tarea de parada programada se usa con fines de planificación. Por ejemplo, podría representar la recolección o entrega de envíos desde vehículos alimentadores o depósitos. No se debe usar para ningún envío que se retire o entregue a un cliente final.
UNAVAILABLE Una tarea que significa que el vehículo no está disponible para el servicio. Por ejemplo, esto puede suceder cuando el conductor se toma un descanso o cuando el vehículo se está repostando.

TaskOutcomeLocationSource

La identidad de la fuente que propagó el taskOutcomeLocation.

Enumeraciones
TASK_OUTCOME_LOCATION_SOURCE_UNSPECIFIED El resultado de la tarea antes de que se establezca.
PROVIDER El proveedor especificó el taskOutcomeLocation.
LAST_VEHICLE_LOCATION El proveedor no especificó el taskOutcomeLocation, por lo que Fleet Engine usó la ubicación más reciente del vehículo conocida.

JourneySharingInfo

Campos específicos para compartir viajes

Representación JSON
{
  "remainingVehicleJourneySegments": [
    {
      object (VehicleJourneySegment)
    }
  ],
  "lastLocation": {
    object (DeliveryVehicleLocation)
  },
  "lastLocationSnappable": boolean
}
Campos
remainingVehicleJourneySegments[]

object (VehicleJourneySegment)

Información de seguimiento de las paradas que hará el vehículo asignado antes de completar esta tarea. Ten en cuenta que esta lista puede contener paradas de otras tareas.

El primer segmento, Task.journey_sharing_info.remaining_vehicle_journey_segments[0] (gRPC) o Task.journeySharingInfo.remainingVehicleJourneySegments[0] (REST), contiene información de la ruta desde la última ubicación conocida del conductor hasta la próxima VehicleStop. La información de la ruta actual suele provenir de la app del conductor, excepto en algunos casos que se indican en la documentación de DeliveryVehicle.current_route_segment. Fleet Engine propaga los otros segmentos en Task.journey_sharing_info.remaining_vehicle_journey_segments (gRPC) o Task.journeySharingInfo.remainingVehicleJourneySegments (REST). Proporcionan información de ruta entre los VehicleStops restantes.

lastLocation

object (DeliveryVehicleLocation)

Indica la última ubicación informada del vehículo asignado.

lastLocationSnappable

boolean

Indica si la última ubicación del vehículo se puede ajustar a currentRouteSegment. Este valor es falso si no existen lastLocation o currentRouteSegment. Fleet Engine calcula este valor. Se ignoran las actualizaciones de los clientes.

TaskTrackingViewConfig

Es el mensaje de configuración que define cuándo los usuarios finales deben ver un elemento de datos de una tarea.

Representación JSON
{
  "routePolylinePointsVisibility": {
    object (VisibilityOption)
  },
  "estimatedArrivalTimeVisibility": {
    object (VisibilityOption)
  },
  "estimatedTaskCompletionTimeVisibility": {
    object (VisibilityOption)
  },
  "remainingDrivingDistanceVisibility": {
    object (VisibilityOption)
  },
  "remainingStopCountVisibility": {
    object (VisibilityOption)
  },
  "vehicleLocationVisibility": {
    object (VisibilityOption)
  }
}
Campos
routePolylinePointsVisibility

object (VisibilityOption)

Es el campo que especifica cuándo pueden ser visibles los puntos de la polilínea de la ruta. Si no se especifica este campo, se usará la configuración de visibilidad predeterminada a nivel del proyecto para estos datos.

estimatedArrivalTimeVisibility

object (VisibilityOption)

Es el campo que especifica cuándo se puede ver la hora de llegada estimada. Si no se especifica este campo, se usará la configuración de visibilidad predeterminada a nivel del proyecto para estos datos.

estimatedTaskCompletionTimeVisibility

object (VisibilityOption)

Es el campo que especifica cuándo se puede ver el tiempo estimado de finalización de la tarea. Si no se especifica este campo, se usará la configuración de visibilidad predeterminada a nivel del proyecto para estos datos.

remainingDrivingDistanceVisibility

object (VisibilityOption)

El campo que especifica cuándo se puede ver la distancia de conducción restante. Si no se especifica este campo, se usará la configuración de visibilidad predeterminada a nivel del proyecto para estos datos.

remainingStopCountVisibility

object (VisibilityOption)

Es el campo que especifica cuándo se puede ver el recuento de paradas restantes. Si no se especifica este campo, se usará la configuración de visibilidad predeterminada a nivel del proyecto para estos datos.

vehicleLocationVisibility

object (VisibilityOption)

Es el campo que especifica cuándo puede ser visible la ubicación del vehículo. Si no se especifica este campo, se usará la configuración de visibilidad predeterminada a nivel del proyecto para estos datos.

VisibilityOption

Es el mensaje de opción que define cuándo un elemento de datos debe ser visible para los usuarios finales.

Representación 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.
}
Campos
Campo de unión visibility_option. La opción de visibilidad específica que se eligió Las direcciones (visibility_option) solo pueden ser una de las siguientes opciones:
remainingStopCountThreshold

integer

Los usuarios finales pueden ver este elemento de datos si el recuento de paradas restantes <= remainingStopCountThreshold.

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

Este elemento de datos será visible para los usuarios finales si la hora de llegada estimada a la parada es <= durationUntilEstimatedArrivalTimeThreshold.

Una duración en segundos con hasta nueve dígitos decimales, que terminan en “s”. Ejemplo: "3.5s".

remainingDrivingDistanceMetersThreshold

integer

Los usuarios finales pueden ver este elemento de datos si la distancia de conducción restante en metros <= remainingDrivingDistanceMetersThreshold.

always

boolean

Si se establece como verdadero, los usuarios finales siempre podrán ver este elemento de datos sin umbrales. Este campo no se puede establecer como falso.

never

boolean

Si se configura como verdadero, este elemento de datos siempre está oculto para los usuarios finales sin umbrales. Este campo no se puede establecer como falso.

Métodos

batchCreate

Crea y muestra un lote de objetos Task nuevos.

create

Crea y muestra un objeto Task nuevo.

get

Obtiene información sobre un Task.

list

Obtiene todos los Task que cumplen con los criterios de filtrado especificados.

patch

Actualiza los datos de Task.