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 zwrotu produktu przez 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, kończący się cyfrą „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 pojazdu do punktu odbioru.
DROPOFF_POINT_ETA Kolejność rosnąca 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ślana 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ślonej 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. Ta 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óż.