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)

Miejsce docelowe dostawy wskazane przez klienta. Pole jest wymagane, jeśli tripTypes zawiera TripType.SHARED.

pickupRadiusMeters

integer

Wymagane. Określa promień wyszukiwania pojazdu wokół punktu odbioru. Zwracane są tylko pojazdy 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, którzy mogą wziąć udział 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 wysłały do Fleet Engine aktualizacje lokalizacji w określonym czasie. Pojazdy stojące, które nadal przesyłają swoje lokalizacje, nie są uważane za nieaktualne. Jeśli to pole nie jest skonfigurowane, serwer ustawia domyślną wartość z pięciu minut.

Czas w sekundach z maksymalnie 9 miejscami po przecinku, zakończony literą „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. Dozwolona jest maksymalnie 50 requiredAttributes. 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 tych pojazdów, które mają wszystkie atrybuty w VehicleAttributeList. Pojazd musi spełniać warunki wszystkich atrybutów na każdej liście. To pole jest operacją konjunkcji (I) w przypadku każdego VehicleAttributeList i operacją z wykluczeniem (LUB) w przypadku zbioru VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

Wymagane. Określa pożądane kryterium sortowania wyników.

includeBackToBack

boolean

Wskazuje, czy do tego wyszukiwania kwalifikują się pojazdy z pojedynczą aktywną podróżą. To pole jest używane tylko wtedy, gdy currentTripsPresent ma nieokreśloną wartość. Jeśli currentTripsPresent nie jest określone, a to pole ma wartość false, pojazdy z przypisanymi przejazdami są wykluczane z wyników wyszukiwania. Jeśli pole currentTripsPresent nie jest określone, a pole true ma wartość true, wyniki wyszukiwania mogą zawierać pojazdy z jednym aktywnym przejazdem 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 SearchVehicleRequest.

currentTripsPresent

enum (CurrentTripsPresent)

Wskazuje, czy pojazdy z aktywnymi przejazdami kwalifikują się do tego wyszukiwania. 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 ma zastąpić pola requiredAttributes, requiredOneOfAttributes i required_one_of_attributes_sets. Jeśli tutaj zostanie określona niepusta wartość, pola requiredAttributes, requiredOneOfAttributesrequired_one_of_attributes_sets muszą być puste.

Ten filtr działa jak klauzula I w połączeniu 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ównywać je z wartościami liczbowymi lub logicznymi, muszą być one wyraźnie umieszczone w cudzysłowie (np. attributes.<key> = "10" lub attributes.<key> = "true").

Treść odpowiedzi

vehicles.search wiadomość z odpowiedzią.

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 miejsca dostawy; Z tego zamówienia można korzystać tylko wtedy, gdy w prośbie podano punkt dostawy.
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 z wartościami domyślnymi i można je modyfikować w przypadku poszczególnych klientów. Jeśli te wagi wymagają zmiany w przypadku Twojego 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 obecnymi podróżami zależy od pola includeBackToBack.
NONE Pojazdy, które nie zostały pokonane, mogą pojawiać się w wynikach wyszukiwania. Gdy używana jest ta wartość, includeBackToBack nie może być równe 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)

Przewidywany czas dojazdu pojazdu do punktu odbioru określonego w zgłoszeniu. Pustą wartość oznacza błąd obliczania przewidywanego czasu dotarcia pojazdu. Jeśli SearchVehiclesRequest.include_back_to_back to true, a pojazd ma aktywną podróż, vehiclePickupEta obejmować będzie czas potrzebny do zakończenia bieżącej aktywnej podróży.

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z".

vehiclePickupDistanceMeters

integer

Odległość od bieżącej lokalizacji pojazdu do miejsca odbioru określonego w żądaniu, w tym odległość do wszystkich pośrednich miejsc odbioru lub wysadzania pasażerów w przypadku istniejących przejazdów. 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). Pustą wartość oznacza błąd obliczania odległości.

vehiclePickupStraightLineDistanceMeters

integer

Wymagane. Odległość w linii prostej między pojazdem a punktem odbioru określonym 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 odbioru. Pustą wartość oznacza błąd obliczenia czasu przybycia.

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc po przecinku. Przykłady: "2014-10-02T15:01:23Z" i "2014-10-02T15:01:23.045123456Z".

vehiclePickupToDropoffDistanceMeters

integer

Odległość (w metrach) od miejsca odbioru do miejsca docelowego określonego w żądaniu. Odległość jest ograniczona tylko do tych 2 punktów i nie obejmuje lokalizacji pojazdu ani 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. Pustą wartość oznacza błąd obliczania odległości od punktu odbioru do punktu docelowego 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)

Posortowana lista punktów kontrolnych służących do obliczenia przewidywanego czasu dotarcia. Lista zawiera lokalizację pojazdu, punkty odbioru w przypadku aktywnych przejazdów oraz punkty odbioru podane w prośbie. Pusty wykaz oznacza, że nie udało się obliczyć czasu dotarcia pojazdu.

vehicleMatchType

enum (VehicleMatchType)

Typ dopasowania pojazdu.

requestedOrderedBy

enum (VehicleMatchOrder)

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

orderedBy

enum (VehicleMatchOrder)

Rzeczywiste zamówienie użyte w przypadku tego pojazdu. Zazwyczaj będzie to pole „orderBy” z żądania, ale w pewnych okolicznościach, np. w przypadku wewnętrznego błędu serwera, może zostać użyta inna metoda (np. PICKUP_POINT_STRAIGHT_DISTANCE).

Punkt pośredni

Opisuje punkty pośrednie na trasie VehicleMatchSearchVehiclesResponse. 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 kontrolnego.

eta

string (Timestamp format)

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

Sygnatura czasowa w formacie UTC „Zulu” zdefiniowanym w dokumencie RFC 3339, z dokładnością do nanosekund i maksymalnie 9 miejsc 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. Obliczenia czasu i odległości uwzględniają bieżącą podróż.