Teslimat araçlarını listeleme

Bu dokümanda, 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ı listelemek için teslimat araçlarına geniş erişim izni gerekir ve bu erişim izni yalnızca güvenilir kullanıcılar için tasarlanmıştır. Liste yayınlama aracı istekleri gönderirken Yayınlama Araç Filosu Okuyucu veya Fleet Engine Yayınlama Yöneticisi jetonlarını kullanın.

Listelenen yayın araçlarında, yanıt boyutunu etkiledikleri için aşağıdaki alanlar çıkartılır:

  • CurrentRouteSegment
  • RemainingVehicleJourneySegments

Kullanım

Araçları, özellik filtreleri ve görüntü alanı sınırlarına göre listeleyebilirsiniz. Filtre veya görüntü alanı belirtmezseniz yanıt tüm teslimat araçlarını içerir.

Özellik filtreli liste

Teslimat araçlarını attributes özelliğini kullanarak filtreye göre listeleyebilirsiniz. Örneğin, my_key anahtarına ve my_value değerine sahip bir özelliği sorgulamak için attributes.my_key = my_value değerini kullanın. Birden fazla özellik için sorgu yapmak istiyorsanız attributes.key1 = value1 AND attributes.key2 = value2'de olduğu gibi mantıksal AND ve OR operatörlerini kullanarak sorguları birleştirin. Filtre sorgusu söz diziminin tam açıklaması için AIP-160 adresine bakın. Filtreleri görüntü alanı sınırlarıyla birleştirirseniz filtre, görüntü alanı sınırı için AND operatörü gibi davranır. Ayrıntılar için Araç özellikleri filtre sorguları bölümüne bakın.

Görüntü alanı sınırları olan liste

viewport istek parametresini kullanarak listelenen teslimat araçlarını konuma göre filtreleyebilirsiniz. viewport istek parametresi, iki sınırlayıcı koordinat kullanarak görüntü alanları tanımlar: high (kuzeydoğu) ve low (Güneybatı) enlem ve boylam koordinat çifti. Coğrafi olarak düşük enlemden daha düşük bir enlem içeren istekler reddedilir.

Yanıtları listele

Teslimat aracı listeleri, makul bir sayfa boyutu kullanılarak varsayılan olarak sayfalara ayrı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şarsa dahili maksimum değer kullanılır. Varsayılan ve maksimum sayfa boyutları 100 araçtır.

Yayınlama araçları listesi, sonuçların bir sonraki sayfasını okumak için bir jeton içerebilir. Sayfa jetonu yalnızca alınabilecek daha fazla teslimat aracı sayfası olduğunda yanıtta bulunur. Görevlerin bir sonraki sayfasını almak için sayfa jetonunu önceki istekte olduğu gibi aynı olan bir istekte kullanın.

Araç örneklerini listeleme

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 hâlâ boş kalabilir. Bu durum, belirtilen görünüm alanında belirtilen özelliğe sahip hiçbir aracın bulunmadığı anlamına gelir.

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 gövdesi aşağıdaki yapıya sahip verileri içerir:

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

Sırada ne var?