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 des Google Cloud-Projekts sein, zu dem das Dienstkonto gehört, das diesen Aufruf durchführt, 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 Abholpunkt, in dessen Nähe gesucht werden soll.

dropoffPoint

object (TerminalLocation)

Der beabsichtigte Rückgabeort des Kunden. Das Feld ist erforderlich, wenn tripTypesTripType.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 von Fahrzeugen an, die zurückgegeben werden sollen. 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 eins sein. Der Treiber wird beim 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.

maximumStaleness

string (Duration format)

Beschränkt die Suche auf die Fahrzeuge, die innerhalb des angegebenen Zeitraums Standortaktualisierungen an Fleet Engine gesendet haben. Stehende Fahrzeuge, die ihren Standort noch übertragen, gelten nicht als veraltet. Wenn dieses Feld nicht festgelegt ist, verwendet der Server fünf Minuten als Standardwert.

Eine Dauer in Sekunden mit bis zu neun Nachkommastellen, die auf „s“ endet. 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. VehicleTypes 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 bilden.

requiredAttributes ist eine Liste; requiredOneOfAttributes verwendet eine Nachricht, die eine Liste von Listen zulässt. In Kombination können die beiden Felder den Ausdruck zusammensetzen:

(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/UND-Operation. Es sind maximal 50 erforderliche Attribute zulässig. Das entspricht der maximalen Anzahl von Attributen, die für ein Fahrzeug zulässig sind.

requiredOneOfAttributes[]

object (VehicleAttributeList)

Beschränkt die Suche auf 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 einschließende Disjunktions-/ODER-Operation für jeden VehicleAttributeList und eine Konjunktion/UND-Operation für die gesamte Sammlung von VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets bietet zusätzliche Funktionen.

Ähnlich wie bei requiredOneOfAttributes wird in requiredOneOfAttributeSets eine Nachricht verwendet, die eine Liste von Listen zulässt, wobei Ausdrücke wie diese zugelassen werden:

(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 Fahrzeuge mit allen Attributen in einer VehicleAttributeList. In jeder Liste muss ein Fahrzeug mit allen Attributen übereinstimmen. Dieses Feld ist eine Konjunktion/UND-Operation für jeden VehicleAttributeList- und alle einschließenden Disjunktions-/ODER-Vorgang in der Sammlung von VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

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

includeBackToBack

boolean

Damit wird angegeben, 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 und dieses Feld auf true gesetzt ist, 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“ gesetzt werden.

Der Standardwert ist false.

tripId

string

Gibt die mit diesem SearchVehicleRequest verknüpfte Fahrt an.

currentTripsPresent

enum (CurrentTripsPresent)

Damit wird angegeben, ob Fahrzeuge mit aktiven Fahrten für diese Suche infrage kommen. Dieser Wert muss auf einen anderen Wert als CURRENT_TRIPS_PRESENT_UNSPECIFIED festgelegt werden, 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 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 funktioniert als AND-Klausel mit anderen Einschränkungen wie minimumCapacity oder vehicleTypes.

Es werden nur Abfragen für Fahrzeugattribute wie attributes.<key> = <value> oder attributes.<key1> = <value1> AND attributes.<key2> = <value2> unterstützt. In einer Filterabfrage sind maximal 50 Einschränkungen zulässig.

Da alle Attribute als Strings gespeichert werden, werden Vergleiche mit Attributen nur unterstützt. Für einen 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.

Wenn der Vorgang erfolgreich ist, enthält der Antworttext Daten mit folgender 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 von Attributen in dieser Sammlung.

VehicleMatchOrder

Gibt die Reihenfolge der in der Antwort übereinstimmenden Fahrzeuge an.

Enums
UNKNOWN_VEHICLE_MATCH_ORDER Standardeinstellung, wird für nicht angegebene oder nicht erkannte Fahrzeugübereinstimmungen verwendet.
PICKUP_POINT_ETA Aufsteigende Bestellung nach Fahrzeit des Fahrzeugs zum Abholpunkt.
PICKUP_POINT_DISTANCE Aufsteigende Bestellung, bezogen auf die Fahrstrecke des Fahrzeugs zum Abholpunkt.
DROPOFF_POINT_ETA Aufsteigende Reihenfolge nach Fahrzeit des Fahrzeugs bis zur Abgabestelle. Diese Reihenfolge kann nur verwendet werden, wenn der Rückgabepunkt in der Anfrage angegeben ist.
PICKUP_POINT_STRAIGHT_DISTANCE Aufsteigende Bestellung in Luftlinie vom zuletzt gemeldeten Standort des Fahrzeugs zum Abholpunkt.
COST In aufsteigender Reihenfolge nach den konfigurierten Abgleichskosten. Die Abgleichskosten sind definiert als gewichtete Berechnung zwischen linearer Entfernung und voraussichtlicher Ankunftszeit. Die Gewichtungen werden mit Standardwerten festgelegt und können 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 im Feld includeBackToBack geregelt.
NONE Fahrzeuge ohne Fahrten können in den Suchergebnissen erscheinen. Wenn dieser Wert verwendet wird, kann includeBackToBack nicht true sein.
ANY Fahrzeuge mit höchstens 5 aktuellen Fahrten und 10 Wegpunkten werden in die Suchergebnisse aufgenommen. Wenn dieser Wert verwendet wird, kann includeBackToBack nicht true sein.

VehicleMatch

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

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 voraussichtliche Ankunftszeit des Fahrzeugs zum Abholpunkt, der in der Anfrage angegeben ist. Ein leerer Wert bedeutet, dass die voraussichtliche Ankunftszeit für das Fahrzeug nicht berechnet werden konnte. Wenn „SearchVehiclesRequest.include_back_to_back“ auf „true“ gesetzt war 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 bis zu dem in der Anfrage angegebenen Abholpunkt, einschließlich aller Zwischen- oder Absetzpunkte für bestehende Fahrten. Sie setzt sich aus der berechneten Fahrstrecke (Routen-Entfernung) plus der Luftlinie zwischen dem Navigationsendpunkt und dem angeforderten Abholpunkt zusammen. (Die Entfernung zwischen dem Navigationsendpunkt und dem gewünschten 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 gesamten Fahrzeugs an der in der Anfrage angegebenen Abgabestelle. Die voraussichtliche Ankunftszeit beinhaltet auch einen Halt an jedem Wegpunkt vor dem in der Anfrage angegebenen dropoffPoint. Der Wert wird nur gefü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 Fahrstrecke des Fahrzeugs (in Metern) vom Abholpunkt bis zu dem in der Anfrage angegebenen Rückgabepunkt. Die Entfernung liegt nur zwischen den beiden Punkten und umfasst weder den Fahrzeugstandort noch andere Punkte, die besichtigt werden müssen, bevor das Fahrzeug den Abhol- oder Absetzpunkt besucht. Der Wert wird nur gefüllt, wenn in der Anfrage ein dropoffPoint angegeben ist. Ein leerer Wert bedeutet, dass die in der Anfrage angegebene Entfernung zwischen dem Abhol- und dem Rückgabepunkt nicht berechnet werden konnte.

tripType

enum (TripType)

Erforderlich. Der Fahrttyp der Anfrage, der zur Berechnung der voraussichtlichen Ankunftszeit bis zum Abholpunkt verwendet wurde.

vehicleTripsWaypoints[]

object (Waypoint)

Die sortierte Liste der Wegpunkte, die zur Berechnung der voraussichtliche Ankunftszeit verwendet werden. Die Liste enthält den Fahrzeugstandort, die Abholpunkte der aktiven Fahrten für das Fahrzeug und die in der Anfrage angegebenen Abholpunkte. Eine leere Liste weist auf einen Fehler bei der Berechnung der voraussichtlichen Ankunftszeit für das Fahrzeug hin.

vehicleMatchType

enum (VehicleMatchType)

Typ des übereinstimmenden Fahrzeugs.

requestedOrderedBy

enum (VehicleMatchOrder)

Die Reihenfolge, in der die Fahrzeugübereinstimmungen sortiert werden.

orderedBy

enum (VehicleMatchOrder)

Die tatsächliche Bestellung, die für dieses Fahrzeug verwendet wurde. Normalerweise entspricht dies dem Feld "orderBy" aus der Anfrage. Unter bestimmten Umständen, etwa 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 einen VehicleMatch in einem SearchVehiclesResponse. Dieses Konzept wird in 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 voraussichtliche 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

Übereinstimmender Fahrzeugtyp.

Enums
UNKNOWN Unbekannter Übereinstimmungstyp des Fahrzeugs
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 voraussichtliche Ankunftszeit und der Entfernung wird die vorhandene Fahrt berücksichtigt.
CARPOOL Das Fahrzeug hat genügend Kapazität für eine gemeinsame Fahrt.
CARPOOL_BACK_TO_BACK Das Fahrzeug beendet seine aktuelle, aktive Fahrt, bevor es zum Abholpunkt auffährt. Bei der Berechnung der voraussichtliche Ankunftszeit und der Entfernung wird die vorhandene Fahrt berücksichtigt.