Method: providers.vehicles.search

Gibt eine Liste der Fahrzeuge zurück, die den Anfrageoptionen entsprechen.

HTTP-Anfrage

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

Die URL verwendet die Syntax der gRPC-Transcodierung.

Pfadparameter

Parameter
parent

string

Erforderlich. Muss im Format providers/{provider} vorliegen. Der Anbieter muss die Projekt-ID (z. B. sample-cloud-project) des Google Cloud-Projekts sein, in dem das Dienstkonto, das diesen Aufruf ausführt, Mitglied ist.

Anfragetext

Der Anfragetext enthält Daten mit folgender Struktur:

JSON-Darstellung
{
  "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
}
Felder
header

object (RequestHeader)

Der standardmäßige Fleet Engine-Anfrageheader.

pickupPoint

object (TerminalLocation)

Erforderlich. Die Abholstelle, in deren Nähe gesucht werden soll.

dropoffPoint

object (TerminalLocation)

Der beabsichtigte Abgabeort des Kunden. Das Feld ist erforderlich, wenn tripTypes TripType.SHARED enthält.

pickupRadiusMeters

integer

Erforderlich. Hier wird der Umkreis für die Fahrzeugsuche um den Abholpunkt definiert. Es werden nur Fahrzeuge innerhalb des Suchradius zurückgegeben. Der Wert muss zwischen 400 und 10.000 Metern liegen.

count

integer

Erforderlich. Gibt die maximale Anzahl der zurückzugebenden Fahrzeuge an. Der Wert muss zwischen 1 und 50 liegen.

minimumCapacity

integer

Erforderlich. Gibt die Anzahl der Passagiere an, die für eine Fahrt berücksichtigt werden. Der Wert muss größer oder gleich 1 sein. Der Fahrer wird nicht in den Kapazitätswert einbezogen.

tripTypes[]

enum (TripType)

Erforderlich. Stellt die Art der vorgeschlagenen Fahrt dar. Muss genau einen Typ enthalten. UNKNOWN_TRIP_TYPE ist nicht zulässig. Die Suche wird auf Fahrzeuge beschränkt, die diesen Fahrttyp unterstützen.

maximumStaleness

string (Duration format)

Schränkt die Suche auf Fahrzeuge ein, die innerhalb des angegebenen Zeitraums Standortaktualisierungen an Fleet Engine gesendet haben. Die Standorte von stehenden Fahrzeugen, die ihre Standorte weiterhin senden, gelten nicht als veraltet. Wenn dieses Feld nicht festgelegt ist, verwendet der Server fünf Minuten als Standardwert.

Die Dauer in Sekunden mit bis zu neun Nachkommastellen und am Ende mit "s". Beispiel: "3.5s".

vehicleTypes[]

object (VehicleType)

Erforderlich. Die Suche wird auf Fahrzeuge mit einem der angegebenen Typen beschränkt. Es muss mindestens ein Fahrzeugtyp angegeben werden. „VehicleTypes“ mit der Kategorie UNKNOWN sind nicht zulässig.

requiredAttributes[]

object (VehicleAttribute)

Caller können komplexe logische Vorgänge mit einer beliebigen Kombination der Felder requiredAttributes, requiredOneOfAttributes und requiredOneOfAttributeSets bilden.

requiredAttributes ist eine Liste; requiredOneOfAttributes verwendet eine Nachricht, die eine Liste von Listen zulässt. In Kombination ermöglichen die beiden Felder die Zusammensetzung dieses Ausdrucks:

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

Die Suche wird auf Fahrzeuge mit den angegebenen Attributen beschränkt. Dieses Feld ist ein Konjunktions-/AND-Vorgang. Es sind maximal 50 erforderliche Attribute zulässig. Dies entspricht der maximal zulässigen Anzahl von Attributen für ein Fahrzeug.

requiredOneOfAttributes[]

object (VehicleAttributeList)

Die Suche wird auf Fahrzeuge mit mindestens einem der angegebenen Attribute in jeder VehicleAttributeList beschränkt. Innerhalb jeder Liste muss ein Fahrzeug mit mindestens einem der Attribute übereinstimmen. Dieses Feld ist eine inklusive Disjunktion/OR-Operation in jeder VehicleAttributeList und eine Konjunktion/AND-Operation für die gesamte Sammlung von VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets bietet zusätzliche Funktionen.

Ähnlich wie bei requiredOneOfAttributes wird bei requiredOneOfAttributeSets eine Nachricht verwendet, die eine Liste von Listen zulässt. So sind Ausdrücke wie dieser möglich:

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

Die Suche wird auf Fahrzeuge mit allen Attributen in einer VehicleAttributeList beschränkt. Innerhalb jeder Liste muss ein Fahrzeug mit allen Attributen übereinstimmen. Dieses Feld ist eine Konjunktion/AND-Operation in jedem VehicleAttributeList und eine inklusive Disjunktion/OR-Operation für die gesamte Sammlung von VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

Erforderlich. Gibt das gewünschte Sortierkriterium für Ergebnisse an.

includeBackToBack

boolean

Gibt an, ob Fahrzeuge mit einer einzelnen aktiven Fahrt für diese Suche infrage kommen. Dieses Feld wird nur verwendet, wenn currentTripsPresent nicht angegeben wurde. Wenn currentTripsPresent nicht angegeben ist und dieses Feld false ist, werden Fahrzeuge mit zugewiesenen Fahrten aus den Suchergebnissen ausgeschlossen. Wenn currentTripsPresent nicht angegeben ist und dieses Feld true ist, können Suchergebnisse Fahrzeuge mit einer aktiven Fahrt mit dem Status ENROUTE_TO_DROPOFF enthalten. Wenn currentTripsPresent angegeben ist, kann dieses Feld nicht auf „wahr“ gesetzt werden.

Der Standardwert ist false.

tripId

string

Gibt die Fahrt an, die mit dieser SearchVehicleRequest verknüpft ist.

currentTripsPresent

enum (CurrentTripsPresent)

Gibt an, ob Fahrzeuge mit aktiven Fahrten für diese Suche infrage kommen. Dieser muss auf einen anderen Wert als CURRENT_TRIPS_PRESENT_UNSPECIFIED festgelegt sein, wenn tripType SHARED enthält.

filter

string

Optional. Eine Filterabfrage, die bei der Suche nach Fahrzeugen angewendet werden soll. Beispiele für die Filtersyntax finden Sie unter http://aip.dev/160.

Dieses Feld soll die Felder requiredAttributes, requiredOneOfAttributes und required_one_of_attributes_sets ersetzen. Wenn hier ein nicht leerer Wert angegeben wird, müssen die folgenden Felder leer sein: requiredAttributes, requiredOneOfAttributes und required_one_of_attributes_sets.

Dieser Filter funktioniert als AND-Klausel mit anderen Einschränkungen wie minimumCapacity oder vehicleTypes.

Es werden nur Abfragen zu Fahrzeugattributen unterstützt (z. B. attributes.<key> = <value> oder attributes.<key1> = <value1> AND attributes.<key2> = <value2>). In einer Filterabfrage sind maximal 50 Einschränkungen zulässig.

Außerdem werden alle Attribute als Strings gespeichert. Daher sind nur Stringvergleiche zulässig. Damit ein Vergleich mit numerischen oder booleschen Werten möglich ist, müssen die Werte explizit in Anführungszeichen gesetzt werden, damit sie als Strings behandelt werden (z. B. attributes.<key> = "10" oder attributes.<key> = "true").

Antworttext

vehicles.search-Antwortnachricht.

Bei Erfolg enthält der Antworttext Daten mit der folgenden Struktur:

JSON-Darstellung
{
  "matches": [
    {
      object (VehicleMatch)
    }
  ]
}
Felder
matches[]

object (VehicleMatch)

Liste der Fahrzeuge, die den SearchVehiclesRequest-Kriterien entsprechen, sortiert nach dem Feld SearchVehiclesRequest.order_by.

VehicleAttributeList

Ein Listentyp für Fahrzeugattribute.

JSON-Darstellung
{
  "attributes": [
    {
      object (VehicleAttribute)
    }
  ]
}
Felder
attributes[]

object (VehicleAttribute)

Eine Liste der Attribute in dieser Sammlung.

VehicleMatchOrder

Gibt die Reihenfolge der Fahrzeugübereinstimmungen in der Antwort an.

Enums
UNKNOWN_VEHICLE_MATCH_ORDER Standardeinstellung, die für nicht angegebene oder nicht erkannte Übereinstimmungen verwendet wird.
PICKUP_POINT_ETA Aufsteigend nach der Fahrzeit des Fahrzeugs zum Abholpunkt.
PICKUP_POINT_DISTANCE Aufsteigende Reihenfolge nach Fahrstrecke des Fahrzeugs zum Abholpunkt.
DROPOFF_POINT_ETA Aufsteigend nach der Fahrzeit des Fahrzeugs zum Abholpunkt. Diese Bestellung kann nur verwendet werden, wenn der Abholpunkt in der Anfrage angegeben ist.
PICKUP_POINT_STRAIGHT_DISTANCE Aufsteigend nach der Luftlinie vom letzten gemeldeten Standort des Fahrzeugs zum Abholpunkt.
COST Aufsteigend nach den konfigurierten Abgleichskosten. Die Abgleichskosten werden als gewichtete Berechnung zwischen der Luftlinie und der geschätzten Ankunftszeit definiert. Die Gewichte werden mit Standardwerten festgelegt und können pro Kunde geändert werden. Wenden Sie sich an den Google-Support, wenn diese Gewichtungen für Ihr Projekt angepasst werden müssen.

CurrentTripsPresent

Gibt die Arten von Einschränkungen für die aktuellen Fahrten eines Fahrzeugs an.

Enums
CURRENT_TRIPS_PRESENT_UNSPECIFIED Die Verfügbarkeit von Fahrzeugen mit vorhandenen Fahrten wird durch das Feld includeBackToBack gesteuert.
NONE Fahrzeuge ohne Fahrten können in den Suchergebnissen erscheinen. Wenn dieser Wert verwendet wird, kann includeBackToBack nicht true sein.
ANY Fahrzeuge mit maximal 5 aktuellen Fahrten und 10 Wegpunkten werden in den Suchergebnissen berücksichtigt. Wenn dieser Wert verwendet wird, kann includeBackToBack nicht true sein.

VehicleMatch

Enthält das Fahrzeug und die zugehörigen Schätzungen für ein Fahrzeug, die mit den Punkten aktiver Fahrten für das Fahrzeug SearchVehiclesRequest übereinstimmen.

JSON-Darstellung
{
  "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)
}
Felder
vehicle

object (Vehicle)

Erforderlich. Ein Fahrzeug, das der Anfrage entspricht.

vehiclePickupEta

string (Timestamp format)

Die geschätzte Ankunftszeit des Fahrzeugs am in der Anfrage angegebenen Abholpunkt. Ein leerer Wert weist auf einen Fehler bei der Berechnung der geschätzten Ankunftszeit für das Fahrzeug hin. Wenn SearchVehiclesRequest.include_back_to_back = true und für dieses Fahrzeug eine Fahrt aktiv ist, enthält vehiclePickupEta die Zeit, die für die aktuelle aktive Fahrt erforderlich ist.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

vehiclePickupDistanceMeters

integer

Die Entfernung vom aktuellen Standort des Fahrzeugs zum in der Anfrage angegebenen Abholpunkt, einschließlich aller Zwischenabhol- oder -abgabestellen für bestehende Fahrten. Diese Entfernung umfasst die berechnete Fahrstrecke (Route) sowie die Entfernung in gerader Linie zwischen dem Navigationsendpunkt und dem angeforderten Abholort. Der Abstand zwischen dem Navigationsziel und dem angeforderten Abholpunkt ist in der Regel gering. Ein leerer Wert weist auf einen Fehler bei der Berechnung der Entfernung hin.

vehiclePickupStraightLineDistanceMeters

integer

Erforderlich. Die Luftlinie zwischen dem Fahrzeug und dem in der Anfrage angegebenen Abholpunkt.

vehicleDropoffEta

string (Timestamp format)

Die geschätzte Ankunftszeit des gesamten Fahrzeugs am in der Anfrage angegebenen Zielort. Die geschätzte Ankunftszeit berücksichtigt alle Haltestellen vor dem in der Anfrage angegebenen dropoffPoint. Der Wert wird nur dann ausgefüllt, wenn in der Anfrage ein Abholpunkt angegeben ist. Ein leerer Wert weist auf einen Fehler bei der Berechnung der geschätzten Ankunftszeit hin.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

vehiclePickupToDropoffDistanceMeters

integer

Die Fahrstrecke des Fahrzeugs (in Metern) vom Abhol- zum in der Anfrage angegebenen Zielort. Die Entfernung bezieht sich nur auf die beiden Punkte und schließt den Standort des Fahrzeugs oder andere Punkte nicht ein, die angefahren werden müssen, bevor das Fahrzeug den Abhol- oder Abgabeort anfährt. Der Wert wird nur ausgefüllt, wenn in der Anfrage ein dropoffPoint angegeben ist. Ein leerer Wert weist auf einen Fehler bei der Berechnung der Entfernung vom Abhol- zum Bringort hin, der in der Anfrage angegeben ist.

tripType

enum (TripType)

Erforderlich. Der Fahrttyp der Anfrage, der zur Berechnung der geschätzten Ankunftszeit am Abholpunkt verwendet wurde.

vehicleTripsWaypoints[]

object (Waypoint)

Die sortierte Liste der Wegpunkte, die zur Berechnung der geschätzten Ankunftszeit verwendet wird. Die Liste enthält den Fahrzeugstandort, die Abholorte aktiver Fahrten für das Fahrzeug und die in der Anfrage angegebenen Abholorte. Eine leere Liste weist auf einen Fehler bei der Berechnung der geschätzten Ankunftszeit für das Fahrzeug hin.

vehicleMatchType

enum (VehicleMatchType)

Art der Fahrzeugübereinstimmung.

requestedOrderedBy

enum (VehicleMatchOrder)

Die Reihenfolge, in der Fahrzeugübereinstimmungen sortiert werden sollen. Gleichbedeutend mit orderedBy.

orderedBy

enum (VehicleMatchOrder)

Die Reihenfolge, in der Fahrzeugübereinstimmungen sortiert werden sollen. Gleichbedeutend mit requestedOrderedBy.

Zwischenstopp

Beschreibt Zwischenpunkte entlang einer Route für eine VehicleMatch in einer SearchVehiclesResponse. Dieses Konzept wird in allen anderen Endpunkten als TripWaypoint dargestellt.

JSON-Darstellung
{
  "latLng": {
    object (LatLng)
  },
  "eta": string
}
Felder
latLng

object (LatLng)

Der Standort dieses Wegpunkts.

eta

string (Timestamp format)

Die geschätzte Zeit, zu der das Fahrzeug an diesem Wegpunkt ankommt.

Ein Zeitstempel im Format RFC3339 UTC "Zulu" mit einer Auflösung im Nanosekundenbereich und bis zu neun Nachkommastellen. Beispiele: "2014-10-02T15:01:23Z" und "2014-10-02T15:01:23.045123456Z".

VehicleMatchType

Art der Fahrzeugübereinstimmung.

Enums
UNKNOWN Unbekannter Fahrzeugabgleichstyp
EXCLUSIVE Dem Fahrzeug ist derzeit keine Fahrt zugewiesen und es kann zum Abholpunkt fahren.
BACK_TO_BACK Das Fahrzeug ist derzeit einer Fahrt zugewiesen, kann aber nach Abschluss der laufenden Fahrt zum Abholpunkt fahren. Bei der Berechnung der geschätzten Ankunftszeit und der Entfernung wird die aktuelle Fahrt berücksichtigt.
CARPOOL Das Fahrzeug bietet ausreichend Platz für eine Fahrt mit mehreren Personen.
CARPOOL_BACK_TO_BACK Das Fahrzeug beendet seine aktuelle Fahrt, bevor es zum Abholpunkt fährt. Bei der Berechnung der geschätzten Ankunftszeit und der Entfernung wird die aktuelle Fahrt berücksichtigt.