ফিল্টার তালিকা অনুরোধ

list মেথডগুলো একটি নির্দিষ্ট ধরনের একাধিক রিসোর্স পুনরুদ্ধার করে। filter কোয়েরি প্যারামিটারটি আপনাকে এমন মানদণ্ড নির্ধারণ করার সুযোগ দেয়, যা পুনরুদ্ধার করা রিসোর্সগুলোকে অবশ্যই পূরণ করতে হবে।

ফিল্টার কাঠামো

filter প্যারামিটারের মানগুলো স্ট্রিং হয়ে থাকে। এই স্ট্রিংগুলো এক বা একাধিক শর্ত বা ক্রাইটেরিয়া দিয়ে গঠিত। শর্তগুলো AND বা OR অপারেটর দ্বারা যুক্ত করা হয়।

একটিমাত্র ক্রাইটেরিয়ার গঠন হলো {field} {operator} {value} । নিচে একটি উদাহরণ দেওয়া হলো:

  entityStatus="ENTITY_STATUS_ACTIVE"

ফিল্টার স্ট্রিং ৫০০ অক্ষরের মধ্যে সীমাবদ্ধ। যদি আপনার স্ট্রিং খুব দীর্ঘ হয়:

  • লজিকটিকে আলাদা আলাদা স্ট্রিং-এ ভাগ করুন। প্রতিটি ফিল্টার স্ট্রিং দিয়ে একটি list কল করুন। ফলাফলগুলো একত্রিত করে একটি একক লিস্ট তৈরি করুন।
  • ফিল্টার স্ট্রিং থেকে শর্তাবলি মুছে ফেলুন। মুছে ফেলা শর্তাবলি ব্যবহার করে স্থানীয়ভাবে প্রাপ্ত রিসোর্সগুলো ফিল্টার করুন।

কোনো ক্রাইটেরিয়নের মানগুলোকে উদ্ধৃতি চিহ্নের মধ্যে রাখুন।

সরাসরি এপিআই কল করার সময় ইউআরএল-এ ব্যবহারের জন্য আপনার ফিল্টার স্ট্রিংগুলো এনকোড করা আছে কিনা, তা নিশ্চিত করুন।

ফিল্টার স্ট্রিংয়ের গঠন সম্পর্কে আরও জানতে জয়েন ক্রাইটেরিয়া সেকশনটি দেখুন।

ফিল্টার মানদণ্ড

প্রতিটি লিস্ট মেথড নির্দিষ্ট কিছু ফিল্টার ক্রাইটেরিয়া সমর্থন করে। মেথডটির filter প্যারামিটারের বিবরণে এই ক্রাইটেরিয়াগুলো তালিকাভুক্ত করা থাকে। ফিল্টার ক্রাইটেরিয়াগুলো প্রায়শই প্রাপ্ত রিসোর্সের ফিল্ডগুলোর একটি উপসেট হয়ে থাকে।

প্রতিটি মানদণ্ড এক বা একাধিক অপারেটর সমর্থন করে:

তুলনীয় অপারেটর
EQUALS (=)

ফিল্ডটি প্রদত্ত মানের সমান।

উদাহরণ: entityStatus="ENTITY_STATUS_ACTIVE"

LESS THAN OR EQUAL TO (<=)

ফিল্ডটি প্রদত্ত মানের চেয়ে কম বা সমান। এটি প্রায়শই তারিখ বা তারিখ-সময় অনুযায়ী ফিল্টার করতে ব্যবহৃত হয়।

উদাহরণ: updateTime<="2023-04-01T12:00:00Z"

GREATER THAN OR EQUAL TO (>=)

ফিল্ডটি প্রদত্ত মানের চেয়ে বড় বা সমান। এটি প্রায়শই তারিখ বা তারিখ-সময় অনুযায়ী ফিল্টার করতে ব্যবহৃত হয়।

উদাহরণ: updateTime>="2023-03-01T12:00:00Z"

HAS (:)

ফিল্ডটিতে প্রদত্ত মানটি থাকে। ফিল্ডটি যদি একটি স্ট্রিং হয়, তবে এটি যাচাই করবে যে প্রদত্ত মানটি একটি সাবস্ট্রিং কি না। ফিল্ডটি যদি একটি অ্যারে হয়, তবে এটি প্রদত্ত মানটির জন্য অ্যারেটি যাচাই করবে।

উদাহরণ: lineItemIds:"1234"

যদি কোনো মানদণ্ডে অপারেটর নির্দিষ্ট করা না থাকে, তবে এটি শুধুমাত্র EQUALS (=) সমর্থন করে।

কোনো মানদণ্ডে বিশেষ বিন্যাসের প্রয়োজন আছে কিনা তা উল্লেখ করা থাকবে।

যোগদানের মানদণ্ড

list প্রতিক্রিয়া আরও সীমিত করতে একাধিক মানদণ্ড সংযুক্ত করুন।

লজিক্যাল অপারেটর AND এবং OR ব্যবহার করে ক্রাইটেরিয়া যুক্ত করুন। প্রতিটি list মেথডে উল্লেখ করা থাকে কোনগুলো সমর্থিত। কিছু মেথড কেবল একটি ক্রাইটেরিয়া দিয়ে ফিল্টার সমর্থন করে।

একাধিক মানদণ্ড ব্যবহার করার সময় এই সীমাবদ্ধতাগুলো বিবেচনা করুন:

সীমাবদ্ধতা এবং উদাহরণ
AND অবশ্যই এমন বিধিনিষেধ বা বিধিনিষেধের সমষ্টিকে একত্রিত করতে হবে, যা বিভিন্ন ফিল্ডকে ফিল্টার করে, অথবা একই ফিল্ডকে ভিন্নভাবে ফিল্টার করে। updateTime>="2023-03-01T12:00:00Z" AND updateTime<="2023-04-01T12:00:00Z" AND (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED")
OR অবশ্যই এমন স্বতন্ত্র বিধিনিষেধগুলিকে একত্রিত করতে হবে যা একই ফিল্ড দ্বারা ফিল্টার করে। (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED") AND (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" OR lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT")
OR দুই ধরনের বিধিনিষেধ একত্রিত করা যাবে না। এর পরিবর্তে ভিন্ন ভিন্ন ফিল্টার মান সহ একাধিক list অনুরোধ ব্যবহার করুন। নিম্নলিখিত দুটি ফিল্টার স্ট্রিং অবশ্যই আলাদা অনুরোধে ব্যবহার করতে হবে এবং OR অপারেটর ব্যবহার করে একত্রিত করা যাবে না :
  • (lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" AND insertionOrderId="123")
  • (lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT" AND insertionOrderId="456")
গ্রুপ বিধিনিষেধ অন্তর্ভুক্ত না থাকলেও বন্ধনী দ্বারা তা বোঝানো হতে পারে। ফিল্টার স্ট্রিং ` updateTime>="2023-03-01T12:00:00Z" AND entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED" OR entityStatus="ENTITY_STATUS_DRAFT" updateTime>="2023-03-01T12:00:00Z" AND (entityStatus="ENTITY_STATUS_ACTIVE" OR entityStatus="ENTITY_STATUS_PAUSED" OR entityStatus="ENTITY_STATUS_DRAFT") হিসেবে ব্যাখ্যা করা হয়।