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 forma parte 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 la solicitud estándar de Fleet Engine.

pickupPoint

object (TerminalLocation)

Obligatorio. El punto de partida para buscar cerca.

dropoffPoint

object (TerminalLocation)

La ubicación de destino prevista 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 los vehículos que estén dentro del radio de búsqueda. El valor debe ser de entre 400 y 10,000 metros (inclusive).

count

integer

Obligatorio. Especifica la cantidad máxima de vehículos que se devolverá. El valor debe estar entre 1 y 50 (inclusive).

minimumCapacity

integer

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

tripTypes[]

enum (TripType)

Obligatorio. Representa el tipo de viaje propuesto. Se 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 los vehículos que enviaron actualizaciones de ubicación a Fleet Engine dentro de la duración especificada. Los vehículos fijos que 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 terminen 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 los tipos de vehículos con la categoría UNKNOWN.

requiredAttributes[]

object (VehicleAttribute)

Los llamadores pueden formar 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 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 solo a los vehículos con los atributos especificados. Este campo es una operación de conjunción/AND. Se permite un máximo de 50 requiredAttributes. Corresponde a la cantidad máxima de atributos permitidos en un vehículo.

requiredOneOfAttributes[]

object (VehicleAttributeList)

Restringe la búsqueda solo a los vehículos con al menos uno de los atributos especificados en cada VehicleAttributeList. Dentro de cada lista, un vehículo debe coincidir con al menos uno de los atributos. Este campo es una operación de disyunción/O inclusiva en cada VehicleAttributeList y una operación de conjunción/Y en la colección de VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets proporciona funciones adicionales.

Al igual que requiredOneOfAttributes, requiredOneOfAttributeSets usa un mensaje que habilita una lista de listas y permite expresiones como la siguiente:

(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 solo a los vehículos con todos los atributos en una VehicleAttributeList. Dentro de cada lista, un vehículo debe coincidir con todos los atributos. Este campo es una operación de conjunción/Y 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 ordenamiento 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, se excluirán de los resultados de la búsqueda los vehículos con viajes asignados. Cuando no se especifica currentTripsPresent y este campo es 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 configurar en un valor distinto de CURRENT_TRIPS_PRESENT_UNSPECIFIED si tripType incluye SHARED.

filter

string

Opcional. Una consulta de filtro que se aplicará cuando se busquen vehículos. Consulta http://aip.dev/160 para ver ejemplos de la sintaxis del filtro.

Este campo está diseñado 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 quedar en blanco: 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 búsquedas 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 búsqueda de filtro es de 50.

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

Cuerpo de la respuesta

vehicles.search mensaje de respuesta.

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 de SearchVehiclesRequest, ordenados según el campo SearchVehiclesRequest.order_by.

VehicleAttributeList

Una lista de tipos de datos para los atributos del vehículo.

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

object (VehicleAttribute)

Una lista de atributos de esta colección.

VehicleMatchOrder

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

Enumeradores
UNKNOWN_VEHICLE_MATCH_ORDER Predeterminado: se usa para el pedido 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 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 destino. 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 lineal y el ETA. Las ponderaciones se establecen con valores predeterminados y se pueden modificar por cliente. Comunícate con Atención al cliente de Google si es necesario modificar estas ponderaciones para tu proyecto.

CurrentTripsPresent

Especifica los tipos de restricciones que se aplican a los viajes actuales de un vehículo.

Enumeradores
CURRENT_TRIPS_PRESENT_UNSPECIFIED La disponibilidad de vehículos con viajes está regida 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 En los resultados de la búsqueda, se incluyen vehículos con un máximo de 5 viajes y 10 puntos de referencia. 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 coincida con la solicitud

vehiclePickupEta

string (Timestamp format)

Es la hora de llegada estimada del vehículo hasta el punto de partida especificado en la solicitud. Un valor vacío indica que no se pudo calcular 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 intermedios de partida o llegada para los viajes existentes. Esta distancia incluye la distancia calculada de conducción (ruta), más la distancia en línea recta entre el punto de destino de la navegación y el punto de partida solicitado. (La distancia entre el extremo de navegación y el punto de partida solicitado suele ser pequeña). Un valor vacío indica un error en el cálculo de la distancia.

vehiclePickupStraightLineDistanceMeters

integer

Obligatorio. La distancia lineal entre el vehículo y el punto de partida especificado en la solicitud.

vehicleDropoffEta

string (Timestamp format)

Es la hora de llegada estimada del vehículo completo hasta el punto de llegada especificado en la solicitud. La hora de llegada estimada incluye la parada en cualquier punto de referencia antes del dropoffPoint especificado en la solicitud. El valor solo se completará cuando se especifique un punto de destino en la solicitud. Un valor vacío indica que se produjo 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 del vehículo (en metros) desde el punto de partida hasta el punto de llegada especificado en la solicitud. La distancia solo se establece entre los dos puntos y no incluye la ubicación del vehículo ni ningún otro punto que se deba visitar antes de que este 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 que no se pudo calcular 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 utilizó 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 y los puntos de retiro proporcionados en la solicitud. Si la lista está vacía, significa que no se pudo calcular la hora de llegada estimada del vehículo.

vehicleMatchType

enum (VehicleMatchType)

Tipo de coincidencia de vehículo.

requestedOrderedBy

enum (VehicleMatchOrder)

El pedido solicitado para ordenar las coincidencias de vehículos.

orderedBy

enum (VehicleMatchOrder)

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

Waypoint

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)

La ubicación de este punto de referencia.

eta

string (Timestamp format)

La hora estimada a la que el vehículo llegará a este 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

Tipo de coincidencia de vehículo.

Enumeradores
UNKNOWN Tipo de concordancia de vehículo desconocido
EXCLUSIVE Actualmente, el vehículo no tiene ningún viaje asignado y puede dirigirse al punto de partida.
BACK_TO_BACK Actualmente, el vehículo está asignado a un viaje, pero puede continuar hasta el punto de partida después de completar el viaje en curso. Los cálculos de la hora de llegada estimada 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 dirigirse al punto de partida. Los cálculos de la hora de llegada estimada y la distancia tienen en cuenta el viaje existente.