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:
CurrentRouteSegmentRemainingVehicleJourneySegments
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
}