Method: providers.vehicles.search

Menampilkan daftar kendaraan yang cocok dengan opsi permintaan.

Permintaan HTTP

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

URL menggunakan sintaksis gRPC Transcoding.

Parameter jalur

Parameter
parent

string

Wajib. Harus dalam format providers/{provider}. Penyedia harus berupa Project ID (misalnya, sample-cloud-project) dari Project Google Cloud tempat akun layanan yang melakukan panggilan ini adalah anggotanya.

Isi permintaan

Isi permintaan memuat data dengan struktur berikut:

Representasi 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
}
Kolom
header

object (RequestHeader)

Header permintaan Fleet Engine standar.

pickupPoint

object (TerminalLocation)

Wajib. Lokasi pengambilan yang akan ditelusuri di dekatnya.

dropoffPoint

object (TerminalLocation)

Lokasi pengantaran yang diinginkan pelanggan. Kolom ini wajib diisi jika tripTypes berisi TripType.SHARED.

pickupRadiusMeters

integer

Wajib. Menentukan radius penelusuran kendaraan di sekitar titik penjemputan. Hanya kendaraan dalam radius penelusuran yang akan ditampilkan. Nilai harus antara 400 dan 10.000 meter (inklusif).

count

integer

Wajib. Menentukan jumlah maksimum kendaraan yang akan ditampilkan. Nilai harus antara 1 dan 50 (inklusif).

minimumCapacity

integer

Wajib. Menentukan jumlah penumpang yang dipertimbangkan untuk perjalanan. Nilai harus lebih besar dari atau sama dengan satu. Pengemudi tidak dipertimbangkan dalam nilai kapasitas.

tripTypes[]

enum (TripType)

Wajib. Merepresentasikan jenis perjalanan yang diusulkan. Harus menyertakan tepat satu jenis. UNKNOWN_TRIP_TYPE tidak diizinkan. Membatasi penelusuran hanya ke kendaraan yang dapat mendukung jenis perjalanan tersebut.

maximumStaleness

string (Duration format)

Membatasi penelusuran hanya untuk kendaraan yang telah mengirim info terbaru lokasi ke Fleet Engine dalam durasi yang ditentukan. Kendaraan diam yang masih mengirimkan lokasinya tidak dianggap tidak berlaku lagi. Jika kolom ini tidak ditetapkan, server akan menggunakan lima menit sebagai nilai default.

Durasi dalam detik dengan maksimal sembilan digit pecahan, yang diakhiri dengan 's'. Contoh: "3.5s".

vehicleTypes[]

object (VehicleType)

Wajib. Membatasi penelusuran ke kendaraan dengan salah satu jenis yang ditentukan. Setidaknya satu jenis kendaraan harus ditentukan. VehicleTypes dengan kategori UNKNOWN tidak diizinkan.

requiredAttributes[]

object (VehicleAttribute)

Pemanggil dapat membentuk operasi logis yang kompleks menggunakan kombinasi kolom requiredAttributes, requiredOneOfAttributes, dan requiredOneOfAttributeSets.

requiredAttributes adalah daftar; requiredOneOfAttributes menggunakan pesan yang memungkinkan daftar daftar. Secara gabungan, kedua kolom ini memungkinkan komposisi ekspresi ini:

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

Membatasi penelusuran hanya untuk kendaraan dengan atribut yang ditentukan. Kolom ini adalah operasi konjungsi/AND. Maksimum 50 requiredAttributes yang diizinkan. Jumlah ini cocok dengan jumlah maksimum atribut yang diizinkan pada kendaraan.

requiredOneOfAttributes[]

object (VehicleAttributeList)

Membatasi penelusuran hanya ke kendaraan yang memiliki setidaknya satu atribut yang ditentukan di setiap VehicleAttributeList. Dalam setiap daftar, kendaraan harus cocok dengan setidaknya salah satu atribut. Kolom ini adalah operasi disjungsi/OR inklusif di setiap VehicleAttributeList dan operasi konjungsi/AND di seluruh kumpulan VehicleAttributeList.

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets menyediakan fungsi tambahan.

Serupa dengan requiredOneOfAttributes, requiredOneOfAttributeSets menggunakan pesan yang memungkinkan daftar daftar, sehingga memungkinkan ekspresi seperti ini:

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

Membatasi penelusuran hanya ke kendaraan tersebut dengan semua atribut dalam VehicleAttributeList. Dalam setiap daftar, kendaraan harus cocok dengan semua atribut. Kolom ini adalah operasi konjungsi/AND di setiap VehicleAttributeList dan operasi disjungsi/OR inklusif di seluruh kumpulan VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

Wajib. Menentukan kriteria pengurutan yang diinginkan untuk hasil.

includeBackToBack

boolean

Ini menunjukkan apakah kendaraan dengan satu perjalanan aktif memenuhi syarat untuk penelusuran ini. Kolom ini hanya digunakan jika currentTripsPresent tidak ditentukan. Jika currentTripsPresent tidak ditentukan dan kolom ini adalah false, kendaraan dengan perjalanan yang ditetapkan akan dikecualikan dari hasil penelusuran. Jika currentTripsPresent tidak ditentukan dan kolom ini adalah true, hasil penelusuran dapat menyertakan kendaraan dengan satu perjalanan aktif yang memiliki status ENROUTE_TO_DROPOFF. Jika currentTripsPresent ditentukan, kolom ini tidak dapat ditetapkan ke benar.

Nilai default-nya adalah false.

tripId

string

Menunjukkan perjalanan yang terkait dengan SearchVehicleRequest ini.

currentTripsPresent

enum (CurrentTripsPresent)

Ini menunjukkan apakah kendaraan dengan perjalanan aktif memenuhi syarat untuk penelusuran ini. Nilai ini harus ditetapkan ke sesuatu selain CURRENT_TRIPS_PRESENT_UNSPECIFIED jika tripType menyertakan SHARED.

filter

string

Opsional. Kueri filter yang akan diterapkan saat menelusuri kendaraan. Lihat http://aip.dev/160 untuk contoh sintaksis filter.

Kolom ini dirancang untuk menggantikan kolom requiredAttributes, requiredOneOfAttributes, dan required_one_of_attributes_sets. Jika nilai yang tidak kosong ditentukan di sini, kolom berikut harus kosong: requiredAttributes, requiredOneOfAttributes, dan required_one_of_attributes_sets.

Filter ini berfungsi sebagai klausa AND dengan batasan lain, seperti minimumCapacity atau vehicleTypes.

Perhatikan bahwa satu-satunya kueri yang didukung adalah pada atribut kendaraan (misalnya, attributes.<key> = <value> atau attributes.<key1> = <value1> AND attributes.<key2> = <value2>). Jumlah maksimum batasan yang diizinkan dalam kueri filter adalah 50.

Selain itu, semua atribut disimpan sebagai string, sehingga satu-satunya perbandingan yang didukung terhadap atribut adalah perbandingan string. Untuk dibandingkan dengan nilai angka atau boolean, nilai harus diapit tanda kutip secara eksplisit agar diperlakukan sebagai string (misalnya, attributes.<key> = "10" atau attributes.<key> = "true").

Isi respons

Pesan respons vehicles.search.

Jika berhasil, isi respons memuat data dengan struktur berikut:

Representasi JSON
{
  "matches": [
    {
      object (VehicleMatch)
    }
  ]
}
Kolom
matches[]

object (VehicleMatch)

Daftar kendaraan yang cocok dengan kriteria SearchVehiclesRequest, diurutkan menurut kolom SearchVehiclesRequest.order_by.

VehicleAttributeList

Jenis data daftar-daftar untuk atribut kendaraan.

Representasi JSON
{
  "attributes": [
    {
      object (VehicleAttribute)
    }
  ]
}
Kolom
attributes[]

object (VehicleAttribute)

Daftar atribut dalam koleksi ini.

VehicleMatchOrder

Menentukan urutan kecocokan kendaraan dalam respons.

Enum
UNKNOWN_VEHICLE_MATCH_ORDER Default, digunakan untuk urutan kecocokan kendaraan yang tidak ditentukan atau tidak dikenali.
PICKUP_POINT_ETA Urutan menaik berdasarkan waktu mengemudi kendaraan ke titik pengambilan.
PICKUP_POINT_DISTANCE Urutan menaik berdasarkan jarak mengemudi kendaraan ke titik pengambilan.
DROPOFF_POINT_ETA Urutan menaik berdasarkan waktu mengemudi kendaraan ke titik pengantaran. Urutan ini hanya dapat digunakan jika titik pengantaran ditentukan dalam permintaan.
PICKUP_POINT_STRAIGHT_DISTANCE Urutan menaik berdasarkan jarak garis lurus dari lokasi terakhir yang dilaporkan kendaraan ke titik penjemputan.
COST Urutan menaik menurut biaya pencocokan yang dikonfigurasi. Biaya kecocokan didefinisikan sebagai penghitungan berbobot antara jarak garis lurus dan perkiraan waktu tiba. Bobot ditetapkan dengan nilai default dan dapat diubah per pelanggan. Hubungi dukungan Google jika bobot ini perlu diubah untuk project Anda.

CurrentTripsPresent

Menentukan jenis batasan pada perjalanan kendaraan saat ini.

Enum
CURRENT_TRIPS_PRESENT_UNSPECIFIED Ketersediaan kendaraan dengan perjalanan yang ada diatur oleh kolom includeBackToBack.
NONE Kendaraan tanpa perjalanan dapat muncul di hasil penelusuran. Jika nilai ini digunakan, includeBackToBack tidak boleh true.
ANY Kendaraan dengan maksimal 5 perjalanan saat ini dan 10 titik jalan disertakan dalam hasil penelusuran. Jika nilai ini digunakan, includeBackToBack tidak boleh true.

VehicleMatch

Berisi kendaraan dan estimasi terkait untuk kendaraan yang cocok dengan titik perjalanan aktif untuk kendaraan SearchVehiclesRequest.

Representasi 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)
}
Kolom
vehicle

object (Vehicle)

Wajib. Kendaraan yang cocok dengan permintaan.

vehiclePickupEta

string (Timestamp format)

Perkiraan waktu tiba kendaraan ke titik penjemputan yang ditentukan dalam permintaan. Nilai kosong menunjukkan kegagalan dalam menghitung perkiraan waktu tiba untuk kendaraan. Jika SearchVehiclesRequest.include_back_to_back adalah true dan kendaraan ini memiliki perjalanan aktif, vehiclePickupEta akan menyertakan waktu yang diperlukan untuk menyelesaikan perjalanan aktif saat ini.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

vehiclePickupDistanceMeters

integer

Jarak dari lokasi Kendaraan saat ini ke titik penjemputan yang ditentukan dalam permintaan, termasuk titik penjemputan atau pengantaran perantara untuk perjalanan yang ada. Jarak ini terdiri dari jarak mengemudi (rute) yang dihitung, ditambah jarak garis lurus antara titik akhir navigasi dan titik penjemputan yang diminta. (Jarak antara titik akhir navigasi dan titik pengambilan yang diminta biasanya kecil.) Nilai kosong menunjukkan error dalam menghitung jarak.

vehiclePickupStraightLineDistanceMeters

integer

Wajib. Jarak garis lurus antara kendaraan dan titik penjemputan yang ditentukan dalam permintaan.

vehicleDropoffEta

string (Timestamp format)

Perkiraan waktu tiba kendaraan lengkap ke titik penjemputan yang ditentukan dalam permintaan. Perkiraan waktu tiba mencakup perhentian di titik jalan mana pun sebelum dropoffPoint yang ditentukan dalam permintaan. Nilai hanya akan diisi jika titik penjemputan ditentukan dalam permintaan. Nilai kosong menunjukkan error saat menghitung perkiraan waktu tiba.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

vehiclePickupToDropoffDistanceMeters

integer

Jarak mengemudi kendaraan (dalam meter) dari titik pengambilan ke titik pengantaran yang ditentukan dalam permintaan. Jarak hanya antara dua titik dan tidak mencakup lokasi kendaraan atau titik lain yang harus dikunjungi sebelum kendaraan mengunjungi titik penjemputan atau titik pengantaran. Nilai hanya akan diisi jika dropoffPoint ditentukan dalam permintaan. Nilai kosong menunjukkan kegagalan dalam menghitung jarak dari titik pengambilan ke titik pengantaran yang ditentukan dalam permintaan.

tripType

enum (TripType)

Wajib. Jenis perjalanan permintaan yang digunakan untuk menghitung perkiraan waktu tiba ke titik penjemputan.

vehicleTripsWaypoints[]

object (Waypoint)

Daftar waypoint yang diurutkan dan digunakan untuk menghitung perkiraan waktu tiba. Daftar ini mencakup lokasi kendaraan, titik penjemputan perjalanan aktif untuk kendaraan, dan titik penjemputan yang diberikan dalam permintaan. Daftar kosong menunjukkan kegagalan dalam menghitung perkiraan waktu tiba untuk kendaraan.

vehicleMatchType

enum (VehicleMatchType)

Jenis pencocokan kendaraan.

requestedOrderedBy

enum (VehicleMatchOrder)

Urutan yang diminta untuk mengurutkan kecocokan kendaraan. Setara dengan orderedBy.

orderedBy

enum (VehicleMatchOrder)

Urutan yang diminta untuk mengurutkan kecocokan kendaraan. Setara dengan requestedOrderedBy.

Waypoint

Menjelaskan titik perantara di sepanjang rute untuk VehicleMatch dalam SearchVehiclesResponse. Konsep ini direpresentasikan sebagai TripWaypoint di semua endpoint lainnya.

Representasi JSON
{
  "latLng": {
    object (LatLng)
  },
  "eta": string
}
Kolom
latLng

object (LatLng)

Lokasi titik jalan ini.

eta

string (Timestamp format)

Perkiraan waktu kendaraan akan tiba di titik jalan ini.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan hingga sembilan digit pecahan. Contoh: "2014-10-02T15:01:23Z" dan "2014-10-02T15:01:23.045123456Z".

VehicleMatchType

Jenis pencocokan kendaraan.

Enum
UNKNOWN Jenis pencocokan kendaraan tidak diketahui
EXCLUSIVE Kendaraan saat ini tidak memiliki perjalanan yang ditetapkan dan dapat melanjutkan ke titik penjemputan.
BACK_TO_BACK Kendaraan saat ini ditetapkan untuk perjalanan, tetapi dapat melanjutkan ke titik penjemputan setelah menyelesaikan perjalanan yang sedang berlangsung. Perkiraan waktu tiba dan penghitungan jarak memperhitungkan perjalanan yang ada.
CARPOOL Kendaraan memiliki kapasitas yang memadai untuk perjalanan bersama.
CARPOOL_BACK_TO_BACK Kendaraan akan menyelesaikan perjalanan aktifnya saat ini sebelum melanjutkan ke titik penjemputan. Perkiraan waktu tiba dan penghitungan jarak memperhitungkan perjalanan yang ada.