REST Resource: providers.deliveryVehicles

Recurso: DeliveryVehicle

El mensaje DeliveryVehicle. Un vehículo de entrega transporta envíos de un depósito a una ubicación de entrega y de una ubicación de retiro al depósito. En algunos casos, los vehículos de entrega también transportan envíos directamente desde la ubicación de partida hasta la de destino.

Nota: Las APIs de gRPC y REST usan convenciones de nombres de campo diferentes. Por ejemplo, el campo DeliveryVehicle.current_route_segment en la API de gRPC y el campo DeliveryVehicle.currentRouteSegment en la API de REST hacen referencia al mismo campo.

Representación JSON
{
  "name": string,
  "lastLocation": {
    object (DeliveryVehicleLocation)
  },
  "pastLocations": [
    {
      object (DeliveryVehicleLocation)
    }
  ],
  "navigationStatus": enum (DeliveryVehicleNavigationStatus),
  "currentRouteSegment": string,
  "currentRouteSegmentEndPoint": {
    object (LatLng)
  },
  "remainingDistanceMeters": integer,
  "remainingDuration": string,
  "remainingVehicleJourneySegments": [
    {
      object (VehicleJourneySegment)
    }
  ],
  "attributes": [
    {
      object (DeliveryVehicleAttribute)
    }
  ],
  "type": enum (DeliveryVehicleType)
}
Campos
name

string

Es el nombre único de este vehículo de entrega. El formato es providers/{provider}/deliveryVehicles/{vehicle}.

lastLocation

object (DeliveryVehicleLocation)

Es la última ubicación informada del vehículo de entrega.

pastLocations[]

object (DeliveryVehicleLocation)

Solo entrada. Son las ubicaciones en las que estuvo este vehículo de reparto en el pasado y que aún no se informaron al motor de flota. Se usa en UpdateDeliveryVehicleRequest para registrar ubicaciones que antes no se podían enviar al servidor. Por lo general, esto sucede cuando el vehículo de entrega no tiene conexión a Internet.

navigationStatus

enum (DeliveryVehicleNavigationStatus)

Es el estado de navegación del vehículo de entrega.

currentRouteSegment

string (bytes format)

Es la polilínea codificada que especifica la ruta que la navegación recomienda tomar hasta el siguiente punto de referencia. La app del conductor actualiza esta información cuando se llega a una parada o se pasa por ella, y cuando la navegación cambia de ruta. Estos LatLng se muestran en Task.journey_sharing_info.remaining_vehicle_journey_segments[0].path (gRPC) o Task.journeySharingInfo.remainingVehicleJourneySegments[0].path (REST) para todas las tareas activas asignadas al vehículo.

Hay algunos casos en los que es posible que este campo no se use para propagar Task.journey_sharing_info.remaining_vehicle_journey_segments[0].path (gRPC) o Task.journeySharingInfo.remainingVehicleJourneySegments[0].path (REST):

  • El extremo de currentRouteSegment no coincide con DeliveryVehicle.remaining_vehicle_journey_segments[0].stop (gRPC) ni DeliveryVehicle.remainingVehicleJourneySegments[0].stop (REST).

  • La app del conductor no actualizó su ubicación recientemente, por lo que el valor actualizado más reciente de este campo podría estar desactualizado.

  • La app del conductor actualizó su ubicación recientemente, pero el currentRouteSegment está inactivo y apunta a una parada anterior del vehículo.

En estos casos, Fleet Engine completa este campo con una ruta desde la VehicleStop más reciente hasta la próxima VehicleStop para garantizar que el consumidor de este campo tenga la mejor información disponible sobre la ruta actual del vehículo de entrega.

String codificada en base64.

currentRouteSegmentEndPoint

object (LatLng)

Es la ubicación donde termina el currentRouteSegment. Actualmente, la app del conductor no propaga este valor, pero puedes proporcionarlo en las llamadas a deliveryVehicles.patch. Es el LatLng de la próxima parada del vehículo o el último LatLng del currentRouteSegment. Luego, Fleet Engine hará todo lo posible para interpolar a un VehicleStop real.

Este campo se ignora en las llamadas a deliveryVehicles.patch si el campo currentRouteSegment está vacío.

remainingDistanceMeters

integer

Es la distancia de conducción restante para el currentRouteSegment. Por lo general, la app de Driver proporciona este campo, pero hay algunas circunstancias en las que Fleet Engine anula el valor que envía la app. Para obtener más información, consulta DeliveryVehicle.current_route_segment. Este campo se muestra en Task.remaining_vehicle_journey_segments[0].driving_distance_meters (gRPC) o Task.remainingVehicleJourneySegments[0].drivingDistanceMeters (REST) para todos los Task activos asignados al vehículo de entrega.

Fleet Engine ignora este campo en UpdateDeliveryVehicleRequest si el campo currentRouteSegment está vacío.

remainingDuration

string (Duration format)

Es el tiempo de conducción restante para el currentRouteSegment. Por lo general, la app de Driver proporciona este campo, pero hay algunas circunstancias en las que Fleet Engine anula el valor que envía la app. Para obtener más información, consulta DeliveryVehicle.current_route_segment. Este campo se muestra en Task.remaining_vehicle_journey_segments[0].driving_duration (gRPC) o Task.remainingVehicleJourneySegments[0].drivingDuration (REST) para todas las tareas activas asignadas al vehículo de publicación.

Fleet Engine ignora este campo en UpdateDeliveryVehicleRequest si el campo currentRouteSegment está vacío.

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

remainingVehicleJourneySegments[]

object (VehicleJourneySegment)

Los segmentos de viaje asignados a este vehículo de entrega, a partir de la ubicación informada más reciente del vehículo Este campo no se propagará en la respuesta de deliveryVehicles.list.

attributes[]

object (DeliveryVehicleAttribute)

Es una lista de atributos personalizados de vehículos de entrega. Un vehículo de reparto puede tener un máximo de 100 atributos, y cada uno debe tener una clave única.

type

enum (DeliveryVehicleType)

Es el tipo de vehículo de entrega. Si no se establece, el valor predeterminado es AUTO.

DeliveryVehicleNavigationStatus

Es el estado de navegación del vehículo.

Enumeraciones
UNKNOWN_NAVIGATION_STATUS Estado de navegación sin especificar.
NO_GUIDANCE La navegación de la app para conductores está en modo FREE_NAV.
ENROUTE_TO_DESTINATION La navegación paso a paso está disponible y la navegación de la app para conductores entró en el modo GUIDED_NAV.
OFF_ROUTE El vehículo salió de la ruta sugerida.
ARRIVED_AT_DESTINATION El vehículo se encuentra a unos 50 m del destino.

DeliveryVehicleAttribute

Describe un atributo del vehículo como un par clave-valor. La longitud de la cadena "clave:valor" no puede superar los 256 caracteres.

Representación JSON
{
  "key": string,
  "value": string,

  // Union field delivery_vehicle_attribute_value can be only one of the
  // following:
  "stringValue": string,
  "boolValue": boolean,
  "numberValue": number
  // End of list of possible types for union field
  // delivery_vehicle_attribute_value.
}
Campos
key

string

Es la clave del atributo.

value

string

Es el valor del atributo.

Campo de unión delivery_vehicle_attribute_value. El valor del atributo puede ser de tipo cadena, booleano o doble. Las direcciones (delivery_vehicle_attribute_value) solo pueden ser una de las siguientes opciones:
stringValue

string

Valor del atributo escrito como cadena.

Nota: Es idéntico al campo value, que eventualmente dejará de estar disponible. Para los métodos de creación o actualización, se puede usar cualquiera de los campos, pero se recomienda usar stringValue. Si se configuran stringValue y value, deben ser idénticos o se arrojará un error. Ambos campos se propagan en las respuestas.

boolValue

boolean

Valor de atributo escrito en formato booleano.

numberValue

number

Valor de atributo escrito dos veces.

DeliveryVehicleType

Es el tipo de vehículo de entrega.

Enumeraciones
DELIVERY_VEHICLE_TYPE_UNSPECIFIED El valor no se usa.
AUTO Un automóvil.
TWO_WHEELER Una motocicleta, un ciclomotor o cualquier otro vehículo de dos ruedas
BICYCLE Transporte manual.
PEDESTRIAN Un medio de transporte humano, por lo general, a pie o corriendo, que se desplaza por senderos peatonales.

Métodos

create

Crea y muestra un DeliveryVehicle nuevo.

delete

Borra un DeliveryVehicle de Fleet Engine.

get

Muestra la instancia DeliveryVehicle especificada.

list

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

patch

Escribe datos de DeliveryVehicle actualizados en Fleet Engine y asigna Tasks a DeliveryVehicle.