Daftar kendaraan pengiriman

Dokumen ini menjelaskan cara mencantumkan kendaraan pengiriman.

Lingkungan dan batasan

Anda dapat mencantumkan kendaraan pengiriman dari lingkungan server atau browser. Driver SDK tidak mendukung listingan kendaraan pengiriman.

Mencantumkan kendaraan pengiriman akan meminta 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 pandang. Jika Anda tidak menentukan filter atau area pandang, respons akan menyertakan semua saluran penayangan.

Daftar dengan filter atribut

Anda dapat mencantumkan kendaraan pengiriman berdasarkan filter menggunakan properti attributes-nya. 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 AND dan OR logis seperti dalam attributes.key1 = value1 AND attributes.key2 = value2. Lihat AIP-160 untuk deskripsi lengkap sintaksis kueri filter. Jika Anda menggabungkan filter dengan batas area pandang, filter akan bertindak sebagai operator AND ke batas area pandang. Lihat Kueri filter atribut kendaraan untuk mengetahui detailnya.

Daftar dengan batas area pandang

Anda dapat memfilter kendaraan pengiriman yang tercantum berdasarkan lokasi menggunakan parameter permintaan viewport. Parameter permintaan viewport menentukan area pandang menggunakan dua koordinat batas: pasangan koordinat garis lintang dan garis bujur high (timur laut) dan low (barat daya). Permintaan akan ditolak jika berisi lintang tinggi yang secara geografis lebih rendah daripada lintang rendah.

Mencantumkan respons

Daftar kendaraan pengiriman diberi penomoran halaman 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 lebih banyak halaman kendaraan pengiriman tersedia untuk diambil. Untuk mengambil halaman tugas berikutnya, gunakan token halaman dengan permintaan yang identik dengan permintaan sebelumnya.

Mencantumkan contoh kendaraan

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

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

Langkah berikutnya