Method: providers.vehicles.search

Gibt eine Liste von Fahrzeugen 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 des Google Cloud-Projekts sein, zu dem das Dienstkonto, das diesen Aufruf durchführt, gehört (z. B. sample-cloud-project).

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. Der Abholort, in dessen Nähe gesucht werden soll.

dropoffPoint

object (TerminalLocation)

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

pickupRadiusMeters

integer

Erforderlich. Definiert den Suchradius des Fahrzeugs um den Abholpunkt. Es werden nur Fahrzeuge innerhalb des Suchradius zurückgegeben. Der Wert muss zwischen 400 und 10.000 Metern (einschließlich) 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 Fahrgäste an, die für eine Fahrt in Betracht gezogen werden. Der Wert muss größer oder gleich eins sein. Der Treiber wird im Kapazitätswert nicht berücksichtigt.

tripTypes[]

enum (TripType)

Erforderlich. Der Typ der vorgeschlagenen Fahrt. 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)

Beschränkt die Suche auf die Fahrzeuge, die innerhalb des angegebenen Zeitraums Standortupdates 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)

Aufrufer können mithilfe einer beliebigen Kombination der Felder requiredAttributes, requiredOneOfAttributes und requiredOneOfAttributeSets komplexe logische Operationen erstellen.

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)

Beschränkt die Suche auf die Fahrzeuge mit mindestens einem der angegebenen Attribute in jeder VehicleAttributeList. 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 Sammlung von VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets bietet zusätzliche Funktionen.

Ähnlich wie bei requiredOneOfAttributes verwendet requiredOneOfAttributeSets eine Nachricht, die eine Liste von Listen zulässt und Ausdrücke wie diese zulässt:

(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 ist. Wenn currentTripsPresent nicht angegeben und dieses Feld auf false gesetzt 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 „true“ festgelegt 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. Wenn tripType SHARED enthält, muss hier ein anderer Wert als CURRENT_TRIPS_PRESENT_UNSPECIFIED festgelegt werden.

filter

string

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

Dieses Feld ersetzt die Felder requiredAttributes, requiredOneOfAttributes und required_one_of_attributes_sets. 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.

Beachten Sie, dass nur Anfragen für Fahrzeugattribute unterstützt werden, 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. Für den Vergleich mit Zahlen- oder booleschen Werten 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 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 Aufsteigende Reihenfolge nach 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 Reihenfolge kann nur verwendet werden, wenn in der Anfrage die Abgabestelle angegeben ist.
PICKUP_POINT_STRAIGHT_DISTANCE Aufsteigende Reihenfolge nach der Luftlinie zwischen dem letzten gemeldeten Standort des Fahrzeugs und dem Abholort.
COST Aufsteigende Reihenfolge nach den konfigurierten Übereinstimmungskosten. Die Angleichungskosten sind definiert als gewichtete Berechnung zwischen der direkten Entfernung und der voraussichtlichen Ankunftszeit. Die Gewichtung wird mit Standardwerten festgelegt und kann je nach 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 Fahrten wird durch das Feld includeBackToBack geregelt.
NONE Fahrzeuge ohne Fahrten können in den Suchergebnissen erscheinen. Wenn dieser Wert verwendet wird, darf includeBackToBack nicht true sein.
ANY In den Suchergebnissen sind Fahrzeuge mit höchstens 5 aktuellen Fahrten und 10 Wegpunkten enthalten. Wenn dieser Wert verwendet wird, darf 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 bedeutet, dass bei der Berechnung der voraussichtlichen Ankunftszeit für das Fahrzeug ein Fehler aufgetreten ist. 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 bis zum in der Anfrage angegebenen Abholort, einschließlich aller Zwischen- oder Absetzpunkte für bestehende Fahrten. Sie setzt sich aus der berechneten Fahrtstrecke (Routenstrecke) plus der Luftlinienentfernung zwischen dem Navigationsendpunkt und dem angeforderten Startpunkt zusammen. (Der Abstand zwischen dem Navigationsendpunkt 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 voraussichtliche Ankunftszeit des vollständigen Fahrzeugs bis zur in der Anfrage angegebenen Abgabestelle. 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 voraussichtlichen 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 zwischen den beiden Punkten und umfasst nicht den Fahrzeugstandort oder andere Punkte, die besucht werden müssen, bevor das Fahrzeug den Abhol- oder Abgabeort erreicht. 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- bis zum Ausstiegspunkt hin, der in der Anfrage angegeben ist.

tripType

enum (TripType)

Erforderlich. Die Art der Fahrt, die zur Berechnung der voraussichtlichen Ankunftszeit für den Abholpunkt verwendet wurde.

vehicleTripsWaypoints[]

object (Waypoint)

Die sortierte Liste von Wegpunkten, die zur Berechnung der voraussichtlichen Ankunftszeit verwendet werden. Die Liste enthält den Fahrzeugstandort, die Abholpunkte aktiver Fahrten für das Fahrzeug und die in der Anfrage angegebenen Abholpunkte. Eine leere Liste bedeutet, dass bei der Berechnung der voraussichtlichen Ankunftszeit für das Fahrzeug ein Fehler aufgetreten ist.

vehicleMatchType

enum (VehicleMatchType)

Der passende Fahrzeugtyp.

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 entspricht dies dem Wert aus der Anfrage. Unter bestimmten Umständen, z. B. bei einem internen Serverfehler, kann jedoch eine andere Methode verwendet werden (z. B. PICKUP_POINT_STRAIGHT_DISTANCE).

Zwischenstopp

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

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

object (LatLng)

Die Position dieses Wegpunkts.

eta

string (Timestamp format)

Die geschätzte Ankunftszeit des Fahrzeugs an diesem Wegpunkt.

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

Fahrzeugtyp stimmt überein.

Enums
UNKNOWN Unbekannter Übereinstimmungstyp für Fahrzeuge
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 voraussichtlichen Ankunftszeit und der Entfernung wird die vorhandene Fahrt berücksichtigt.