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. To 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 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. Stacjonarne pojazdy, które nadal przesyłają swoje lokalizacje, nie są uznawane 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. Należy określić co najmniej jeden typ pojazdu. Typy pojazdów z kategorią 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 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 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 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 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. W każdej z list pojazd musi odpowiadać wszystkim atrybutom. 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 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. 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 pojazdy z aktywnymi przejazdami kwalifikują się do 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 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 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.

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 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 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 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 rosnąco według odległości w linii prostej od ostatniej odnotowanej 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 musisz zmodyfikować te wagi na potrzeby projektu, skontaktuj się z zespołem pomocy Google.

CurrentTripsPresent

Określa typy ograniczeń dotyczących bieżących podróży 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. 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. 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 tego 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. 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 RFC3339 UTC „Zulu” z rozdzielczością nanosekundy 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 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). 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. Wartość zostanie wypełniona tylko wtedy, gdy w żądaniu zostanie określony punkt odbioru. Pusta wartość oznacza błąd podczas obliczania szacowanego czasu dotarcia na miejsce.

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ść pojazdu (w metrach) od punktu odbioru do miejsca nadania 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 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. 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. Zwykle wartość ta jest zgodna z wartością w polu „orderBy” z żądania. Jednak w pewnych okolicznościach, takich jak wewnętrzny błąd serwera, może zostać użyta inna metoda (np. PICKUP_POINT_STRAIGHT_DISTANCE).

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)

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""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 podróży, ale po zakończeniu trwającej podróży może przejść do punktu odbioru. Obliczenia czasu i odległości uwzględniają bieżącą podróż.
CARPOOL Pojazd ma wystarczającą pojemność do wspólnego przejazdu.
CARPOOL_BACK_TO_BACK Pojazd dojedzie do punktu odbioru dopiero po zakończeniu bieżącej, aktywnej podróży. Obliczenia czasu i odległości uwzględniają bieżącą podróż.