ডেলিভারি ভেইকেলের তালিকা

ডেলিভারি গাড়ির তালিকা কীভাবে তৈরি করতে হয় তা এই ডকুমেন্টে বর্ণনা করা হয়েছে।

পরিবেশ ও সীমাবদ্ধতা

আপনি সার্ভার বা ব্রাউজার এনভায়রনমেন্ট থেকে ডেলিভারি গাড়ির তালিকা তৈরি করতে পারবেন। Driver SDK ডেলিভারি ভেইকেলের তালিকা তৈরি করার সুবিধা দেয় না।

ডেলিভারি ভেহিকেলের তালিকা তৈরি করার জন্য ডেলিভারি ভেহিকেলের ব্রড অ্যাক্সেসের অনুরোধ করা হয় এবং এটি শুধুমাত্র বিশ্বস্ত ব্যবহারকারীদের জন্য। ডেলিভারি ভেহিকলের তালিকা সংক্রান্ত অনুরোধ করার সময় Delivery Fleet Reader বা Fleet Engine Delivery Admin টোকেন ব্যবহার করুন।

তালিকাভুক্ত ডেলিভারি ভেহিকেলের নিম্নলিখিত ফিল্ডগুলি তাদের প্রভাবের কারণে রিড্যাক্ট করা হয়েছে রেসপন্স সাইজের উপর:

  • 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 (দক্ষিণ-পশ্চিম) অক্ষাংশ এবং দ্রাঘিমাংশ কোঅর্ডিনেটের পেয়ার। অনুরোধে যদি এমন উচ্চ অক্ষাংশ থাকে যা ভৌগোলিকভাবে নিম্ন অক্ষাংশের চেয়ে কম, তাহলে তা বাতিল করা হয়।

উত্তরের তালিকা তৈরি করা হচ্ছে

ডেলিভারি ভেইকেল তালিকা ডিফল্ট হিসেবে যুক্তিসঙ্গত পৃষ্ঠা সাইজ ব্যবহার করে পেজ নম্বর অনুযায়ী সাজানো হয়। আপনি পৃষ্ঠার সাইজ নির্দিষ্ট করলে, অনুরোধটি শুধুমাত্র সীমার দ্বারা নির্দিষ্ট করা গাড়ির সংখ্যা বা তার কম ফেরত দেয়। অনুরোধ করা পৃষ্ঠার সাইজ ইন্টার্নাল সর্বাধিক ভ্যালুর চেয়ে বেশি হলে, ইন্টার্নাল সর্বাধিক ভ্যালু ব্যবহার করা হয়। ডিফল্ট এবং সর্বাধিক পৃষ্ঠার সাইজ হল ১০০টি গাড়ি।

ডেলিভারি গাড়ির তালিকায় ফলাফলের পরবর্তী পৃষ্ঠা পড়ার জন্য টোকেন অন্তর্ভুক্ত থাকতে পারে। ডেলিভারি গাড়ির আরও পৃষ্ঠা রিট্রিভ করার জন্য উপলভ্য থাকলে, শুধুমাত্র তখনই উত্তরে পৃষ্ঠা টোকেন থাকে। টাস্কের পরবর্তী পৃষ্ঠা পেতে, আগের অনুরোধের মতো একই ধরনের অনুরোধের সাথে পৃষ্ঠা টোকেন ব্যবহার করুন।

গাড়ির তালিকার উদাহরণ

নির্দিষ্ট অ্যাট্রিবিউট সহ কোনও নির্দিষ্ট অঞ্চলে ডেলিভারি ভেহিকেলের তালিকা তৈরি করতে আপনি 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;
  }

বিশ্রাম

  # 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
  }

এর পরে কী করতে হবে