Daftar kendaraan pengiriman

Dokumen ini menjelaskan cara membuat daftar kendaraan pengiriman.

Lingkungan dan batasan

Anda dapat menampilkan daftar kendaraan pengiriman dari lingkungan server atau browser. Pengemudi SDK tidak mendukung listingan kendaraan pengiriman.

Mencantumkan kendaraan pengiriman meminta akses yang luas ke kendaraan pengiriman dan hanya ditujukan untuk pengguna tepercaya. Gunakan Delivery Fleet Reader atau Fleet Engine Token Admin Pengiriman saat membuat permintaan kendaraan pengiriman daftar.

Kolom berikut pada kendaraan pengiriman yang tercantum disamarkan karena dampaknya tentang ukuran respons:

  • CurrentRouteSegment
  • RemainingVehicleJourneySegments

Penggunaan

Anda dapat mencantumkan kendaraan menurut filter atribut dan batas area pandang. Jika Anda menentukan tanpa filter atau area pandang, responsnya mencakup semua kendaraan pengiriman.

Daftar dengan filter atribut

Anda dapat mencantumkan kendaraan pengiriman berdasarkan filter menggunakan properti attributes. Sebagai Misalnya, untuk mengkueri atribut dengan kunci my_key dan nilai my_value, gunakan attributes.my_key = my_value. Untuk membuat kueri beberapa atribut, gabungkan kueri menggunakan operator AND dan OR yang logis seperti di attributes.key1 = value1 AND attributes.key2 = value2. Lihat AIP-160 untuk deskripsi lengkapnya sintaksis kueri filter. Jika Anda menggabungkan filter dengan batas area pandang, filter bertindak sebagai operator AND ke batas area pandang. Lihat Filter atribut kendaraan kueri untuk mengetahui detailnya.

Daftar dengan batas area pandang

Anda dapat memfilter kendaraan pengiriman yang tercantum menurut lokasi menggunakan permintaan viewport . Parameter permintaan viewport menentukan area pandang menggunakan dua pembatas koordinat: lintang dan bujur high (timur laut) dan low (barat daya) pasangan koordinat objek. Permintaan ditolak jika memuat lintang tinggi yang secara geografis lebih rendah dari lintang rendah.

Buat daftar respons

Daftar kendaraan pengiriman dipaginasi secara default menggunakan ukuran halaman yang wajar. Jika Anda menentukan ukuran halaman, permintaan hanya akan menampilkan jumlah kendaraan yang ditetapkan oleh batas, atau lebih sedikit. Jika ukuran halaman yang diminta melebihi nilai maksimum, maka nilai maksimum internal akan digunakan. Halaman default dan maksimum berukuran sama-sama 100 kendaraan.

Daftar kendaraan pengiriman dapat menyertakan token untuk membaca halaman berikutnya dari hasil pengujian tersebut. Token halaman hanya ada dalam respons jika lebih banyak halaman penayangan kendaraan tersedia untuk diambil kembali. Untuk mengambil halaman tugas berikutnya, gunakan token halaman dengan permintaan yang identik dengan token permintaan.

Membuat daftar contoh kendaraan

Anda dapat menggunakan library gRPC Java atau REST untuk mencantumkan kendaraan pengiriman di wilayah tertentu dengan atribut tertentu. Respons yang berhasil masih bisa kosong. Jika hal itu terjadi, berarti tidak ada kendaraan dengan atribut yang ditentukan ada di area pandang 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 pencarian berhasil, isi respons berisi data dengan hal berikut struktur:

  // JSON representation
  {
    "deliveryVehicles": [
      {
        object (DeliveryVehicle)
      }
    ],
    "nextPageToken": string,
    "totalSize": integer
  }

Langkah berikutnya