Teslimat araçlarını listeleme

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.

Listeleme teslimat araçları, teslimat araçlarına geniş kapsamlı erişim isteğinde bulunur ve yalnızca güvenilir kullanıcılar için tasarlanmıştır. Liste teslimat araçları isteklerinde Delivery Fleet Reader veya Fleet Engine Delivery Admin jetonlarını kullanın.

Listelenen teslimat araçlarında, yanıt boyutuna etkileri nedeniyle aşağıdaki alanlar verilerden çı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üntü alanı belirtmezseniz yanıta tüm teslimat 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üntü alanı sınırlarıyla birleştirirseniz filtre, görüntü alanı sınırı için AND operatörü olarak işlev görür. Ayrıntılar için Araç özellikleri filtreleme sorguları 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, varsayılan olarak makul bir sayfa boyutu kullanılarak 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şarsa dahili maksimum değer kullanılır. Varsayılan ve maksimum sayfa boyutları 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 sonraki sayfasını almak için önceki istekle aynı olan bir istekle birlikte sayfa jetonunu kullanın.

Araç listeleme örnekleri

Belirli bir bölgedeki teslimat araçlarını belirli bir özellikle 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üntü alanında belirtilen özelliğe sahip araç olmadığı anlaşılır. Desteklenen dillerin tam listesi için Planlanmış görev hizmetleri için istemci kitaplıkları başlıklı makaleye bakın.

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?