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}. Dostawcą musi być identyfikator projektu (np. sample-cloud-project) projektu Google Cloud, którego członkiem jest konto usługi wykonują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 którego chcesz szukać.

dropoffPoint

object (TerminalLocation)

Miejsce docelowe dostawy wskazane przez klienta. To 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 zwrócenia. Wartość musi zawierać się w przedziale od 1 do 50 (włącznie).

minimumCapacity

integer

Wymagane. Określa liczbę pasażerów, którzy mogą wziąć udział w podróży. Wartość musi być większa lub równa 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 ustawione, serwer używa domyślnej wartości 5 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 wybranych typów. Musisz określić co najmniej 1 typ pojazdu. Typy pojazdów z kategorią UNKNOWN są niedozwolone.

requiredAttributes[]

object (VehicleAttribute)

Aplikacje wywołujące mogą tworzyć złożone operacje logiczne, korzystając z dowolnej kombinacji pól requiredAttributes, requiredOneOfAttributesrequiredOneOfAttributeSets.

requiredAttributes to lista; requiredOneOfAttributes używa wiadomości, która umożliwia utworzenie listy list. Połączenie tych 2 pol pozwala stworzyć to wyrażenie:

(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 z określonymi atrybutami. To pole jest operacją konjunkcji (AND). Dozwolona jest maksymalnie 50 requiredAttributes. Jest to zgodne z maksymalną liczbą atrybutów dozwolonych dla pojazdu.

requiredOneOfAttributes[]

object (VehicleAttributeList)

Ogranicza wyszukiwanie tylko do tych pojazdów, które mają co najmniej jeden z wymienionych atrybutów w każdej VehicleAttributeList. W każdej z nich pojazd musi pasować do co najmniej jednego atrybutu. To pole jest operacją łącznie z wykluczeniem OR w każdym VehicleAttributeList i operacją z wykluczeniem AND w zbiorze VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets zapewnia dodatkowe funkcje.

Podobnie jak w przypadku requiredOneOfAttributes, usługa requiredOneOfAttributeSets używa wiadomości, która umożliwia tworzenie listy list, co pozwala na wyrażenia takie jak:

(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. W każdej z list pojazd musi odpowiadać wszystkim atrybutom. 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 żądane kryterium sortowania wyników.

includeBackToBack

boolean

Wskazuje, czy pojazdy z jednym aktywnym przejazdem kwalifikują się do tego wyszukiwania. To pole jest używane tylko wtedy, gdy currentTripsPresent nie jest określone. 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. Gdy ustawisz wartość currentTripsPresent, nie możesz ustawić tego pola na wartość 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 wyszukiwania. Jeśli tripType zawiera SHARED, musi mieć wartość inną niż CURRENT_TRIPS_PRESENT_UNSPECIFIED.

filter

string

Opcjonalnie: Filtr do stosowania podczas wyszukiwania pojazdów. Przykłady składni filtra 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 podana 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 liczba ograniczeń dozwolonych w zapytaniu filtra to 50.

Ponadto wszystkie atrybuty są przechowywane jako ciągi znaków, więc jedyne obsługiwane porównania atrybutów to 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, które spełniają kryteria SearchVehiclesRequest, posortowana według pola SearchVehiclesRequest.order_by.

VehicleAttributeList

Typ danych lista-z-list dla atrybutów pojazdu.

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ślna, używana w przypadku nieokreślonego lub nierozpoznanego pojazdu dopasowującego zamówienie.
PICKUP_POINT_ETA rosnąco według czasu przejazdu pojazdu do punktu odbioru;
PICKUP_POINT_DISTANCE rosnąco według odległości przebytej przez pojazd do miejsca 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 rosnąco według odległości w linii prostej od ostatniej zgłoszonej lokalizacji pojazdu do punktu odbioru;
COST rosnąco według skonfigurowanego kosztu dopasowania; Koszt dopasowania jest zdefiniowany jako ważona kombinacja odległości w linii prostej i czasu dojazdu. Wagi są ustawiane z wartościami domyślnymi i można je modyfikować w przypadku poszczególnych klientów. Jeśli te wagi trzeba zmodyfikować w przypadku Twojego projektu, skontaktuj się z zespołem pomocy Google.

CurrentTripsPresent

Określa typy ograniczeń dotyczących bieżących przejazdów 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 bez przejazdów mogą pojawiać się w wynikach wyszukiwania. Gdy używana jest ta wartość, includeBackToBack nie może być równe true.
ANY Wyniki wyszukiwania obejmują pojazdy z maksymalnie 5 bieżącymi podróżami i 10 punktami pośrednimi. Gdy używana jest ta wartość, includeBackToBack nie może być równe true.

VehicleMatch

Zawiera dane pojazdu i powiązane z nim szacunki, które pasują do punktów aktywnych podróży dla 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, który odpowiada żądaniu;

vehiclePickupEta

string (Timestamp format)

Przewidywany czas dojazdu pojazdu do punktu odbioru określonego w żądaniu. Pustą wartość oznacza błąd obliczenia przewidywanego czasu dotarcia pojazdu. Jeśli SearchVehiclesRequest.include_back_to_back to true, a pojazd ma aktywną podróż, vehiclePickupEta obejmie 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. Odległość ta obejmuje obliczoną odległość dojazdu (trasy) oraz odległość w linii prostej między punktem końcowym nawigacji a żądanym miejscem odbioru. (odległość między punktem docelowym 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)

Przewidywany czas dojazdu do miejsca docelowego wskazanego w żądaniu. Przewidywany czas przybycia uwzględnia postoje w dowolnych punktach pośrednich 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 obliczania 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""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 obliczana tylko między 2 punktami i nie obejmuje lokalizacji pojazdu ani innych punktów, które muszą zostać odwiedzone przed dotarciem do punktu odbioru lub do punktu docelowego. Wartość zostanie wypełniona tylko wtedy, gdy w żądaniu zostanie podana wartość dropoffPoint. Pustą wartość oznacza błąd obliczania odległości od punktu odbioru do punktu docelowego określonego w żądaniu.

tripType

enum (TripType)

Wymagane. Typ przejazdu, którego żądanie posłużyło do obliczenia przewidywanego czasu dojazdu do punktu odbioru.

vehicleTripsWaypoints[]

object (Waypoint)

Posortowana lista punktów pośrednich 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)

żądany porządek sortowania dopasowań pojazdów. Odpowiednik: orderedBy.

orderedBy

enum (VehicleMatchOrder)

żądany porządek sortowania dopasowań pojazdów. Odpowiednik: requestedOrderedBy.

Punkt pośredni

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

eta

string (Timestamp format)

Szacowany czas dotarcia pojazdu do tego punktu orientacyjnego.

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".

VehicleMatchType

Typ dopasowania pojazdu.

Wartości w polu enum
UNKNOWN Nieznany typ dopasowania pojazdu
EXCLUSIVE Pojazd nie ma obecnie przypisanej żadnej podróży i może udać się do punktu odbioru.
BACK_TO_BACK Pojazd jest obecnie przypisany do przejazdu, ale po zakończeniu bieżącego przejazdu może udać się do punktu odbioru. Obliczenia czasu i odległości uwzględniają bieżącą podróż.
CARPOOL pojazd ma wystarczającą liczbę miejsc do przejazdu.
CARPOOL_BACK_TO_BACK Pojazd ukończy bieżącą, aktywną podróż, zanim pojedzie do punktu odbioru. Obliczenia czasu i odległości uwzględniają bieżącą podróż.