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 das Format providers/{provider} haben. 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 (einschließlich) 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 Treiber wird im Kapazitätswert nicht berücksichtigt.

tripTypes[]

enum (TripType)

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

maximumStaleness

string (Duration format)

Schränkt die Suche auf Fahrzeuge ein, die innerhalb des angegebenen Zeitraums Standortaktualisierungen an Fleet Engine gesendet haben. Stehende Fahrzeuge, die noch ihren Standort übermitteln, 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. Beschränkt die Suche auf Fahrzeuge mit einem der angegebenen Typen. Es muss mindestens ein Fahrzeugtyp angegeben werden. Fahrzeugtypen 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
...)

Beschränkt die Suche auf Fahrzeuge mit den angegebenen Attributen. Dieses Feld ist eine Konjunktion/AND-Operation. Es sind maximal 50 erforderliche Attribute zulässig. Dies entspricht der maximal für ein Fahrzeug zulässigen Anzahl von Attributen.

requiredOneOfAttributes[]

object (VehicleAttributeList)

Die Suche wird auf Fahrzeuge mit mindestens einem der angegebenen Attribute in jeder VehicleAttributeList beschränkt. In 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
  ...)
)

Beschränkt die Suche auf die Fahrzeuge mit allen Attributen in einem VehicleAttributeList. In jeder Liste muss ein Fahrzeug mit allen Attributen übereinstimmen. Dieses Feld ist eine Konjunktion/AND-Operation in jeder VehicleAttributeList- und inklusiven Disjunktions-/ODER-Operation innerhalb der Sammlung von VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

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

includeBackToBack

boolean

Gibt an, ob Fahrzeuge mit einer einzigen 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 den Wert true hat, können die 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 fungiert 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, sodass nur Stringvergleiche für Attribute unterstützt werden. 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 die SearchVehiclesRequest-Kriterien erfüllen, sortiert nach dem Feld SearchVehiclesRequest.order_by.

VehicleAttributeList

Ein Datentyp „List-of-lists“ 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; wird für die Reihenfolge von nicht angegebenen oder nicht erkannten Fahrzeugübereinstimmungen verwendet.
PICKUP_POINT_ETA Aufsteigend nach der Fahrzeit des Fahrzeugs zum Abholpunkt.
PICKUP_POINT_DISTANCE Aufsteigende Reihenfolge nach Entfernung des Fahrzeugs zum Abholort.
DROPOFF_POINT_ETA Aufsteigende Reihenfolge nach Fahrzeit des Fahrzeugs bis zur Abgabestelle. 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 Aufsteigende Reihenfolge nach den konfigurierten Übereinstimmungskosten. 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 geändert 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, darf 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)

Das Fahrzeug fährt die voraussichtliche Ankunftszeit zum Abholort, der in der Anfrage angegeben ist. 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 war und dieses Fahrzeug eine aktive Fahrt hat, enthält vehiclePickupEta die Zeit, die für die aktuell 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. Die Entfernung 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 ETA umfasst auch das Anhalten an Wegpunkten vor der in der Anfrage angegebenen dropoffPoint. Der Wert wird nur ausgefüllt, wenn in der Anfrage ein Rückgabepunkt 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 Entfernung des Fahrzeugs (in Metern) vom Abholpunkt bis zur Abgabestelle, die in der Anfrage angegeben ist. 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 eine 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.

orderedBy

enum (VehicleMatchOrder)

Die tatsächliche Bestellung, die für dieses Fahrzeug verwendet wurde. Normalerweise stimmt dies mit dem Feld „orderBy“ der Anfrage überein. Unter bestimmten Umständen, z. B. bei einem internen Serverfehler, kann jedoch auch eine andere Methode verwendet werden (z. B. PICKUP_POINT_STRAIGHT_DISTANCE).

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 voraussichtlichen Ankunftszeit und der Entfernung wird die vorhandene Fahrt berücksichtigt.
CARPOOL Das Fahrzeug hat genügend Kapazität für eine gemeinsam genutzte Fahrt.
CARPOOL_BACK_TO_BACK Das Fahrzeug beendet seine aktuelle, aktive Fahrt, bevor es zur Abholstelle weiterfährt. Bei der Berechnung der geschätzten Ankunftszeit und der Entfernung wird die aktuelle Fahrt berücksichtigt.