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

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

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

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

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