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ı listelemek için teslimat araçlarına geniş kapsamlı erişim izni gerekir ve bu özellik 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 filtreleri içeren liste

Teslimat araçlarını attributes özelliğini 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ünüm 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. Düşük enlemden coğrafi olarak daha düşük bir yüksek enlem içeren 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 sayıda veya daha az araç döndürür. İstenen sayfa boyutu dahili maksimum değeri aşarsa 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, yanıtta yalnızca alınabilecek daha fazla teslimat aracı sayfası olduğunda bulunur. Görevlerin bir sonraki sayfasını almak için sayfa jetonunu, önceki istekle aynı olan bir istekle birlikte 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?