Teslimat araçlarını listeleme

Araç istekleri başlığı altındaki koşulları okuyun.

Bu belgede, teslimat araçlarının nasıl listeleneceği açıklanmaktadır.

Ortamlar ve sınırlamalar

Teslimat araçlarını bir sunucu veya tarayıcı ortamından listeleyebilirsiniz. Sürücü SDK'sı, teslimat araçlarının listelenmesini desteklemez.

Teslimat araçlarını listeleme isteği, teslimat araçlarına geniş kapsamlı erişim ister ve yalnızca güvenilir kullanıcılar için tasarlanmıştır. Liste teslimat araçları istekleri gönderirken Delivery Fleet Reader veya Fleet Engine Delivery Admin jetonlarını kullanın.

Listelenen teslimat araçları, yanıt boyutunu etkilediği için aşağıdaki alanları çıkarılmıştır:

  • CurrentRouteSegment
  • RemainingVehicleJourneySegments

Kullanım

Araçları özellik filtrelerine ve görünüm alanı sınırlarına göre listeleyebilirsiniz. Filtre veya görünüm alanı belirtmezseniz yanıta tüm yayın araçları dahil edilir.

Özellik filtrelerinin bulunduğu liste

Teslimat araçlarını attributes özelliklerini kullanarak filtreye göre listeleyebilirsiniz. Örneğin, anahtarı my_key ve değeri my_value olan bir özelliği sorgulamak için attributes.my_key = my_value kullanın. Birden fazla özellik için sorgu oluşturmak üzere sorguları attributes.key1 = value1 AND attributes.key2 = value2 örneğinde olduğu gibi mantıksal AND ve OR operatörlerini kullanarak birleştirin. Filtre sorgusu söz diziminin tam açıklaması için AIP-160'ı inceleyin. Filtreleri görünüm alanı sınırlarıyla birleştirirseniz filtre, görünüm alanı sınırı için AND operatörü gibi davranır. Ayrıntılar için Araç özellikleri, sorguları filtreler başlıklı makaleyi inceleyin.

Görüntü alanı sınırları içeren liste

Listelenen teslimat araçlarını viewport istek parametresini kullanarak konuma göre filtreleyebilirsiniz. viewport istek parametresi, iki sınırlayıcı koordinat kullanarak görünüm alanlarını tanımlar: high (kuzeydoğu) ve low (güneybatı) enlem ve boylam koordinatları çifti. Yüksek enlem içeren ve coğrafi olarak düşük enlemden daha alçak olan istekler reddedilir.

Liste yanıtları

Teslimat aracı listeleri, makul bir sayfa boyutu kullanılarak varsayılan olarak sayfalandırılır. Bir sayfa boyutu belirtirseniz istek yalnızca sınır tarafından belirtilen araç sayısını veya daha azını döndürür. İstenen sayfa boyutu dahili bir maksimum değeri aşıyorsa dahili maksimum değer kullanılır. Varsayılan ve maksimum sayfa boyutu 100 araçtır.

Teslimat araçları listesi, sonuçların sonraki sayfasını okumak için bir jeton içerebilir. Sayfa jetonu, yalnızca teslimat araçlarının daha fazla sayfası alınmaya hazır olduğunda yanıtta bulunur. Görevlerin bir sonraki sayfasını almak için önceki istekle aynı olan bir istekle birlikte sayfa jetonunu kullanın.

Araç listeleme örnekleri

Belirli bir bölgedeki belirli bir özelliğe sahip teslimat araçlarını listelemek için Java gRPC kitaplığını veya REST'i kullanabilirsiniz. Başarılı bir yanıt yine de boş olabilir. Bu durumda, belirtilen görünüm alanında belirtilen özelliğe sahip araç olmadığı anlaşılır.

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"

Arama başarılı olursa yanıt metni aşağıdaki yapıyla birlikte verileri içerir:

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

Sırada ne var?