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

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

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

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

উত্তরের তালিকা দেখায়

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

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

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

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

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