इस दस्तावेज़ में, डिलीवरी वाहनों की सूची बनाने का तरीका बताया गया है.
एनवायरमेंट और सीमाएं
डिलीवरी के लिए इस्तेमाल होने वाले वाहनों की सूची, सर्वर या ब्राउज़र एनवायरमेंट से बनाई जा सकती है. Driver SDK, डिलीवरी वाहनों की लिस्टिंग की सुविधा के साथ काम नहीं करता.
डिलीवरी वाहनों की लिस्टिंग में, डिलीवरी वाहनों का ऐक्सेस पाने का अनुरोध किया जाता है. यह अनुरोध सिर्फ़ भरोसेमंद उपयोगकर्ताओं के लिए है. डिलीवरी के लिए वाहनों की सूची बनाने के अनुरोध करते समय, डिलीवरी फ़्लीट रीडर या फ़्लीट इंजन डिलीवरी एडमिन टोकन का इस्तेमाल करें.
डिलीवरी के लिए इस्तेमाल होने वाले वाहनों की सूची में, इन फ़ील्ड की जानकारी नहीं दी गई है. ऐसा, जवाब के साइज़ पर इनका असर होने की वजह से किया गया है:
CurrentRouteSegment
RemainingVehicleJourneySegments
इस्तेमाल
वाहनों की लिस्ट को एट्रिब्यूट फ़िल्टर और व्यूपोर्ट के दायरे के हिसाब से दिखाया जा सकता है. अगर आपने कोई फ़िल्टर या व्यूपोर्ट नहीं बताया है, तो जवाब में डिलीवरी के सभी वाहन शामिल होंगे.
एट्रिब्यूट फ़िल्टर की मदद से बनाई गई सूची
डिलीवरी वाहनों की attributes
प्रॉपर्टी का इस्तेमाल करके, उन्हें फ़िल्टर के हिसाब से लिस्ट किया जा सकता है. उदाहरण के लिए, my_key
कुंजी और my_value
वैल्यू वाले एट्रिब्यूट के लिए क्वेरी करने के लिए, attributes.my_key = my_value
का इस्तेमाल करें. एक से ज़्यादा एट्रिब्यूट के लिए क्वेरी करने के लिए, attributes.key1 = value1 AND
attributes.key2 = value2
में बताए गए लॉजिकल AND
और OR
ऑपरेटर का इस्तेमाल करके क्वेरी को आपस में जोड़ें. फ़िल्टर क्वेरी सिंटैक्स के बारे में पूरी जानकारी के लिए, AIP-160 देखें. अगर फ़िल्टर को व्यूपोर्ट के बाउंड के साथ जोड़ा जाता है, तो फ़िल्टर, व्यूपोर्ट के बाउंड के लिए AND
ऑपरेटर के तौर पर काम करता है. ज़्यादा जानकारी के लिए, वाहन के एट्रिब्यूट फ़िल्टर करने वाली क्वेरी देखें.
व्यूपोर्ट की सीमाओं के साथ सूची
viewport
अनुरोध पैरामीटर का इस्तेमाल करके, डिलीवरी के लिए उपलब्ध वाहनों को जगह के हिसाब से फ़िल्टर किया जा सकता है. viewport
अनुरोध पैरामीटर, दो बाउंडिंग निर्देशांक का इस्तेमाल करके व्यूपोर्ट तय करता है: high
(उत्तर-पूर्व) और low
(दक्षिण-पश्चिम) अक्षांश और देशांतर निर्देशांक का जोड़ा. अगर अनुरोध में ज़्यादा अक्षांश दिया गया है, जो भौगोलिक तौर पर कम अक्षांश से कम है, तो अनुरोध अस्वीकार कर दिए जाते हैं.
जवाबों की सूची
डिलीवरी वाहन की सूचियों को डिफ़ॉल्ट रूप से पेज में बांटा जाता है. इसके लिए, पेज का सही साइज़ इस्तेमाल किया जाता है. अगर आपने पेज का साइज़ तय किया है, तो अनुरोध में सिर्फ़ तय सीमा के हिसाब से वाहनों की संख्या या उससे कम संख्या दिखेगी. अगर अनुरोध किया गया पेज साइज़, इंटरनल ज़्यादा से ज़्यादा वैल्यू से ज़्यादा है, तो इंटरनल ज़्यादा से ज़्यादा वैल्यू का इस्तेमाल किया जाता है. पेज पर ज़्यादा से ज़्यादा और डिफ़ॉल्ट तौर पर, 100 वाहन दिखाए जा सकते हैं.
डिलीवरी वाहनों की सूची में, नतीजों के अगले पेज को पढ़ने के लिए टोकन शामिल किया जा सकता है. पेज टोकन, जवाब में सिर्फ़ तब मौजूद होता है, जब डिलीवरी वाहनों के ज़्यादा पेज, वापस पाने के लिए उपलब्ध हों. टास्क का अगला पेज देखने के लिए, पेज टोकन का इस्तेमाल उसी तरह के अनुरोध के साथ करें जिस तरह के अनुरोध के साथ आपने पिछला पेज देखा था.
वाहनों के उदाहरणों की सूची
किसी खास एट्रिब्यूट के साथ किसी इलाके में डिलीवरी वाहनों की सूची बनाने के लिए, Java gRPC लाइब्रेरी या REST का इस्तेमाल किया जा सकता है. जवाब मिलने के बावजूद, वह खाली हो सकता है. ऐसा होने का मतलब है कि दिए गए एट्रिब्यूट वाली कोई भी गाड़ी, दिए गए व्यूपोर्ट में मौजूद नहीं है.
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"
अगर लुकअप पूरा हो जाता है, तो जवाब के मुख्य हिस्से में नीचे दिए गए स्ट्रक्चर वाला डेटा शामिल होता है:
// JSON representation
{
"deliveryVehicles": [
{
object (DeliveryVehicle)
}
],
"nextPageToken": string,
"totalSize": integer
}