ফিল্টার

অ্যাড ম্যানেজার REST API List পদ্ধতিতে ফিল্টারিং সমর্থন করে। ফিল্টার স্ট্রিং সিনট্যাক্স আনুষ্ঠানিকভাবে EBNF ব্যাকরণে সংজ্ঞায়িত করা হয়।

শুরু করার জন্য, এখানে সাধারণ ব্যবহারের ক্ষেত্রে কিছু উদাহরণ দেওয়া হল।

উদাহরণ অর্থ
orders.updateTime > "2024-01-01T00:00:00-5:00" ইস্টার্ন স্ট্যান্ডার্ড টাইমজোনে 1 জানুয়ারী, 2024 এর পরে একটি updateTime সহ অর্ডারগুলি তালিকাভুক্ত করে৷
lineItems.targeting.geoTargeting.targetedGeoIds:2840 মার্কিন যুক্তরাষ্ট্র (জিও টার্গেট আইডি 2480 ) ধারণ করে এমন একটি ভৌগলিক টার্গেটিং সহ লাইন আইটেমগুলি তালিকাভুক্ত করে
lineItems.displayName = "*_interstitial" স্ট্রিং _interstitial দিয়ে শেষ হয় এমন একটি প্রদর্শন নাম আছে এমন লাইন আইটেমগুলিকে তালিকাভুক্ত করে৷
orders.displayName = "*video*" স্ট্রিং video ধারণ করে এমন একটি ডিসপ্লে নাম আছে এমন অর্ডারের তালিকা করে
displayName:"video" স্ট্রিং video (বিকল্প সিনট্যাক্স) ধারণ করে এমন একটি ডিসপ্লে নাম আছে এমন অর্ডারগুলি তালিকাভুক্ত করে

আক্ষরিক

একটি খালি আক্ষরিক মান (উদাহরণ: 42 , Hugo ) হল একটি মান যার সাথে মিলতে হবে। এককভাবে প্রদর্শিত আক্ষরিকগুলি একটি সম্পদের সমস্ত সমর্থিত ক্ষেত্রের সাথে অস্পষ্টভাবে মিলে যায়। সম্পদের নথি যা list পদ্ধতিতে মিলের জন্য বিবেচনা করা হয়। এই বৈশিষ্ট্যটি অ্যাড ম্যানেজার UI-তে সার্বজনীন অনুসন্ধানের সাথে তুলনীয় তবে একটি একক সংস্থান প্রকারের জন্য স্কোপ করা হয়েছে৷

স্পেস সম্বলিত স্ট্রিং লিটারেলগুলিকে ডবল কোটে মোড়ানো উচিত (উদাহরণ: "Foo bar" )। স্ট্রিং লিটারেল মোড়ানোর জন্য একক উদ্ধৃতি ব্যবহার করা যাবে না।

লজিক্যাল অপারেটর

অ্যাড ম্যানেজার REST API বাইনারি অপারেটর AND এবং OR সমর্থন করে।

অপারেটর উদাহরণ অর্থ
AND a AND b a এবং b সত্য হলে সত্য।
OR a OR b OR c a , b , c এর যেকোনটি সত্য হলে সত্য।

নেগেটিভ অপারেটর

অ্যাড ম্যানেজার REST API ইউনারি অপারেটরদের প্রদান করে NOT এবং - । এগুলি বিনিময়যোগ্যভাবে ব্যবহার করা যেতে পারে।

অপারেটর উদাহরণ অর্থ
NOT NOT a সত্য যদি a সত্য না হয়।
- -a সত্য যদি a সত্য না হয়।

তুলনা অপারেটর

অ্যাড ম্যানেজার REST API স্ট্রিং, সংখ্যাসূচক, টাইমস্ট্যাম্প এবং সময়কাল ক্ষেত্রগুলির জন্য বাইনারি তুলনা অপারেটর = , != , < , > , <= , এবং >= সমর্থন করে৷

অপারেটর উদাহরণ অর্থ
= a = true সত্য যদি a সত্য হয়.
!= a != 42 42 a সমান না হলে সত্য।
< a < 42 সত্য যদি a একটি সাংখ্যিক মান 42 এর কম হয়।
> a > "foo" সত্য যদি a আভিধানিকভাবে "foo" এর পরে আদেশ করা হয়।
<= a <= "foo" সত্য যদি a "foo" হয় বা আভিধানিকভাবে এর আগে হয়।
>= a >= 42 সত্য যদি a একটি সাংখ্যিক মান 42 বা তার বেশি হয়।

যেহেতু ফিল্টারগুলি ক্যোয়ারী স্ট্রিং হিসাবে গৃহীত হয়, তাই স্ট্রিংটিকে যথাযথভাবে টাইপ করা মানতে অনুবাদ করতে টাইপ রূপান্তর ঘটে:

  • স্ট্রিংস ডবল কোট আশা করে। উদাহরণ: "Foo bar"
  • Enums enum এর স্ট্রিং উপস্থাপনা আশা করে (কেস-সংবেদনশীল)।
  • বুলিয়ানরা true এবং false আক্ষরিক মান আশা করে।
  • সংখ্যাগুলি আদর্শ পূর্ণসংখ্যা বা ফ্লোট উপস্থাপনা আশা করে। ফ্লোটের জন্য, সূচক সমর্থিত। উদাহরণ: 2.997e9
  • সময়কাল একটি s প্রত্যয় (সেকেন্ডের জন্য) দ্বারা অনুসরণ করে একটি সংখ্যাসূচক উপস্থাপনা আশা করে। উদাহরণ: "20s" , "1.2s"
  • টাইমস্ট্যাম্পগুলি একটি RFC-3339 ফর্ম্যাট করা স্ট্রিং আশা করে৷ উদাহরণ: "2012-04-21T11:30:00-04:00" । UTC অফসেট সমর্থিত।

ওয়াইল্ডকার্ড

সমতার জন্য স্ট্রিং তুলনা করার সময়, অ্যাড ম্যানেজার REST API * অক্ষর ব্যবহার করে ওয়াইল্ডকার্ড সমর্থন করে।

উদাহরণ অর্থ
a = "*.foo" ".foo" দিয়ে শেষ a সত্য

ট্রাভার্সাল অপারেটর

অ্যাড ম্যানেজার REST API সমর্থন করে . অপারেটর, যা একটি বার্তা, মানচিত্র বা কাঠামোর মাধ্যমে ট্রাভার্সাল নির্দেশ করে।

উদাহরণ অর্থ
ab = true সত্য যদি a বুলিয়ান b ক্ষেত্র থাকে যা সত্য।
ab > 42 সত্য যদি a এর একটি সংখ্যাসূচক b ক্ষেত্র থাকে যা 42-এর বেশি হয়।
abc = "foo" সত্য যদি ab এর একটি স্ট্রিং c ক্ষেত্র থাকে যা "foo"।

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

অপারেটর আছে

অ্যাড ম্যানেজার REST API : অপারেটরকে সমর্থন করে, যার অর্থ "has"৷ এটি সংগ্রহ (পুনরাবৃত্ত ক্ষেত্র বা মানচিত্র), বার্তা এবং স্ট্রিংগুলির সাথে ব্যবহারযোগ্য এবং প্রতিটি ক্ষেত্রে কিছুটা আলাদাভাবে আচরণ করে।

স্ট্রিং ফিল্ড ক্যোয়ারী স্ট্রিংটিতে একটি মিলিত সাবস্ট্রিং আছে কিনা তা দেখতে:

উদাহরণ অর্থ
r.displayName:"_250x250" সত্য যদি স্ট্রিং ফিল্ড r.displayName এ সাবস্ট্রিং _250x250 থাকে।

পুনরাবৃত্ত ক্ষেত্র ক্যোয়ারী পুনরাবৃত্ত গঠনে একটি মিলে যাওয়া উপাদান আছে কিনা তা দেখতে:

উদাহরণ অর্থ
r:42 r 42 থাকলে সত্য।
r.foo:42 সত্য যদি r এ একটি উপাদান e থাকে যেমন e.foo = 42

মানচিত্র, কাঠামো এবং বার্তাগুলি মানচিত্রে একটি ক্ষেত্রের উপস্থিতি বা একটি নির্দিষ্ট মান সম্পর্কে জিজ্ঞাসা করতে পারে:

উদাহরণ অর্থ
m:foo সত্য যদি m তে "foo" কী থাকে
m.foo:* সত্য যদি m তে "foo" কী থাকে
m.foo:42 সত্য যদি m.foo 42 হয়।

বার্তাগুলি অতিক্রম করার সময়, একটি ক্ষেত্র শুধুমাত্র উপস্থিত বলে বিবেচিত হয় যদি এর একটি অ-ডিফল্ট মান থাকে।

সীমাবদ্ধতা

স্বতন্ত্র পরিষেবাগুলি এখানে যা সংজ্ঞায়িত করা হয়েছে তা ছাড়াও ফিল্টার প্রশ্নের জন্য আরও কাঠামো বা সীমাবদ্ধতা নির্দিষ্ট করতে পারে।

অর্ডার

অ্যাড ম্যানেজার REST API List পদ্ধতিতে অর্ডার সমর্থন করে। orderBy ক্ষেত্রের জন্য সিনট্যাক্স হল একটি কমা বিভক্ত ক্ষেত্র নামের তালিকা। উদাহরণস্বরূপ: "foo,bar"

ডিফল্ট সাজানোর ক্রম ক্রমবর্ধমান। একটি ক্ষেত্রের জন্য অবরোহ ক্রম নির্দিষ্ট করতে, একটি " desc" প্রত্যয় যোগ করুন। যেমন: "foo desc, bar"

সিনট্যাক্সে অপ্রয়োজনীয় স্থান অক্ষর উপেক্ষা করা হয়. "foo, bar desc" , " foo , bar desc " , এবং "foo,bar desc" সবই সমতুল্য।

সাবফিল্ডগুলি ট্রাভার্সাল অপারেটরের সাথে নির্দিষ্ট করা হয়। যেমন: foo.bar বা address.street