Method: providers.vehicles.search

Zwraca listę pojazdów pasujących do opcji w żądaniu.

Żą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) w projekcie Google Cloud, do którego należy 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. Położony w pobliżu punkt odbioru, który chcesz wyszukać.

dropoffPoint

object (TerminalLocation)

Zamierzone miejsce docelowe zwrotu 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 określonym 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 zwrócenia. Wartość musi mieścić się w przedziale od 1 do 50 (włącznie).

minimumCapacity

integer

Wymagane. Określa liczbę pasażerów uwzględnianych podczas podróży. Wartość nie może być mniejsza niż 1. W zakresie pojemności nie brany jest pod uwagę kierowca.

tripTypes[]

enum (TripType)

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

maximumStaleness

string (Duration format)

Ogranicza wyszukiwanie tylko do tych pojazdów, które w określonym czasie wysłały do Fleet Engine aktualizacje lokalizacji. Nieruchome pojazdy przesyłające swoją lokalizację nie są uznawane za nieaktualne. Jeśli to pole nie jest skonfigurowane, serwer używa wartości domyślnej 5 minut.

Czas trwania w sekundach z maksymalnie 9 cyframi po przecinku, kończącym się cyframi „s”. Przykład: "3.5s".

vehicleTypes[]

object (VehicleType)

Wymagane. Ogranicza wyszukiwanie do pojazdów jednego z określonych typów. Musisz określić co najmniej jeden typ pojazdu. Typy pojazdów z 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 może być listą list. Łącząc te 2 pola, można utworzyć kompozycję 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 tylko do pojazdów o określonych atrybutach. To pole jest łączeniem/ORAZ. Dozwolonych jest maksymalnie 50 atrybutów wymaganych. 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 jeden z określonych atrybutów w każdym atrybucie VehicleAttributeList. Na każdej liście pojazd musi pasować do co najmniej jednego z atrybutów. To pole zawiera operację rozłączania/LUB w każdym obiekcie VehicleAttributeList oraz operacji łączenia/ORAZ w zbiorze danych VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets udostępnia dodatkowe funkcje.

Podobnie jak requiredOneOfAttributes, requiredOneOfAttributeSets używa wiadomości, która zezwala na tworzenie listy z wyrażeniami takimi jak ta:

(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 tych pojazdów ze wszystkimi atrybutami marki VehicleAttributeList. Pojazd musi pasować do wszystkich atrybutów na każdej liście. To pole jest łączoną operacji/ORAZ w każdej funkcji VehicleAttributeList i uwzględniającą operację rozdzielenia/LUB w zbiorze danych VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

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

includeBackToBack

boolean

Ta wartość określa, czy pojazdy z 1 aktywną podróżą kwalifikują się do tego wyszukiwania. To pole jest używane tylko wtedy, gdy pole currentTripsPresent jest nieokreślone. Gdy nie określono atrybutu currentTripsPresent, a to pole zawiera wartość false, pojazdy z przypisanymi podróżami są wykluczane z wyników wyszukiwania. Gdy pole currentTripsPresent nie jest określone, a to pole ma wartość true, wyniki wyszukiwania mogą uwzględniać pojazdy z jedną aktywną podróżą ze stanem ENROUTE_TO_DROPOFF. Jeśli pole currentTripsPresent jest określone, nie można ustawić wartości prawda.

Wartością domyślną jest false.

tripId

string

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

currentTripsPresent

enum (CurrentTripsPresent)

Ta wartość określa, czy pojazdy z aktywnymi podróżami kwalifikują się do tego wyszukiwania. Jeśli zasada tripType zawiera SHARED, ta wartość 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 filtra znajdziesz na http://aip.dev/160.

To pole zastępuje pola requiredAttributes, requiredOneOfAttributes i required_one_of_attributes_sets. Jeśli określona jest 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 (np. attributes.<key> = <value> lub attributes.<key1> = <value1> AND attributes.<key2> = <value2>). Maksymalna liczba ograniczeń dozwolona w zapytaniu filtra to 50.

Poza tym wszystkie atrybuty są przechowywane jako ciągi znaków, więc jedynymi obsługiwanymi porównaniami z atrybutami są porównania w postaci ciągów znaków. Aby można było porównać wartości z liczbami lub wartościami logicznymi, muszą one być 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, które spełniają kryteria SearchVehiclesRequest, uporządkowana według pola SearchVehiclesRequest.order_by.

VehicleAttributeList

Typ danych „lista list” dla atrybutów pojazdu.

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

object (VehicleAttribute)

Lista atrybutów w tej kolekcji.

VehicleMatchOrder

Określa kolejność 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 do zamówienia.
PICKUP_POINT_ETA Rosnąco według czasu jazdy pojazdu do punktu odbioru.
PICKUP_POINT_DISTANCE Rosnąco według odległości jazdy pojazdem do punktu odbioru.
DROPOFF_POINT_ETA Rosnąco według czasu jazdy pojazdem do miejsca docelowego. Tego zamówienia można użyć tylko wtedy, gdy w prośbie podano punkt zwrotu.
PICKUP_POINT_STRAIGHT_DISTANCE Rosnąco według odległości w linii prostej od ostatniej zarejestrowanej lokalizacji pojazdu do punktu odbioru.
COST W kolejności rosnącej według skonfigurowanego kosztu dopasowania. Koszt dopasowania jest obliczony jako obliczenie ważone między odległością w linii prostej a szacowanym czasem dotarcia na miejsce. Wagi są ustalane z wartościami domyślnymi i można je modyfikować w zależności od klienta. Jeśli chcesz zmienić te wagi w projekcie, skontaktuj się z zespołem pomocy Google.

CurrentTripsPresent

Określa rodzaje ograniczeń obowiązujących w bieżącej trasie pojazdu.

Wartości w polu enum
CURRENT_TRIPS_PRESENT_UNSPECIFIED Dostępność pojazdów, w których dostępne są podróże, jest określana w polu includeBackToBack.
NONE Pojazdy bez podróży mogą się wyświetlać w wynikach wyszukiwania. Gdy jest używana ta wartość, includeBackToBack nie może mieć wartości true.
ANY W wynikach wyszukiwania uwzględniane są pojazdy z maksymalnie 5 aktualnymi trasami i 10 punktami pośrednimi. Gdy jest używana ta wartość, includeBackToBack nie może mieć wartości true.

VehicleMatch

Zawiera dane dotyczące pojazdu i powiązane z nim dane szacunkowe pasujące do punktów aktywnych przejazdów pojazdem 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 pasujący do żądania.

vehiclePickupEta

string (Timestamp format)

Szacowany czas dotarcia pojazdu do miejsca odbioru wskazanego 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 ma aktywną podróż, vehiclePickupEta uwzględnia czas potrzebny do ukończenia bieżącej aktywnej podróży.

Sygnatura czasowa w formacie „Zulu” RFC3339 UTC 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 wszystkich pośrednich punktów odbioru lub miejsca zwrotu w przypadku dotychczasowych podróży. Ta odległość obejmuje obliczoną odległość (trasę) 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 mała). Pusta wartość oznacza błąd przy obliczaniu odległości.

vehiclePickupStraightLineDistanceMeters

integer

Wymagane. W linii prostej między pojazdem a punktem odbioru określonym w żądaniu.

vehicleDropoffEta

string (Timestamp format)

Pełny szacowany czas dotarcia na miejsce w ramach przejazdu pojazdu do miejsca zwrotu określonego w żądaniu. Szacowany czas dotarcia na miejsce obejmuje postój na każdym punkcie na trasie przed obiektem dropoffPoint określonym w żądaniu. Ta wartość jest wypełniana tylko wtedy, gdy w żądaniu określisz punkt zwrotu. Pusta wartość oznacza błąd podczas obliczania szacowanego czasu dotarcia.

Sygnatura czasowa w formacie „Zulu” RFC3339 UTC 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 docelowego podanego w żądaniu. Odległość jest wyrażona wyłącznie między tymi dwoma punktami i nie obejmuje lokalizacji pojazdu ani żadnych innych punktów, które trzeba odwiedzić, zanim pojazd odwiedzi punkt odbioru lub punkt zwrotu. Ta wartość zostanie wypełniona tylko wtedy, gdy w żądaniu określisz dropoffPoint. Pusta wartość oznacza błąd w obliczaniu odległości od miejsca odbioru do punktu odbioru określonego w żądaniu.

tripType

enum (TripType)

Wymagane. Typ podróży dla żądania, które zostało użyte 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 obejmuje lokalizację pojazdu, punkty odbioru aktywnych podróży oraz punkty odbioru podane w prośbie. Pusta lista oznacza, że nie udało się obliczyć szacowanego czasu dotarcia na miejsce.

vehicleMatchType

enum (VehicleMatchType)

Typ dopasowania pojazdu.

requestedOrderedBy

enum (VehicleMatchOrder)

Żądana kolejność sortowania pojazdów.

orderedBy

enum (VehicleMatchOrder)

Rzeczywiste zamówienie użyte w przypadku tego pojazdu. Zwykle jest ona zgodna z polem „orderBy” w żądaniu, ale w pewnych okolicznościach, takich jak wewnętrzny błąd serwera, można użyć innej metody (np. PICKUP_POINT_STRAIGHT_DISTANCE).

Punkt pośredni

Opisuje punkty pośrednie na trasie w obrębie rzeki VehicleMatch w regionie SearchVehiclesResponse. Ten element jest przedstawiany jako TripWaypoint we wszystkich pozostałych punktach końcowych.

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

object (LatLng)

Lokalizacja tego punktu na trasie.

eta

string (Timestamp format)

Szacowany czas dotarcia pojazdu do tego punktu pośredniego.

Sygnatura czasowa w formacie „Zulu” RFC3339 UTC 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 udać się do punktu odbioru.
BACK_TO_BACK Pojazd jest obecnie przypisany do podróży, ale może przejść do punktu odbioru po zakończeniu trwającej podróży. Przy obliczaniu czasu dotarcia i dystansu uwzględnia się istniejącą trasę.
CARPOOL Pojazd ma wystarczającą pojemność na wspólne przejazdy.
CARPOOL_BACK_TO_BACK Pojazd zakończy swoją bieżącą, aktywną podróż, zanim dotrzesz do punktu odbioru. Przy obliczaniu czasu dotarcia i dystansu uwzględnia się istniejącą trasę.