Dokumen ini menjelaskan cara mencantumkan kendaraan pengiriman.
Lingkungan dan batasan
Anda dapat mencantumkan kendaraan pengiriman dari lingkungan server atau browser. SDK Driver tidak mendukung pencantuman kendaraan pengiriman.
Mencantumkan kendaraan pengiriman memerlukan akses luas ke kendaraan pengiriman dan hanya ditujukan untuk pengguna tepercaya. Gunakan token Delivery Fleet Reader atau Fleet Engine Delivery Admin saat membuat permintaan daftar kendaraan pengiriman.
Kendaraan pengiriman yang tercantum memiliki kolom berikut yang disamarkan karena dampaknya terhadap ukuran respons:
CurrentRouteSegment
RemainingVehicleJourneySegments
Penggunaan
Anda dapat mencantumkan kendaraan berdasarkan filter atribut dan batas area tampilan. Jika Anda tidak menentukan filter atau area tampilan, respons akan mencakup semua kendaraan pengiriman.
Daftar dengan filter atribut
Anda dapat mencantumkan kendaraan pengiriman berdasarkan filter menggunakan properti attributes
. Misalnya, untuk membuat kueri atribut dengan kunci my_key
dan nilai my_value
, gunakan
attributes.my_key = my_value
. Untuk membuat kueri beberapa atribut, gabungkan kueri menggunakan operator logis AND
dan OR
seperti pada attributes.key1 = value1 AND
attributes.key2 = value2
. Lihat AIP-160 untuk deskripsi lengkap
sintaksis kueri filter. Jika Anda menggabungkan filter dengan batas area tampilan, filter
bertindak sebagai operator AND
ke batas area tampilan. Lihat Kueri filter atribut kendaraan untuk mengetahui detailnya.
Daftar dengan batas area pandang
Anda dapat memfilter kendaraan pengiriman yang tercantum menurut lokasi menggunakan parameter permintaan viewport
. Parameter permintaan viewport
menentukan area tampilan menggunakan dua koordinat
batas: pasangan koordinat lintang dan bujur high
(timur laut) dan low
(barat daya). Permintaan ditolak jika berisi lintang tinggi
yang secara geografis lebih rendah daripada lintang rendah.
Respons daftar
Daftar kendaraan pengiriman dipaginasi secara default menggunakan ukuran halaman yang wajar. Jika Anda menentukan ukuran halaman, permintaan hanya akan menampilkan jumlah kendaraan yang ditentukan oleh batas, atau lebih sedikit. Jika ukuran halaman yang diminta melebihi nilai maksimum internal, nilai maksimum internal akan digunakan. Ukuran halaman default dan maksimum adalah 100 kendaraan.
Daftar kendaraan pengiriman dapat menyertakan token untuk membaca halaman hasil berikutnya. Token halaman hanya ada dalam respons jika ada lebih banyak halaman kendaraan pengiriman yang tersedia untuk pengambilan. Untuk mengambil halaman tugas berikutnya, gunakan token halaman dengan permintaan yang identik dengan permintaan sebelumnya.
Contoh kendaraan dalam daftar
Anda dapat menggunakan Java gRPC library atau REST untuk mencantumkan kendaraan pengiriman di region tertentu dengan atribut tertentu. Respons yang berhasil masih bisa kosong. Jika hal itu terjadi, berarti tidak ada kendaraan dengan atribut yang ditentukan di area tampilan yang ditentukan.
Java
static final String PROJECT_ID = "my-delivery-co-gcp-project";
DeliveryServiceBlockingStub deliveryService =
DeliveryServiceGrpc.newBlockingStub(channel);
// Tasks request
String parent = "providers/" + PROJECT_ID;
ListDeliveryVehiclesRequest listDeliveryVehiclesRequest =
ListDeliveryVehiclesRequest.newBuilder() // No need for the header
.setParent(parent)
.setViewport(
Viewport.newBuilder()
.setHigh(LatLng.newBuilder()
.setLatitude(37.45)
.setLongitude(-122.06)
.build())
.setLow(LatLng.newBuilder()
.setLatitude(37.41)
.setLongitude(-122.11)
.build())
.setFilter("attributes.my_key = my_value")
.build();
try {
ListDeliveryVehiclesResponse listDeliveryVehiclesResponse =
deliveryService.listDeliveryVehicles(listDeliveryVehiclesRequest);
} catch (StatusRuntimeException e) {
Status s = e.getStatus();
switch (s.getCode()) {
case NOT_FOUND:
break;
case PERMISSION_DENIED:
break;
}
return;
}
REST
# HTTP request
html GET https://fleetengine.googleapis.com/v1/providers/<project_id>/deliveryVehicles
# Request with a filter
# Request sets JWT, PROJECT_ID, and VEHICLE_ID in the local environment
curl -H "Authorization: Bearer ${JWT}" \
"https://fleetengine.googleapis.com/v1/providers/${PROJECT_ID}/deliveryVehicles?filter=attributes.my_key%20%3D%20my_value%20&viewport.high.latitude=37.45&viewport.high.longitude=-122.06&viewport.low.latitude=37.41&viewport.low.longitude=-122.11"
Jika penelusuran berhasil, isi respons berisi data dengan struktur berikut:
// JSON representation
{
"deliveryVehicles": [
{
object (DeliveryVehicle)
}
],
"nextPageToken": string,
"totalSize": integer
}