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 es miembro 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 cerca del cual se debe realizar la búsqueda

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 los 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. El conductor no se considera 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 una categoría de 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 conjunto, 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/Y. 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 solo 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 inclusiva de disyunción/O en cada VehicleAttributeList y una operación de conjunción/Y en toda la colección de VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets proporciona funcionalidad adicional.

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 solo a los vehículos con todos los atributos de un VehicleAttributeList. Dentro de cada lista, un vehículo debe coincidir con todos los atributos. Este campo es una operación de conjunción/AND en cada VehicleAttributeList y una operación de disyunción/OR inclusiva en toda 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, los vehículos con viajes asignados se excluyen de los resultados de la búsqueda. 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 tiene 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 en un valor que no sea CURRENT_TRIPS_PRESENT_UNSPECIFIED si tripType incluye SHARED.

filter

string

Opcional. Es una consulta de filtro que se aplica cuando se buscan 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 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 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 comparaciones de cadenas. Con el fin de compararlos 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)

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

VehicleAttributeList

Es un tipo de datos de lista de listas para los atributos de los vehículos.

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

object (VehicleAttribute)

Es una lista de los atributos de 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 entrega. Este orden solo se puede usar si se especifica el punto de entrega 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. Los pesos se establecen con valores predeterminados y se pueden modificar por cliente. Comunícate con Atención al cliente de Google si necesitas modificar estos pesos para tu proyecto.

CurrentTripsPresent

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

Enumeraciones
CURRENT_TRIPS_PRESENT_UNSPECIFIED La disponibilidad de los 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 En los resultados de la búsqueda, se incluyen los vehículos con un máximo de 5 viajes actuales y 10 puntos de referencia. Cuando se usa este valor, includeBackToBack no puede ser true.

VehicleMatch

Contiene el vehículo y las estimaciones relacionadas con un vehículo que coinciden con los puntos de los 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)

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 entre la ubicación actual del vehículo y el punto de partida especificado en la solicitud, incluidos los puntos de partida o destino intermedios de 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. (La distancia entre el punto de destino de la 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. 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. La hora de llegada estimada incluye las paradas en cualquier punto de referencia antes del dropoffPoint especificado en la solicitud. El valor solo se propagará cuando se especifique un punto de entrega 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

Es la distancia de conducción (en metros) del vehículo desde el punto de partida hasta el punto de destino especificado en la solicitud. La distancia es solo 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 el vehículo visite el punto de partida o el 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 del punto de partida al punto de destino 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)

Es la lista ordenada de puntos de referencia que se usa para calcular la hora de llegada estimada. La lista incluye la ubicación del vehículo, los puntos de partida de los viajes activos del vehículo y los puntos de partida proporcionados en la solicitud. Una lista vacía indica que se produjo 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)

Es el orden solicitado para ordenar las coincidencias de vehículos.

orderedBy

enum (VehicleMatchOrder)

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

Punto de referencia

Describe los puntos intermedios a lo largo de una ruta para un VehicleMatch en un SearchVehiclesResponse. Este concepto se representa como un 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)

Es 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

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 dirigirse al punto de partida.
BACK_TO_BACK Actualmente, el vehículo está asignado a un viaje, pero puede dirigirse 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 un viaje compartido.
CARPOOL_BACK_TO_BACK El vehículo terminará su viaje activo actual antes de dirigirse al punto de partida. Los cálculos de la hora de llegada y la distancia tienen en cuenta el viaje existente.