Method: providers.vehicles.search

Muestra una lista de vehículos que coinciden con las opciones de solicitud.

Solicitud HTTP

POST https://fleetengine.googleapis.com/v1/{parent=providers/*}/vehicles:search

La URL usa la sintaxis de la transcodificación gRPC.

Parámetros de ruta de acceso

Parámetros
parent

string

Obligatorio. Debe tener el formato providers/{provider}. El proveedor debe ser el ID del proyecto (por ejemplo, sample-cloud-project) del proyecto de Google Cloud del que pertenece la cuenta de servicio que realiza esta llamada.

Cuerpo de la solicitud

El cuerpo de la solicitud contiene datos con la siguiente estructura:

Representación JSON
{
  "header": {
    object (RequestHeader)
  },
  "pickupPoint": {
    object (TerminalLocation)
  },
  "dropoffPoint": {
    object (TerminalLocation)
  },
  "pickupRadiusMeters": integer,
  "count": integer,
  "minimumCapacity": integer,
  "tripTypes": [
    enum (TripType)
  ],
  "maximumStaleness": string,
  "vehicleTypes": [
    {
      object (VehicleType)
    }
  ],
  "requiredAttributes": [
    {
      object (VehicleAttribute)
    }
  ],
  "requiredOneOfAttributes": [
    {
      object (VehicleAttributeList)
    }
  ],
  "requiredOneOfAttributeSets": [
    {
      object (VehicleAttributeList)
    }
  ],
  "orderBy": enum (VehicleMatchOrder),
  "includeBackToBack": boolean,
  "tripId": string,
  "currentTripsPresent": enum (CurrentTripsPresent),
  "filter": string
}
Campos
header

object (RequestHeader)

El encabezado de solicitud estándar de Fleet Engine.

pickupPoint

object (TerminalLocation)

Obligatorio. El punto de partida para buscar.

dropoffPoint

object (TerminalLocation)

El lugar de destino previsto del cliente. El campo es obligatorio si tripTypes contiene TripType.SHARED.

pickupRadiusMeters

integer

Obligatorio. Define el radio de búsqueda del vehículo alrededor del punto de partida. Solo se mostrarán vehículos dentro del radio de búsqueda. El valor debe estar entre 400 y 10,000 metros (inclusive).

count

integer

Obligatorio. Especifica la cantidad máxima de vehículos que se devolverán. El valor debe ser de 1 a 50 (inclusive).

minimumCapacity

integer

Obligatorio. Especifica la cantidad de pasajeros que se consideran para un viaje. El valor debe ser mayor o igual que uno. No se considera al controlador en el valor de capacidad.

tripTypes[]

enum (TripType)

Obligatorio. Representa el tipo de viaje propuesto. Debe incluir exactamente un tipo. No se permite UNKNOWN_TRIP_TYPE. Restringe la búsqueda a los vehículos que admiten ese tipo de viaje.

maximumStaleness

string (Duration format)

Restringe la búsqueda solo a aquellos vehículos que enviaron actualizaciones de ubicación a Fleet Engine dentro del período de duración especificado. Los vehículos estacionarios que aún transmiten sus ubicaciones no se consideran inactivos. Si no se establece este campo, el servidor usa cinco minutos como valor predeterminado.

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

vehicleTypes[]

object (VehicleType)

Obligatorio. Restringe la búsqueda a vehículos con uno de los tipos especificados. Se debe especificar al menos un tipo de vehículo. No se permiten VehicleTypes con la categoría UNKNOWN.

requiredAttributes[]

object (VehicleAttribute)

Los emisores pueden realizar operaciones lógicas complejas con cualquier combinación de los campos requiredAttributes, requiredOneOfAttributes y requiredOneOfAttributeSets.

requiredAttributes es una lista. requiredOneOfAttributes usa un mensaje que permite crear una lista de listas. En combinación, los dos campos permiten la composición de esta expresión:

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(requiredOneOfAttributes[0][0] OR requiredOneOfAttributes[0][1] OR
...)
AND
(requiredOneOfAttributes[1][0] OR requiredOneOfAttributes[1][1] OR
...)

Restringe la búsqueda a los vehículos con los atributos especificados. Este campo es una conjunción/operación AND. Se permite un máximo de 50 requiredAttributes. Esto coincide con la cantidad máxima de atributos permitidos en un vehículo.

requiredOneOfAttributes[]

object (VehicleAttributeList)

Restringe la búsqueda únicamente a los vehículos con al menos uno de los atributos especificados en cada VehicleAttributeList. En cada lista, un vehículo debe coincidir con al menos uno de los atributos. Este campo es una operación OR inclusiva en cada VehicleAttributeList y una operación AND en toda la colección de VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets proporciona funciones adicionales.

De manera similar a requiredOneOfAttributes, requiredOneOfAttributeSets usa un mensaje que permite una lista de listas y expresiones como esta:

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(
  (requiredOneOfAttributeSets[0][0] AND
  requiredOneOfAttributeSets[0][1] AND
  ...)
  OR
  (requiredOneOfAttributeSets[1][0] AND
  requiredOneOfAttributeSets[1][1] AND
  ...)
)

Restringe la búsqueda a los vehículos con todos los atributos en un VehicleAttributeList. En cada lista, un vehículo debe coincidir con todos los atributos. Este campo es una conjunción/una operación AND en cada VehicleAttributeList y una operación de disyunción/O inclusiva en la colección de VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

Obligatorio. Especifica el criterio de orden deseado para los resultados.

includeBackToBack

boolean

Indica si los vehículos con un solo viaje activo son aptos para esta búsqueda. Este campo solo se usa cuando no se especifica currentTripsPresent. Si no se especifica currentTripsPresent y este campo es false, los vehículos con viajes asignados se excluyen de los resultados de la búsqueda. Si no se especifica currentTripsPresent y el campo tiene el valor true, los resultados de la búsqueda pueden incluir vehículos con un viaje activo que tenga el estado ENROUTE_TO_DROPOFF. Cuando se especifica currentTripsPresent, este campo no se puede establecer como verdadero.

El valor predeterminado es false.

tripId

string

Indica el viaje asociado con este SearchVehicleRequest.

currentTripsPresent

enum (CurrentTripsPresent)

Indica si los vehículos con viajes activos son aptos para esta búsqueda. Se debe establecer un valor distinto de CURRENT_TRIPS_PRESENT_UNSPECIFIED si tripType incluye SHARED.

filter

string

Opcional. Una búsqueda de filtro para aplicar cuando se buscan vehículos. Consulta http://aip.dev/160 para ver ejemplos de la sintaxis del filtro.

Este campo se diseñó para reemplazar los campos requiredAttributes, requiredOneOfAttributes y required_one_of_attributes_sets. Si se especifica aquí un valor que no esté vacío, los siguientes campos deben estar vacíos: requiredAttributes, requiredOneOfAttributes y required_one_of_attributes_sets.

Este filtro funciona como una cláusula AND con otras restricciones, como minimumCapacity o vehicleTypes.

Ten en cuenta que las únicas consultas admitidas son sobre atributos de vehículos (por ejemplo, attributes.<key> = <value> o attributes.<key1> = <value1> AND attributes.<key2> = <value2>). La cantidad máxima de restricciones permitida en una consulta de filtro es de 50.

Además, todos los atributos se almacenan como cadenas, por lo que las únicas comparaciones admitidas para los atributos son las comparaciones de cadenas. Para comparar con valores numéricos o booleanos, los valores se deben entrecomillar de forma explícita para que se los trate como strings (por ejemplo, attributes.<key> = "10" o attributes.<key> = "true").

Cuerpo de la respuesta

Mensaje de respuesta vehicles.search.

Si se ejecuta correctamente, el cuerpo de la respuesta contendrá datos con la siguiente estructura:

Representación JSON
{
  "matches": [
    {
      object (VehicleMatch)
    }
  ]
}
Campos
matches[]

object (VehicleMatch)

Lista de vehículos que coinciden con los criterios SearchVehiclesRequest, ordenados según el campo SearchVehiclesRequest.order_by.

VehicleAttributeList

Un tipo de datos de lista de listas para los atributos del vehículo.

Representación JSON
{
  "attributes": [
    {
      object (VehicleAttribute)
    }
  ]
}
Campos
attributes[]

object (VehicleAttribute)

Una lista de atributos en esta colección.

VehicleMatchOrder

Especifica el orden de las coincidencias del vehículo en la respuesta.

Enumeraciones
UNKNOWN_VEHICLE_MATCH_ORDER Es el valor predeterminado. Se usa para el orden de coincidencias de vehículos no especificado o no reconocido.
PICKUP_POINT_ETA Orden ascendente por tiempo de conducción del vehículo hasta el punto de partida.
PICKUP_POINT_DISTANCE Orden ascendente por la distancia en automóvil del vehículo hasta el punto de partida.
DROPOFF_POINT_ETA Orden ascendente por tiempo de conducción del vehículo hasta el punto de llegada. Este pedido solo se puede usar si se especifica el punto de destino en la solicitud.
PICKUP_POINT_STRAIGHT_DISTANCE Orden ascendente por distancia en línea recta desde la última ubicación informada del vehículo hasta el punto de partida.
COST Orden ascendente por el costo de coincidencia configurado. El costo de coincidencia se define como un cálculo ponderado entre la distancia en línea recta y la hora de llegada estimada. Las ponderaciones se establecen con los valores predeterminados y se pueden modificar por cliente. Comunícate con Atención al cliente de Google si necesitas modificar estas ponderaciones en tu proyecto.

CurrentTripsPresent

Especifica los tipos de restricciones en los viajes actuales de un vehículo.

Enumeraciones
CURRENT_TRIPS_PRESENT_UNSPECIFIED La disponibilidad de vehículos con viajes presentes se rige por el campo includeBackToBack.
NONE Los vehículos sin viajes pueden aparecer en los resultados de la búsqueda. Cuando se usa este valor, includeBackToBack no puede ser true.
ANY Los vehículos con un máximo de 5 viajes actuales y 10 puntos de referencia se incluyen en los resultados de la búsqueda. Cuando se usa este valor, includeBackToBack no puede ser true.

VehicleMatch

Contiene el vehículo y las estimaciones relacionadas para un vehículo que coinciden con los puntos de viajes activos del vehículo SearchVehiclesRequest.

Representación JSON
{
  "vehicle": {
    object (Vehicle)
  },
  "vehiclePickupEta": string,
  "vehiclePickupDistanceMeters": integer,
  "vehiclePickupStraightLineDistanceMeters": integer,
  "vehicleDropoffEta": string,
  "vehiclePickupToDropoffDistanceMeters": integer,
  "tripType": enum (TripType),
  "vehicleTripsWaypoints": [
    {
      object (Waypoint)
    }
  ],
  "vehicleMatchType": enum (VehicleMatchType),
  "requestedOrderedBy": enum (VehicleMatchOrder),
  "orderedBy": enum (VehicleMatchOrder)
}
Campos
vehicle

object (Vehicle)

Obligatorio. Un vehículo que coincide con la solicitud.

vehiclePickupEta

string (Timestamp format)

La hora de llegada estimada del vehículo al punto de partida especificado en la solicitud Un valor vacío indica un error en el cálculo de la hora de llegada estimada del vehículo. Si SearchVehiclesRequest.include_back_to_back era true y este vehículo tiene un viaje activo, vehiclePickupEta incluye el tiempo necesario para completar el viaje activo actual.

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

vehiclePickupDistanceMeters

integer

Es la distancia desde la ubicación actual del Vehículo hasta el punto de partida especificado en la solicitud, incluidos los puntos de partida o destino intermedios para los viajes existentes. Esta distancia comprende la distancia calculada en automóvil (ruta) más la distancia en línea recta entre el punto de destino de la navegación y el punto de partida solicitado. (Por lo general, la distancia entre el extremo de navegación y el punto de partida solicitado es pequeño). Un valor vacío indica un error en el cálculo de la distancia.

vehiclePickupStraightLineDistanceMeters

integer

Obligatorio. Es la distancia en línea recta entre el vehículo y el punto de partida especificado en la solicitud.

vehicleDropoffEta

string (Timestamp format)

La hora de llegada estimada completa del vehículo al punto de llegada especificado en la solicitud. El ETA incluye paradas en cualquier punto de referencia antes del dropoffPoint especificado en la solicitud. El valor solo se propagará cuando se especifique un punto de llegada en la solicitud. Un valor vacío indica un error al calcular la hora de llegada estimada.

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

vehiclePickupToDropoffDistanceMeters

integer

La distancia en automóvil (en metros) del vehículo desde el punto de partida hasta el punto de llegada especificado en la solicitud. La distancia solo es entre los dos puntos y no incluye la ubicación del vehículo ni ningún otro punto que deba visitarse antes de que el vehículo visite el punto de partida o de destino. El valor solo se propagará cuando se especifique un dropoffPoint en la solicitud. Un valor vacío indica un error en el cálculo de la distancia desde el punto de partida hasta el punto de llegada especificado en la solicitud.

tripType

enum (TripType)

Obligatorio. Es el tipo de viaje de la solicitud que se usó para calcular la hora de llegada estimada al punto de partida.

vehicleTripsWaypoints[]

object (Waypoint)

La lista ordenada de puntos de referencia utilizados para calcular la hora de llegada estimada. La lista incluye la ubicación del vehículo, los puntos de retiro de los viajes activos para el vehículo y los puntos de partida proporcionados en la solicitud. Una lista vacía indica un error en el cálculo de la hora de llegada estimada del vehículo.

vehicleMatchType

enum (VehicleMatchType)

Tipo de coincidencia del vehículo.

requestedOrderedBy

enum (VehicleMatchOrder)

El orden solicitado para clasificar coincidencias de vehículos.

orderedBy

enum (VehicleMatchOrder)

El pedido real que se usó para este vehículo. Normalmente, coincidirá con el parámetro 'orderBy' de la solicitud. Sin embargo, en determinadas circunstancias, como un error interno del servidor, se puede usar un método diferente (como PICKUP_POINT_STRAIGHT_DISTANCE).

Punto de referencia

Describe los puntos intermedios de una ruta para un VehicleMatch en un SearchVehiclesResponse. Este concepto se representa como una TripWaypoint en todos los demás extremos.

Representación JSON
{
  "latLng": {
    object (LatLng)
  },
  "eta": string
}
Campos
latLng

object (LatLng)

Es la ubicación de este punto de referencia.

eta

string (Timestamp format)

La hora estimada a la que el vehículo llegará al punto de referencia.

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

VehicleMatchType

Coincidencia con el tipo de vehículo.

Enumeraciones
UNKNOWN Tipo de coincidencia de vehículo desconocido
EXCLUSIVE Actualmente, el vehículo no tiene ningún viaje asignado y puede continuar al punto de partida.
BACK_TO_BACK Actualmente, el vehículo está asignado a un viaje, pero puede continuar al punto de partida después de completar el viaje en curso. Los cálculos de la hora de llegada y la distancia tienen en cuenta el viaje existente.
CARPOOL El vehículo tiene capacidad suficiente para realizar un viaje compartido.
CARPOOL_BACK_TO_BACK El vehículo finalizará su viaje actual y activo antes de continuar al punto de partida. Los cálculos de la hora de llegada y la distancia tienen en cuenta el viaje existente.