এই নথিতে ডেলিভারি যানবাহনের তালিকা কীভাবে তৈরি করতে হয় তা বর্ণনা করা হয়েছে।
পরিবেশ এবং সীমাবদ্ধতা
আপনি সার্ভার বা ব্রাউজার পরিবেশ থেকে ডেলিভারি যানবাহন তালিকাভুক্ত করতে পারেন। ড্রাইভার SDK ডেলিভারি যানবাহন তালিকাভুক্ত করা সমর্থন করে না।
ডেলিভারি যানবাহনের তালিকা তৈরি করলে ডেলিভারি যানবাহনের বিস্তৃত অ্যাক্সেসের অনুরোধ করা হয় এবং এটি শুধুমাত্র বিশ্বস্ত ব্যবহারকারীদের জন্য। ডেলিভারি যানবাহনের তালিকা তৈরির সময় ডেলিভারি ফ্লিট রিডার বা ফ্লিট ইঞ্জিন ডেলিভারি অ্যাডমিন টোকেন ব্যবহার করুন।
তালিকাভুক্ত ডেলিভারি যানবাহনগুলিতে প্রতিক্রিয়ার আকারের উপর প্রভাবের কারণে নিম্নলিখিত ক্ষেত্রগুলি সংশোধন করা হয়েছে:
-  
CurrentRouteSegment -  
RemainingVehicleJourneySegments 
ব্যবহার
আপনি অ্যাট্রিবিউট ফিল্টার এবং ভিউপোর্ট সীমানা অনুসারে যানবাহন তালিকাভুক্ত করতে পারেন। যদি আপনি কোনও ফিল্টার বা ভিউপোর্ট নির্দিষ্ট না করেন, তাহলে প্রতিক্রিয়াটিতে সমস্ত ডেলিভারি যানবাহন অন্তর্ভুক্ত থাকবে।
বৈশিষ্ট্য ফিল্টার সহ তালিকা
 আপনি ডেলিভারি যানবাহনের attributes প্রপার্টি ব্যবহার করে ফিল্টারের মাধ্যমে তালিকাভুক্ত করতে পারেন। উদাহরণস্বরূপ, my_key কী এবং value my_value ব্যবহার করে একটি অ্যাট্রিবিউট কোয়েরি করতে, attributes.my_key = my_value ব্যবহার করুন। একাধিক অ্যাট্রিবিউটের জন্য কোয়েরি করতে, attributes.key1 = value1 AND attributes.key2 = value2 এর মতো লজিক্যাল AND এবং OR অপারেটর ব্যবহার করে কোয়েরি যোগ করুন। ফিল্টার কোয়েরি সিনট্যাক্সের সম্পূর্ণ বিবরণের জন্য AIP-160 দেখুন। যদি আপনি ভিউপোর্ট বাউন্ডের সাথে ফিল্টারগুলিকে একত্রিত করেন, তাহলে ফিল্টারটি ভিউপোর্ট বাউন্ডের জন্য AND অপারেটর হিসেবে কাজ করে। বিস্তারিত জানার জন্য Vehicle অ্যাট্রিবিউট ফিল্টার কোয়েরি দেখুন।
ভিউপোর্ট সীমানা সহ তালিকা
 আপনি viewport রিকোয়েস্ট প্যারামিটার ব্যবহার করে অবস্থান অনুসারে তালিকাভুক্ত ডেলিভারি যানবাহন ফিল্টার করতে পারেন। viewport রিকোয়েস্ট প্যারামিটার দুটি বাউন্ডিং স্থানাঙ্ক ব্যবহার করে ভিউপোর্টগুলিকে সংজ্ঞায়িত করে: একটি high (উত্তর-পূর্ব) এবং low (দক্ষিণ-পশ্চিম) অক্ষাংশ এবং দ্রাঘিমাংশ স্থানাঙ্ক জোড়া। অনুরোধগুলি প্রত্যাখ্যান করা হয় যদি সেগুলিতে একটি উচ্চ অক্ষাংশ থাকে যা ভৌগোলিকভাবে নিম্ন অক্ষাংশের চেয়ে কম।
প্রতিক্রিয়াগুলির তালিকা তৈরি করুন
ডেলিভারি গাড়ির তালিকাগুলি ডিফল্টভাবে একটি যুক্তিসঙ্গত পৃষ্ঠার আকার ব্যবহার করে পৃষ্ঠাঙ্কিত করা হয়। যদি আপনি একটি পৃষ্ঠার আকার নির্দিষ্ট করেন, তাহলে অনুরোধটি কেবলমাত্র সীমা দ্বারা নির্দিষ্ট যানবাহনের সংখ্যা বা তার চেয়ে কম ফেরত দেয়। যদি অনুরোধ করা পৃষ্ঠার আকার অভ্যন্তরীণ সর্বোচ্চ মানের চেয়ে বেশি হয়, তাহলে অভ্যন্তরীণ সর্বোচ্চ ব্যবহার করা হয়। ডিফল্ট এবং সর্বোচ্চ পৃষ্ঠার আকার উভয়ই 100 যানবাহন।
একটি ডেলিভারি যানবাহনের তালিকায় ফলাফলের পরবর্তী পৃষ্ঠা পড়ার জন্য একটি টোকেন অন্তর্ভুক্ত থাকতে পারে। একটি পৃষ্ঠা টোকেন কেবল তখনই প্রতিক্রিয়ায় উপস্থিত থাকে যখন পুনরুদ্ধারের জন্য আরও পৃষ্ঠার ডেলিভারি যানবাহন উপলব্ধ থাকে। পরবর্তী পৃষ্ঠার কাজগুলি পুনরুদ্ধার করতে, পূর্ববর্তী অনুরোধের সাথে অভিন্ন অনুরোধ সহ পৃষ্ঠা টোকেনটি ব্যবহার করুন।
যানবাহনের উদাহরণ তালিকাভুক্ত করুন
আপনি জাভা gRPC লাইব্রেরি অথবা REST ব্যবহার করে নির্দিষ্ট অঞ্চলে নির্দিষ্ট অ্যাট্রিবিউট সহ ডেলিভারি যানবাহন তালিকাভুক্ত করতে পারেন। একটি সফল প্রতিক্রিয়া এখনও খালি থাকতে পারে। যখন এটি ঘটে, তখন এর অর্থ হল নির্দিষ্ট ভিউপোর্টে নির্দিষ্ট অ্যাট্রিবিউট সহ কোনও যানবাহন বিদ্যমান নেই।
জাভা
  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;
  }
বিশ্রাম
  # 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
  }