REST Resource: providers.tasks

Recurso: Tarea

En la API de Delivery, una tarea representa una sola acción a la que le puedes hacer un seguimiento. En general, hay una distinción entre las tareas relacionadas con el envío y las tareas de desglose. Un envío puede tener varias tareas asociadas. Por ejemplo, podría haber una tarea para el punto de partida y otra para el destino o el transbordo. Además, vehículos diferentes pueden manejar las distintas Tasks para un envío determinado. Por ejemplo, un vehículo podría encargarse del retiro y conducir el envío al centro, mientras que otro vehículo realiza el mismo envío desde el centro hasta la ubicación de llegada.

Nota: Las APIs de REST y gRPC usan diferentes convenciones de nombres de campos. 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 Task. Por ejemplo, una pausa o un envío.

state

enum (State)

Obligatorio. El estado actual de la ejecución de la Task.

taskOutcome

enum (TaskOutcome)

El resultado de la Task.

taskOutcomeTime

string (Timestamp format)

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

Una marca de tiempo en formato RFC3339 UTC “Zulú”, con 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)

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 de forma explícita este valor, Fleet Engine lo propaga de forma predeterminada con la ubicación más reciente del vehículo (la ubicación sin).

taskOutcomeLocationSource

enum (TaskOutcomeLocationSource)

Indica de dónde provino el valor de taskOutcomeLocation.

trackingId

string

Inmutable. Este campo facilita el almacenamiento de un ID para que no tengas que 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 string Unicode válida.
  • Tiene una longitud máxima de 64 caracteres.
  • Se normalizó según el Formulario de normalización C de Unicode.
  • No puede contener ninguno de los siguientes caracteres ASCII: “/”, “:”, “?”, “,” o '#'.
deliveryVehicleId

string

Solo salida. 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 string Unicode válida.
  • Tiene una longitud máxima de 64 caracteres.
  • Se normalizó según el Formulario de normalización C de Unicode.
  • No puede contener ninguno de los siguientes caracteres ASCII: “/”, “:”, “?”, “,” o '#'.
plannedLocation

object (LocationInfo)

Inmutable. Es la ubicación en la que se completará la tarea. Opcional para las tareas de UNAVAILABLE, pero es obligatorio para todas las demás tareas.

taskDuration

string (Duration format)

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

Una duración en segundos con hasta nueve dígitos decimales que terminen 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 del recorrido compartido. 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)

Una lista de atributos personalizados de Tasks. Cada atributo debe tener una clave única.

Tipo

Es el tipo de Task.

Enumeradores
TYPE_UNSPECIFIED De forma predeterminada, se desconoce el tipo de tarea.
PICKUP Una tarea de retiro es la acción que se realiza para recoger un envío de un cliente. Las recogidas de vehículos desde plataformas o alimentadores 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. Los destinos de vehículos todoterreno o depósito deben usar el tipo SCHEDULED_STOP.
SCHEDULED_STOP Una Task de parada programada se utiliza con fines de planificación. Por ejemplo, podría representar la recogida o devolución de envíos de vehículos o depósitos de alimentación. No debe usarse para envíos que recoge o deja un cliente final.
UNAVAILABLE Una Tarea que significa que el Vehículo no está disponible para su mantenimiento. Por ejemplo, esto puede ocurrir cuando el conductor se toma un descanso o cuando se está recargando el combustible del vehículo.

TaskOutcomeLocationSource

La identidad de la fuente que propagó el taskOutcomeLocation.

Enumeradores
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.

JourneySharingInfo

Recorrido que comparte campos específicos

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

object (VehicleJourneySegment)

Información de seguimiento para las paradas que realizará 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 ruta desde la última ubicación conocida del conductor hasta el próximo VehicleStop. Por lo general, la información de ruta actual proviene 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 ubicación más reciente que se informó 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 lastLocation o currentRouteSegment no existen. Fleet Engine calcula este valor. Se ignoran las actualizaciones de los clientes.

TaskTrackingViewConfig

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

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 se pueden ver los puntos de polilínea de la ruta. Si no se especifica este campo, se usará la configuración de visibilidad predeterminada a nivel de proyecto para estos datos.

estimatedArrivalTimeVisibility

object (VisibilityOption)

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

estimatedTaskCompletionTimeVisibility

object (VisibilityOption)

Campo que especifica cuándo se puede visualizar 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 de proyecto para estos datos.

remainingDrivingDistanceVisibility

object (VisibilityOption)

Puede verse el campo que especifica el momento en que se puede recorrer el área restante en automóvil. Si no se especifica este campo, se usará la configuración de visibilidad predeterminada a nivel de proyecto para estos datos.

remainingStopCountVisibility

object (VisibilityOption)

El campo que especifica cuándo puede estar visible el recuento de paradas restante. Si no se especifica este campo, se usará la configuración de visibilidad predeterminada a nivel de 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 de 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 elegida. Las direcciones (visibility_option) solo pueden ser una de las siguientes opciones:
remainingStopCountThreshold

integer

Este elemento de datos es visible para los usuarios finales si el recuento de paradas restante es igual a <= distribucionesStopCountThreshold.

durationUntilEstimatedArrivalTimeThreshold

string (Duration format)

Este elemento de datos es 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 terminen en "s". Ejemplo: "3.5s".

remainingDrivingDistanceMetersThreshold

integer

Este elemento de datos es visible para los usuarios finales si la distancia de conducción restante en metros es inferior o igual a la cantidad de metros que recibimos.

always

boolean

Si se configura como true, este elemento de datos siempre es visible para los usuarios finales sin umbrales. Este campo no se puede establecer como falso.

never

boolean

Si se configura como true, 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.

search
(deprecated)

Obsoleto: usa GetTaskTrackingInfo en su lugar.