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 merupakan Project ID (misalnya, sample-cloud-project) dari Project Google Cloud tempat akun layanan yang melakukan panggilan ini menjadi anggota.

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. Titik penjemputan untuk menelusuri di dekat.

dropoffPoint

object (TerminalLocation)

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

pickupRadiusMeters

integer

Wajib. Menentukan radius pencarian 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 atau sama dengan satu. Driver tidak dipertimbangkan dalam nilai kapasitas.

tripTypes[]

enum (TripType)

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

maximumStaleness

string (Duration format)

Membatasi penelusuran hanya pada kendaraan yang telah mengirimkan pembaruan lokasi ke Fleet Engine dalam durasi yang ditentukan. Kendaraan tidak bergerak yang masih mengirimkan lokasinya tidak dianggap usang. Jika kolom ini tidak disetel, server akan menggunakan lima menit sebagai nilai default.

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

vehicleTypes[]

object (VehicleType)

Wajib. Membatasi penelusuran pada kendaraan dengan salah satu jenis yang ditentukan. Minimal satu jenis kendaraan harus ditentukan. VehicleType 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 mengizinkan daftar. Dalam kombinasinya, 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 pada kendaraan dengan atribut yang ditentukan. Kolom ini merupakan operasi gabungan/DAN. Maksimum 50 requiredAttributes diizinkan. Jumlah ini cocok dengan jumlah atribut maksimum yang diizinkan di kendaraan.

requiredOneOfAttributes[]

object (VehicleAttributeList)

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

requiredOneOfAttributeSets[]

object (VehicleAttributeList)

requiredOneOfAttributeSets menyediakan fungsi tambahan.

Serupa dengan requiredOneOfAttributes, requiredOneOfAttributeSets menggunakan pesan yang memungkinkan daftar daftar, yang 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 untuk kendaraan tersebut dengan semua atribut di VehicleAttributeList. Dalam setiap daftar, kendaraan harus cocok dengan semua atribut. Kolom ini merupakan operasi konjungsi/AND di setiap VehicleAttributeList dan operasi disjungsi/ATAU inklusif di seluruh kumpulan VehicleAttributeList.

orderBy

enum (VehicleMatchOrder)

Wajib. Menentukan kriteria pengurutan yang diinginkan untuk hasil.

includeBackToBack

boolean

Hal 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 ditetapkan ke 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 true.

Nilai default-nya adalah false.

tripId

string

Menunjukkan perjalanan yang terkait dengan SearchVehicleRequest ini.

currentTripsPresent

enum (CurrentTripsPresent)

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

filter

string

Opsional. Kueri filter yang akan diterapkan saat menelusuri kendaraan. Buka http://aip.dev/160 untuk mengetahui 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 lainnya, 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 membandingkan dengan nilai angka atau boolean, nilai harus dikutip secara eksplisit agar diperlakukan sebagai string (misalnya, attributes.<key> = "10" atau attributes.<key> = "true").

Isi respons

vehicles.search pesan respons.

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 kendaraan yang cocok dalam respons.

Enum
UNKNOWN_VEHICLE_MATCH_ORDER Default, digunakan untuk pesanan kendaraan yang tidak ditentukan atau tidak dikenal.
PICKUP_POINT_ETA Urutan naik menurut waktu mengemudi kendaraan ke titik penjemputan.
PICKUP_POINT_DISTANCE Urutan naik menurut jarak mengemudi kendaraan ke titik penjemputan.
DROPOFF_POINT_ETA Urutan menaik menurut waktu mengemudi kendaraan ke titik pengantaran. Pesanan ini hanya dapat digunakan jika titik pengantaran ditentukan dalam permintaan.
PICKUP_POINT_STRAIGHT_DISTANCE Urutan menaik menurut jarak garis lurus dari lokasi terakhir kendaraan yang dilaporkan ke titik penjemputan.
COST Urutan menaik menurut biaya pencocokan yang dikonfigurasi. Biaya pencocokan didefinisikan sebagai penghitungan berbobot antara jarak garis lurus dan PWT. 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 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 sesuai dengan permintaan.

vehiclePickupEta

string (Timestamp format)

Kendaraan mengemudi PWT ke lokasi penjemputan yang ditentukan dalam permintaan. Nilai kosong menunjukkan kegagalan dalam menghitung PWT untuk kendaraan. Jika SearchVehiclesRequest.include_back_to_back adalah true dan kendaraan ini memiliki perjalanan aktif, vehiclePickupEta mencakup waktu yang diperlukan untuk menyelesaikan perjalanan aktif saat ini.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. 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 meliputi 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 penjemputan 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)

Kendaraan yang lengkap mengarahkan PWT ke titik pengantaran yang ditentukan dalam permintaan. PWT mencakup berhenti di setiap titik jalan sebelum dropoffPoint yang ditentukan dalam permintaan. Nilai hanya akan diisi jika titik pengantaran ditentukan dalam permintaan. Nilai kosong menunjukkan error saat menghitung PWT.

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

vehiclePickupToDropoffDistanceMeters

integer

Jarak mengemudi kendaraan (dalam meter) dari titik penjemputan 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 penjemputan ke titik pengantaran yang ditentukan dalam permintaan.

tripType

enum (TripType)

Wajib. Jenis perjalanan dari permintaan yang digunakan untuk menghitung PWT ke titik penjemputan.

vehicleTripsWaypoints[]

object (Waypoint)

Daftar titik jalan yang diurutkan yang digunakan untuk menghitung PWT. Daftar ini mencakup lokasi kendaraan, titik penjemputan dari perjalanan aktif untuk kendaraan, dan titik penjemputan yang diberikan dalam permintaan. Daftar kosong menunjukkan kegagalan dalam menghitung PWT untuk kendaraan.

vehicleMatchType

enum (VehicleMatchType)

Jenis kendaraan yang cocok.

requestedOrderedBy

enum (VehicleMatchOrder)

Pesanan yang diminta untuk menyortir kecocokan kendaraan.

orderedBy

enum (VehicleMatchOrder)

Pesanan sebenarnya yang digunakan untuk kendaraan ini. Biasanya ini akan cocok dengan kolom 'orderBy' dari permintaan; namun, dalam keadaan tertentu seperti error server internal, metode yang berbeda dapat digunakan (seperti PICKUP_POINT_STRAIGHT_DISTANCE).

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 kedatangan kendaraan di titik jalan ini.

Stempel waktu dalam format RFC3339 UTC "Zulu", dengan resolusi nanodetik dan maksimal sembilan digit fraksional. 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 untuknya 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. Penghitungan PWT dan jarak memperhitungkan perjalanan yang ada.
CARPOOL Kendaraan memiliki kapasitas yang memadai untuk perjalanan bersama.
CARPOOL_BACK_TO_BACK Kendaraan akan menyelesaikan perjalanan aktif saat ini sebelum melanjutkan ke titik penjemputan. Penghitungan PWT dan jarak memperhitungkan perjalanan yang ada.