Method: providers.vehicles.search

İstek seçenekleriyle eşleşen araçların listesini döndürür.

HTTP isteği

POST https://fleetengine.googleapis.com/v1/{parent=providers/*}/vehicles:search

URL, gRPC Kod Dönüştürme söz dizimini kullanır.

Yol parametreleri

Parametreler
parent

string

Zorunlu. providers/{provider} biçiminde olmalıdır. Sağlayıcı, bu çağrıyı yapan hizmet hesabının üyesi olduğu Google Cloud projesinin proje kimliği (ör. sample-cloud-project) olmalıdır.

İstek içeriği

İstek metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "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
}
Alanlar
header

object (RequestHeader)

Standart Fleet Engine istek başlığı.

pickupPoint

object (TerminalLocation)

Zorunlu. Yakınında arama yapılacak teslim noktası.

dropoffPoint

object (TerminalLocation)

Müşterinin teslimat için tercih ettiği konum. tripTypes, TripType.SHARED içeriyorsa alan zorunludur.

pickupRadiusMeters

integer

Zorunlu. Araç arama yarıçapını, teslim alma noktasının etrafında tanımlar. Yalnızca arama yarıçapı içindeki araçlar döndürülür. Değer 400 ile 10.000 metre (dahil) arasında olmalıdır.

count

integer

Zorunlu. Döndürülecek maksimum araç sayısını belirtir. Değer 1 ile 50 (başlangıç ve bitiş değerleri dahil) arasında olmalıdır.

minimumCapacity

integer

Zorunlu. Bir seyahat için dikkate alınan yolcu sayısını belirtir. Değer bir veya daha büyük olmalıdır. Sürücü, kapasite değerinde dikkate alınmaz.

tripTypes[]

enum (TripType)

Zorunlu. Önerilen seyahatin türünü temsil eder. Tam olarak bir tür içermelidir. UNKNOWN_TRIP_TYPE politikasına izin verilmiyor. Aramayı yalnızca bu seyahat türünü destekleyebilecek araçlarla sınırlandırır.

maximumStaleness

string (Duration format)

Aramayı yalnızca belirtilen süre içinde Fleet Engine'a konum güncellemesi gönderen araçlarla sınırlandırır. Hareketsiz olan ancak konumlarını hâlâ gönderen araçlar eski kabul edilmez. Bu alan ayarlanmazsa sunucu varsayılan değer olarak beş dakikayı kullanır.

En fazla dokuz kesirli basamak içeren ve "s" ile biten, saniye cinsinden süre. Örnek: "3.5s".

vehicleTypes[]

object (VehicleType)

Zorunlu. Aramayı, belirtilen türlerden birine sahip araçlarla sınırlar. En az bir araç türü belirtilmelidir. UNKNOWN kategorisine sahip VehicleTypes öğelerine izin verilmez.

requiredAttributes[]

object (VehicleAttribute)

Arayanlar, requiredAttributes, requiredOneOfAttributes ve requiredOneOfAttributeSets alanlarının herhangi bir kombinasyonunu kullanarak karmaşık mantıksal işlemler oluşturabilir.

requiredAttributes bir listetir; requiredOneOfAttributes, listelerin listesine izin veren bir mesaj kullanır. Bu iki alan birlikte kullanıldığında aşağıdaki ifadenin oluşturulmasına olanak tanır:

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(requiredOneOfAttributes[0][0] OR requiredOneOfAttributes[0][1] OR
...)
AND
(requiredOneOfAttributes[1][0] OR requiredOneOfAttributes[1][1] OR
...)

Aramayı yalnızca belirtilen özelliklere sahip araçlarla sınırlandırır. Bu alan bir birleşim/VE işlemidir. En fazla 50 requiredAttributes değerine izin verilir. Bu sayı, bir araçta izin verilen maksimum özellik sayısıyla eşleşir.

requiredOneOfAttributes[]

object (VehicleAttributeList)

Aramayı yalnızca her VehicleAttributeList'te belirtilen özelliklerden en az birine sahip araçlarla sınırlandırır. Her listede bir araç, özelliklerden en az biriyle eşleşmelidir. Bu alan, her VehicleAttributeList öğesinde kapsayıcı bir ayrım/VEYA işlemi ve VehicleAttributeList koleksiyonu genelinde bir birleştirme/VE işlemidir.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets ek işlevler sağlar.

requiredOneOfAttributes'e benzer şekilde requiredOneOfAttributeSets, liste listesine izin veren bir mesaj kullanır ve aşağıdaki gibi ifadelere izin verir:

(requiredAttributes[0] AND requiredAttributes[1] AND ...)
AND
(
  (requiredOneOfAttributeSets[0][0] AND
  requiredOneOfAttributeSets[0][1] AND
  ...)
  OR
  (requiredOneOfAttributeSets[1][0] AND
  requiredOneOfAttributeSets[1][1] AND
  ...)
)

Aramayı yalnızca VehicleAttributeList içinde tüm özelliklere sahip araçlarla sınırlandırır. Her listede bir araç, tüm özelliklerle eşleşmelidir. Bu alan, her VehicleAttributeList öğesinde bir birleşim/VE işlemi ve VehicleAttributeList koleksiyonunda kapsayıcı bir ayrım/VEYA işlemidir.

orderBy

enum (VehicleMatchOrder)

Zorunlu. Sonuçlar için istenen sıralama ölçütünü belirtir.

includeBackToBack

boolean

Tek bir etkin seyahat içeren araçların bu arama için uygun olup olmadığını belirtir. Bu alan yalnızca currentTripsPresent belirtilmediğinde kullanılır. currentTripsPresent belirtilmemişse ve bu alan false ise atanmış seyahatleri olan araçlar arama sonuçlarından hariç tutulur. currentTripsPresent belirtilmemişse ve bu alan true ise arama sonuçları, ENROUTE_TO_DROPOFF durumu olan bir etkin seyahat içeren araçları içerebilir. currentTripsPresent belirtildiğinde bu alan doğru olarak ayarlanamaz.

Varsayılan değer: false.

tripId

string

Bu SearchVehicleRequest ile ilişkili geziyi belirtir.

currentTripsPresent

enum (CurrentTripsPresent)

Bu, etkin seyahatleri olan araçların bu arama için uygun olup olmadığını belirtir. tripType, SHARED değerini içeriyorsa bu değer CURRENT_TRIPS_PRESENT_UNSPECIFIED dışında bir değere ayarlanmalıdır.

filter

string

İsteğe bağlı. Araç araması yaparken uygulanacak filtre sorgusu. Filtre söz dizimi örnekleri için http://aip.dev/160 adresine bakın.

Bu alan, requiredAttributes, requiredOneOfAttributes ve required_one_of_attributes_sets alanlarının yerini alacak şekilde tasarlanmıştır. Burada boş olmayan bir değer belirtilirse şu alanlar boş olmalıdır: requiredAttributes, requiredOneOfAttributes ve required_one_of_attributes_sets.

Bu filtre, minimumCapacity veya vehicleTypes gibi diğer kısıtlamalarla birlikte bir VE ifadesi olarak işlev görür.

Yalnızca araç özellikleriyle ilgili sorguların desteklendiğini (örneğin, attributes.<key> = <value> veya attributes.<key1> = <value1> AND attributes.<key2> = <value2>) unutmayın. Filtre sorgusunda izin verilen maksimum kısıtlama sayısı 50'dir.

Ayrıca tüm özellikler dize olarak depolandığından, özelliklerle ilgili olarak desteklenen tek karşılaştırma dize karşılaştırmasıdır. Sayı veya Boole değerleriyle karşılaştırmak için değerlerin dize olarak değerlendirilmesi amacıyla açıkça tırnak içine alınması gerekir (örneğin, attributes.<key> = "10" veya attributes.<key> = "true").

Yanıt gövdesi

vehicles.search yanıt mesajı.

Başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

JSON gösterimi
{
  "matches": [
    {
      object (VehicleMatch)
    }
  ]
}
Alanlar
matches[]

object (VehicleMatch)

SearchVehiclesRequest ölçütleriyle eşleşen araçların, SearchVehiclesRequest.order_by alanına göre sıralanmış listesi.

VehicleAttributeList

Araç özellikleri için liste listesi veri türü.

JSON gösterimi
{
  "attributes": [
    {
      object (VehicleAttribute)
    }
  ]
}
Alanlar
attributes[]

object (VehicleAttribute)

Bu koleksiyondaki özelliklerin listesi.

VehicleMatchOrder

Yanıtta araç eşleşmelerinin sırasını belirtir.

Sıralamalar
UNKNOWN_VEHICLE_MATCH_ORDER Varsayılan olarak, belirtilmemiş veya tanınmayan araç eşleşmeleri için kullanılır.
PICKUP_POINT_ETA Araçla teslim alma noktasına sürüş süresine göre artan düzende.
PICKUP_POINT_DISTANCE Araçla teslim alma noktasına olan sürüş mesafesine göre artan düzen.
DROPOFF_POINT_ETA Araçla teslim noktasına sürüş süresine göre artan düzende. Bu sipariş yalnızca teslimat noktası isteğinde belirtilmişse kullanılabilir.
PICKUP_POINT_STRAIGHT_DISTANCE Aracın son bildirilen konumundan teslim alma noktasına olan düz çizgi mesafesine göre artan düzen.
COST Yapılandırılmış eşleme maliyetine göre artan düzen. Eşleşme maliyeti, doğrusal mesafe ile ETA arasında ağırlıklı bir hesaplama olarak tanımlanır. Ağırlıklar varsayılan değerlerle ayarlanır ve müşteri başına değiştirilebilir. Projeniz için bu ağırlıkların değiştirilmesi gerekiyorsa lütfen Google Destek Ekibi ile iletişime geçin.

CurrentTripsPresent

Bir aracın mevcut gezilerindeki kısıtlama türlerini belirtir.

Sıralamalar
CURRENT_TRIPS_PRESENT_UNSPECIFIED Seyahatleri olan araçların müsaitlik durumu includeBackToBack alanına göre belirlenir.
NONE Gezi içermeyen araçlar arama sonuçlarında görünebilir. Bu değer kullanıldığında includeBackToBack, true olamaz.
ANY En fazla 5 mevcut seyahat ve 10 yol noktası olan araçlar arama sonuçlarına dahil edilir. Bu değer kullanıldığında includeBackToBack, true olamaz.

VehicleMatch

SearchVehiclesRequest aracının etkin seyahat noktalarıyla eşleşen bir araç ve ilgili tahminleri içerir.

JSON gösterimi
{
  "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)
}
Alanlar
vehicle

object (Vehicle)

Zorunlu. İstekle eşleşen bir araç.

vehiclePickupEta

string (Timestamp format)

Aracın, istekte belirtilen teslim alma noktasına tahmini varış zamanı. Boş bir değer, aracın ETA'sının hesaplanmasında bir hata olduğunu gösterir. SearchVehiclesRequest.include_back_to_back, true ise ve bu aracın etkin bir yolculuğu varsa vehiclePickupEta, mevcut etkin yolculuğu tamamlamak için gereken süreyi içerir.

Nanosaniye çözünürlüğüne sahip ve en fazla dokuz kesirli basamak içeren RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: "2014-10-02T15:01:23Z" ve "2014-10-02T15:01:23.045123456Z".

vehiclePickupDistanceMeters

integer

Mevcut seyahatlerde ara teslim alma veya bırakma noktaları da dahil olmak üzere aracın mevcut konumundan, istekte belirtilen teslim alma noktasına olan mesafe. Bu mesafe, hesaplanan sürüş (rota) mesafesinin yanı sıra navigasyon bitiş noktası ile istenen teslim alma noktası arasındaki doğrusal mesafeden oluşur. (Navigasyon varış noktası ile istenen teslim alma noktası arasındaki mesafe genellikle kısadır.) Boş bir değer, mesafenin hesaplanmasında bir hata olduğunu gösterir.

vehiclePickupStraightLineDistanceMeters

integer

Zorunlu. Araç ile istekte belirtilen teslim alma noktası arasındaki düz çizgi mesafesi.

vehicleDropoffEta

string (Timestamp format)

Araçla, istekte belirtilen teslim noktasına tahmini varış zamanı. ETA, istekte belirtilen dropoffPoint noktasından önceki tüm yol noktalarında durmayı içerir. Değer yalnızca istekte bir teslim noktası belirtildiğinde doldurulur. Boş bir değer, ETA'nın hesaplanmasında bir hata olduğunu gösterir.

Nanosaniye çözünürlüğüne sahip ve en fazla dokuz kesirli basamak içeren RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: "2014-10-02T15:01:23Z" ve "2014-10-02T15:01:23.045123456Z".

vehiclePickupToDropoffDistanceMeters

integer

Aracın, teslim alma noktasından istekte belirtilen teslim noktasına kadar katettiği sürüş mesafesi (metre cinsinden). Mesafe yalnızca iki nokta arasındadır ve aracın konumunu veya aracın teslim alma noktasını ya da teslim etme noktasını ziyaret etmeden önce ziyaret edilmesi gereken diğer noktaları içermez. Değer yalnızca istekte bir dropoffPoint belirtildiğinde doldurulur. Boş bir değer, istekte belirtilen teslim alma noktasından teslim noktasına olan mesafenin hesaplanmasında bir hata olduğunu gösterir.

tripType

enum (TripType)

Zorunlu. Alma noktasına tahmini varış süresini hesaplamak için kullanılan istek seyahat türü.

vehicleTripsWaypoints[]

object (Waypoint)

ETA'yı hesaplamak için kullanılan yol noktalarının sıralı listesi. Listede araç konumu, araç için etkin seyahatlerin teslim alma noktaları ve istekte sağlanan teslim alma noktaları yer alır. Boş liste, aracın tahmini varış süresinin hesaplanmasında bir hata olduğunu gösterir.

vehicleMatchType

enum (VehicleMatchType)

Araç eşleşmesinin türü.

requestedOrderedBy

enum (VehicleMatchOrder)

Araç eşleşmelerini sıralamak için istenen sipariş. orderedBy etiketine eş değer.

orderedBy

enum (VehicleMatchOrder)

Araç eşleşmelerini sıralamak için istenen sipariş. requestedOrderedBy etiketine eş değer.

Ara nokta

Bir SearchVehiclesResponse içindeki VehicleMatch için bir rotadaki ara noktaları tanımlar. Bu kavram, diğer tüm uç noktalarda TripWaypoint olarak temsil edilir.

JSON gösterimi
{
  "latLng": {
    object (LatLng)
  },
  "eta": string
}
Alanlar
latLng

object (LatLng)

Bu yol noktasının konumu.

eta

string (Timestamp format)

Aracın bu yol noktasına ulaşacağı tahmini zaman.

Nanosaniye çözünürlüğüne sahip ve en fazla dokuz kesirli basamak içeren RFC3339 UTC "Zulu" biçiminde bir zaman damgası. Örnekler: "2014-10-02T15:01:23Z" ve "2014-10-02T15:01:23.045123456Z".

VehicleMatchType

Araç eşleşmesinin türü.

Sıralamalar
UNKNOWN Bilinmeyen araç eşleşme türü
EXCLUSIVE Araca şu anda atanmış bir seyahat yok ve araç teslim alma noktasına gidebilir.
BACK_TO_BACK Araç şu anda bir seyahate atanmış ancak devam eden seyahati tamamladıktan sonra teslim alma noktasına gidebilir. TVS ve mesafe hesaplamaları mevcut seyahat hesaba katılır.
CARPOOL Araç, ortak yolculuk için yeterli kapasiteye sahip olmalıdır.
CARPOOL_BACK_TO_BACK Araç, teslim alma noktasına gitmeden önce mevcut aktif yolculuğunu tamamlar. TVS ve mesafe hesaplamaları mevcut seyahat hesaba katılır.