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
}