Method: providers.vehicles.search

Zwraca listę pojazdów, które pasują do opcji żądania.

Żądanie HTTP

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

Adres URL używa składni transkodowania gRPC.

Parametry ścieżki

Parametry
parent

string

Wymagane. Musi mieć format providers/{provider}. Dostawca musi być identyfikatorem projektu (np. sample-cloud-project) projektu Google Cloud, którego członkiem jest konto usługi wywołujące to wywołanie.

Treść żądania

Treść żądania zawiera dane o następującej strukturze:

Zapis 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
}
Pola
header

object (RequestHeader)

Standardowy nagłówek żądania Fleet Engine.

pickupPoint

object (TerminalLocation)

Wymagane. Punkt odbioru w pobliżu.

dropoffPoint

object (TerminalLocation)

Zamierzone miejsce dostawy klienta. Pole jest wymagane, jeśli tripTypes zawiera TripType.SHARED.

pickupRadiusMeters

integer

Wymagane. Określa promień wyszukiwania pojazdu wokół punktu odbioru. Zwrócone zostaną tylko pojazdy znajdujące się w promieniu wyszukiwania. Wartość musi mieścić się w przedziale od 400 do 10 000 metrów (włącznie).

count

integer

Wymagane. Określa maksymalną liczbę pojazdów do zwrotu. Wartość musi znajdować się w zakresie od 1 do 50 (włącznie).

minimumCapacity

integer

Wymagane. Określa liczbę pasażerów uwzględnianych w podróży. Wartość nie może być mniejsza niż 1. Kierowca nie jest uwzględniany w wartości pojemności.

tripTypes[]

enum (TripType)

Wymagane. Reprezentuje typ proponowanej podróży. Musi zawierać dokładnie 1 typ. UNKNOWN_TRIP_TYPE – to jest niedozwolone. Ogranicza wyszukiwanie do pojazdów, które obsługują dany typ podróży.

maximumStaleness

string (Duration format)

Ogranicza wyszukiwanie tylko do tych pojazdów, które w określonym czasie wysłały aktualizacje lokalizacji do Fleet Engine. Stacjonarne pojazdy, które nadal przesyłają swoje lokalizacje, nie są uznawane za nieaktualne. Jeśli to pole nie jest skonfigurowane, serwer ustawia domyślną wartość z pięciu minut.

Czas trwania w sekundach składający się z maksymalnie 9 cyfr po przecinku i kończący się „s”. Przykład: "3.5s".

vehicleTypes[]

object (VehicleType)

Wymagane. Ogranicza wyszukiwanie do pojazdów jednego z określonych typów. Należy określić co najmniej jeden typ pojazdu. Typy pojazdów o kategorii UNKNOWN są niedozwolone.

requiredAttributes[]

object (VehicleAttribute)

Wywołujący mogą tworzyć złożone operacje logiczne, korzystając z dowolnej kombinacji pól requiredAttributes, requiredOneOfAttributes i requiredOneOfAttributeSets.

requiredAttributes jest listą; requiredOneOfAttributes używa wiadomości, która zezwala na listę list. Te 2 pola umożliwiają kompozycję tego wyrażenia:

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

Ogranicza wyszukiwanie do pojazdów o określonych atrybutach. To pole jest spójnikiem/operacją ORAZ. Dozwolonych jest maksymalnie 50 wymaganych atrybutów. Ta wartość jest zgodna z maksymalną liczbą atrybutów dozwolonych w pojeździe.

requiredOneOfAttributes[]

object (VehicleAttributeList)

Ogranicza wyszukiwanie tylko do tych pojazdów, które mają co najmniej 1 z określonych atrybutów w każdym VehicleAttributeList. Pojazd musi pasować do co najmniej jednego atrybutu na każdej liście. To pole zawiera operator rozdzielający/LUB w każdym elemencie VehicleAttributeList oraz operacja spójności/ORAZ w zbiorze funkcji VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets udostępnia dodatkowe funkcje.

Podobnie jak w zasadzie requiredOneOfAttributes, requiredOneOfAttributeSets używa komunikatu, który umożliwia listę list, umożliwiając użycie takich wyrażeń:

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

Ogranicza wyszukiwanie tylko do pojazdów mających wszystkie atrybuty w atrybucie VehicleAttributeList. Pojazd musi spełniać warunki wszystkich atrybutów na każdej liście. To pole stanowi operację spójności/I w każdym elemencie VehicleAttributeList oraz operacji obejmującej funkcję rozdzielenia/LUB w zbiorze VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

Wymagane. Określa żądane kryterium kolejności wyników.

includeBackToBack

boolean

Wskazuje, czy do tego wyszukiwania kwalifikują się pojazdy z pojedynczą aktywną podróżą. To pole jest używane tylko wtedy, gdy pole currentTripsPresent nie jest określone. Jeśli pole currentTripsPresent nie jest określone, a to pole ma wartość false, pojazdy z przypisanymi podróżami są wykluczane z wyników wyszukiwania. Jeśli pole currentTripsPresent nie jest określone, a to pole ma wartość true, wyniki wyszukiwania mogą obejmować pojazdy z 1 aktywną podróżą o stanie ENROUTE_TO_DROPOFF. Jeśli jest określona wartość currentTripsPresent, w tym polu nie można ustawić wartości prawda.

Wartością domyślną jest false.

tripId

string

Wskazuje podróż powiązaną z tym obiektem: SearchVehicleRequest.

currentTripsPresent

enum (CurrentTripsPresent)

Wskazuje, czy do tego wyszukiwania kwalifikują się pojazdy, które aktywnie podróżują. Jeśli parametr tripType zawiera parametr SHARED, wartość tego pola musi być inna niż CURRENT_TRIPS_PRESENT_UNSPECIFIED.

filter

string

Opcjonalnie: Zapytanie filtra, które ma być stosowane przy wyszukiwaniu pojazdów. Przykłady składni filtrów znajdziesz na stronie http://aip.dev/160.

To pole zastępuje pola requiredAttributes, requiredOneOfAttributes i required_one_of_attributes_sets. Jeśli podasz tu wartość, która nie jest pusta, te pola muszą być puste: requiredAttributes, requiredOneOfAttributes i required_one_of_attributes_sets.

Ten filtr działa jak klauzula ORAZ z innymi ograniczeniami, takimi jak minimumCapacity lub vehicleTypes.

Pamiętaj, że obsługiwane są tylko zapytania dotyczące atrybutów pojazdu (na przykład attributes.<key> = <value> lub attributes.<key1> = <value1> AND attributes.<key2> = <value2>). Maksymalna dozwolona liczba ograniczeń w zapytaniu filtra to 50.

Poza tym wszystkie atrybuty są przechowywane jako ciągi znaków, więc jedynym obsługiwanym porównaniam z atrybutami są porównania ciągów znaków. Aby można było porównać wartości z wartościami liczbowymi lub logicznymi, wartości muszą być jawnie ujęte w cudzysłów, aby były traktowane jako ciągi znaków (np. attributes.<key> = "10" lub attributes.<key> = "true").

Treść odpowiedzi

vehicles.search odpowiedź.

W przypadku powodzenia treść żądania zawiera dane o następującej strukturze:

Zapis JSON
{
  "matches": [
    {
      object (VehicleMatch)
    }
  ]
}
Pola
matches[]

object (VehicleMatch)

Lista pojazdów spełniających kryteria SearchVehiclesRequest, uporządkowanych według pola SearchVehiclesRequest.order_by.

VehicleAttributeList

Typ danych listy list dla atrybutów pojazdów.

Zapis JSON
{
  "attributes": [
    {
      object (VehicleAttribute)
    }
  ]
}
Pola
attributes[]

object (VehicleAttribute)

Lista atrybutów w tej kolekcji.

VehicleMatchOrder

Określa kolejność dopasowań pojazdów w odpowiedzi.

Wartości w polu enum
UNKNOWN_VEHICLE_MATCH_ORDER Domyślnie używana w przypadku nieokreślonego lub nierozpoznanego dopasowania pojazdu.
PICKUP_POINT_ETA Rosnąco według czasu przejazdu pojazdu do punktu odbioru.
PICKUP_POINT_DISTANCE Rosnąco według odległości od miejsca odbioru pojazdu do punktu odbioru.
DROPOFF_POINT_ETA Rosnąco według czasu przejazdu pojazdu do punktu nadania. Tego zamówienia można użyć tylko wtedy, gdy punkt zwrotu jest określony w żądaniu.
PICKUP_POINT_STRAIGHT_DISTANCE Kolejność rosnąca według bezpośredniej odległości od ostatniej zgłoszonej lokalizacji pojazdu do punktu odbioru.
COST Kolejność rosnąca według skonfigurowanego kosztu dopasowania. Koszt dopasowania to obliczenie ważone między długością linii prostej a szacowanym czasem dotarcia na miejsce. Wagi są ustawiane na wartości domyślne i można je modyfikować dla poszczególnych klientów. Jeśli musisz zmodyfikować te wagi na potrzeby projektu, skontaktuj się z zespołem pomocy Google.

CurrentTripsPresent

Określa rodzaje ograniczeń dotyczących bieżącej trasy pojazdu.

Wartości w polu enum
CURRENT_TRIPS_PRESENT_UNSPECIFIED Dostępność pojazdów z możliwością podróży jest określany w polu includeBackToBack.
NONE Pojazdy, które nie będą przejazdami, mogą pojawiać się w wynikach wyszukiwania. W przypadku użycia tej wartości dyrektywa includeBackToBack nie może być ustawiona jako true.
ANY W wynikach wyszukiwania uwzględniane są pojazdy, z którymi aktualnie pokonuje się maks. 5 tras i 10 punktów pośrednich. W przypadku użycia tej wartości dyrektywa includeBackToBack nie może być ustawiona jako true.

VehicleMatch

Zawiera pojazd i powiązane z nim dane szacunkowe dotyczące pojazdu pasujące do punktów aktywnych przejazdów pojazdu SearchVehiclesRequest.

Zapis 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)
}
Pola
vehicle

object (Vehicle)

Wymagane. Pojazd zgodny z żądaniem.

vehiclePickupEta

string (Timestamp format)

Szacowany czas dotarcia pojazdu na miejsce do punktu odbioru określonego w żądaniu. Pusta wartość oznacza błąd w obliczaniu szacowanego czasu dotarcia na miejsce. Jeśli SearchVehiclesRequest.include_back_to_back to true, a ten pojazd jest powiązany z aktywną podróżą, vehiclePickupEta uwzględnia czas potrzebny na ukończenie bieżącej aktywnej podróży.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

vehiclePickupDistanceMeters

integer

Odległość od bieżącej lokalizacji pojazdu do punktu odbioru określonego w żądaniu, z uwzględnieniem wszelkich pośrednich punktów odbioru i zwrotu w przypadku dotychczasowych podróży. Na tę odległość składają się obliczona odległość dojazdu (trasa) oraz odległość w linii prostej między punktem końcowym nawigacji a żądanym punktem odbioru. (Odległość między punktem końcowym nawigacji a żądanym punktem odbioru jest zwykle niewielka). Pusta wartość oznacza błąd podczas obliczania odległości.

vehiclePickupStraightLineDistanceMeters

integer

Wymagane. Długość linii prostej między pojazdem a punktem odbioru określonego w żądaniu.

vehicleDropoffEta

string (Timestamp format)

Szacowany czas dotarcia na miejsce z całego pojazdu do punktu postoju wskazanego w żądaniu. Szacowany czas dotarcia na miejsce obejmuje zatrzymanie w dowolnym punkcie pośrednim przed dropoffPoint określonym w żądaniu. Wartość zostanie wypełniona tylko wtedy, gdy w żądaniu zostanie określony punkt zwrotu. Pusta wartość oznacza błąd podczas obliczania szacowanego czasu dotarcia na miejsce.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

vehiclePickupToDropoffDistanceMeters

integer

Odległość pojazdu (w metrach) od punktu odbioru do miejsca nadania określonego w żądaniu. Odległość jest ograniczona tylko do tych 2 punktów i nie obejmuje lokalizacji pojazdu ani żadnych innych punktów, które należy odwiedzić, zanim pojazd dotrze do punktu odbioru lub punktu nadania. Wartość zostanie wypełniona tylko wtedy, gdy w żądaniu określisz atrybut dropoffPoint. Pusta wartość oznacza błąd w obliczeniu odległości od punktu odbioru do punktu odbioru określonego w żądaniu.

tripType

enum (TripType)

Wymagane. Rodzaj podróży użyty w żądaniu, który został użyty do obliczenia szacowanego czasu dotarcia do punktu odbioru.

vehicleTripsWaypoints[]

object (Waypoint)

Uporządkowana lista punktów na trasie używanych do obliczania szacowanego czasu dotarcia na miejsce. Lista zawiera lokalizację pojazdu, punkty odbioru aktywnych podróży i punkty odbioru podane w prośbie. Pusta lista oznacza błąd w obliczaniu szacowanego czasu dotarcia na miejsce.

vehicleMatchType

enum (VehicleMatchType)

Typ dopasowania pojazdu.

requestedOrderedBy

enum (VehicleMatchOrder)

Zażądano kolejności sortowania zgodnych pojazdów.

orderedBy

enum (VehicleMatchOrder)

Rzeczywiste zamówienie użyte w przypadku tego pojazdu. Normalnie pasuje do parametru „orderBy” z żądania; jednak w pewnych okolicznościach, takich jak wewnętrzny błąd serwera, można użyć innej metody (takiej jak PICKUP_POINT_STRAIGHT_DISTANCE).

Punkt pośredni

Opisuje punkty pośrednie na trasie przejazdu przez: VehicleMatch w: SearchVehiclesResponse. Ta koncepcja jest reprezentowana jako TripWaypoint we wszystkich innych punktach końcowych.

Zapis JSON
{
  "latLng": {
    object (LatLng)
  },
  "eta": string
}
Pola
latLng

object (LatLng)

Lokalizacja tego punktu na trasie.

eta

string (Timestamp format)

Szacowana godzina, o której pojazd dotrze do tego punktu pośredniego.

Sygnatura czasowa w RFC3339 UTC „Zulu” z rozdzielczością nanosekundową i maksymalnie 9 cyframi po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

VehicleMatchType

Typ dopasowania pojazdu.

Wartości w polu enum
UNKNOWN Nieznany typ dopasowania pojazdu
EXCLUSIVE Pojazd nie ma obecnie przypisanej podróży i może dotrzeć do punktu odbioru.
BACK_TO_BACK Pojazd jest obecnie przypisany do podróży, ale po zakończeniu trwającej podróży może przejść do punktu odbioru. Przy obliczaniu szacowanego czasu dotarcia na miejsce i dystansu brana jest pod uwagę dotychczasowa podróż.
CARPOOL Pojazd ma wystarczającą pojemność do wspólnego przejazdu.
CARPOOL_BACK_TO_BACK Pojazd zakończy bieżącą, aktywną podróż, zanim dotrze do punktu odbioru. Przy obliczaniu szacowanego czasu dotarcia na miejsce i dystansu brana jest pod uwagę dotychczasowa podróż.