डिलीवरी वाहन की सूची बनाएं

इस दस्तावेज़ में डिलीवरी करने वाले वाहनों की लिस्टिंग बनाने का तरीका बताया गया है.

एनवायरमेंट और सीमाएं

सर्वर या ब्राउज़र एनवायरमेंट से डिलीवरी वाहनों को लिस्ट किया जा सकता है. ड्राइवर 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
  }

आगे क्या करना है