บริการส่วนใหญ่ในเครือข่ายดิสเพลย์และ Video 360 API มีเมธอด LIST
สำหรับการเรียกข้อมูล
ที่ไม่ซับซ้อน โดยปกติแล้วเมธอด LIST
เหล่านี้รองรับการกรองผลการค้นหาผ่าน
พารามิเตอร์การค้นหาของ filter
ใช้พารามิเตอร์นี้เพื่อเพิ่มประสิทธิภาพการใช้ API ของคุณ
เพื่อเรียกข้อมูลที่คุณต้องการ
คู่มือนี้แสดงวิธีใช้พารามิเตอร์ filter
อย่างมีประสิทธิภาพ
โครงสร้างตัวกรอง
ค่าพารามิเตอร์ filter
เป็นสตริง ซึ่งประกอบด้วยข้อจำกัดอย่างน้อย 1 ข้อ
ซึ่งสามารถใช้ร่วมกับโอเปอเรเตอร์ AND
หรือ OR
และจัดกลุ่มโดยใช้
วงเล็บ
ข้อจำกัดจะอยู่ในรูปแบบ {field} {operator} {value}
นี่คือ
ตัวอย่าง:
entityStatus="ENTITY_STATUS_ACTIVE"
สตริงตัวกรองมีความยาวไม่เกิน 500 อักขระ หากสตริงตัวกรอง เกิน 500 อักขระ โปรดดำเนินการอย่างใดอย่างหนึ่งต่อไปนี้
- แยกตรรกะเป็นสตริงตัวกรองหลายรายการ และเรียกใช้ทรัพยากรโดยใช้
แยกคำขอ
LIST
รายการ - นำตรรกะออกจากสตริงตัวกรองและใช้เพื่อกรอง ทรัพยากรในเครื่อง
ตัดค่าข้อจำกัดในเครื่องหมายคำพูดเพื่อให้ใช้ตรรกะได้ถูกต้อง
เข้ารหัส URL สตริงตัวกรองหากคุณเรียกใช้ LIST
โดยตรงโดยไม่มี
โดยใช้ไลบรารีของไคลเอ็นต์
ดูรายละเอียดเพิ่มเติมเกี่ยวกับการจัดรูปแบบได้ในตรรกะระหว่างข้อจำกัด คำค้นหาของคุณ
ช่องที่กรองได้
ช่องที่กรองได้ของเมธอด LIST
แต่ละช่องจะแสดงอยู่ใน filter
ของเมธอด
คำอธิบายพารามิเตอร์ ในกรณีส่วนใหญ่ คุณจะกรองรายการย่อยของทรัพยากรได้
ฟิลด์มาตรฐาน ในบางกรณีซึ่งพบได้ไม่บ่อยนัก ยังมีช่องเพิ่มเติมที่คุณสามารถใช้ได้
สำหรับการกรองเท่านั้น
แต่ละช่องในคำอธิบายของพารามิเตอร์รองรับข้อมูลต่อไปนี้อย่างน้อย 1 ช่อง โอเปอเรเตอร์ที่เปรียบเทียบกันได้:
โอเปอเรเตอร์ที่เปรียบเทียบได้ | ||
---|---|---|
EQUALS (=)
|
ค่าในช่องทรัพยากรเท่ากับค่าที่ระบุ
เช่น |
|
LESS THAN OR EQUAL TO (<=)
|
ค่าในช่องทรัพยากรน้อยกว่าหรือเท่ากับค่าที่ระบุ ที่ใช้บ่อย
เมื่อเปรียบเทียบวันที่หรือวันที่และเวลา
เช่น |
|
GREATER THAN OR EQUAL TO (>=)
|
ค่าในช่องทรัพยากรมากกว่าหรือเท่ากับค่าที่ระบุ ที่ใช้บ่อย
เมื่อเปรียบเทียบวันที่หรือวันที่และเวลา
เช่น |
|
HAS (:)
|
ค่าในช่องทรัพยากรมีค่าที่ระบุ หากช่องแหล่งข้อมูลเป็น
ระบบจะตรวจสอบว่าค่าที่ระบุเป็นสตริงย่อยที่มีอยู่หรือไม่ หาก
ฟิลด์ทรัพยากรคืออาร์เรย์ ซึ่งจะตรวจสอบว่าอาร์เรย์มีค่า
เช่น |
หากไม่ได้ระบุโอเปอเรเตอร์สำหรับช่องในคำอธิบายของพารามิเตอร์ คุณจะ
ใช้โอเปอเรเตอร์ EQUALS (=)
ได้เท่านั้น บางช่องรองรับโอเปอเรเตอร์หลายรายการ
ช่องที่กรองได้บางช่อง เช่น ช่องวันที่และเวลา ต้องใช้แอตทริบิวต์
ค่าที่เปรียบเทียบได้เพื่อให้เป็นไปตามรูปแบบหนึ่งๆ รูปแบบที่ระบุไว้ถัดจาก
ช่องดังกล่าวในคำอธิบายพารามิเตอร์ filter
ตรรกะระหว่างข้อจำกัด
คุณสามารถรวมข้อจำกัดหลายๆ อย่างเข้าด้วยกันเพื่อจำกัดหรือขยายการตอบกลับจาก
คำขอLIST
โดยปกติคุณจะรวมข้อจำกัดหลายข้อเข้ากับ AND
และ OR
ได้
โอเปอเรเตอร์ทางตรรกะ เมธอด LIST
แต่ละเมธอดจะระบุโอเปอเรเตอร์ที่รองรับ
บางวิธีรองรับการใช้ข้อจำกัดรายการเดียวในพารามิเตอร์ filter
เท่านั้น
พิจารณาข้อจำกัดต่อไปนี้เมื่อสร้างสตริงตัวกรองด้วย AND
หรือโอเปอเรเตอร์เชิงตรรกะ OR
- ต้องใช้
AND
ระหว่างข้อจำกัดหรือกลุ่มข้อจำกัดที่ กรองช่องที่ต่างกัน หรือกรองช่องเดียวกันต่างกัน นี่คือ ตัวอย่างเช่นupdateTime>="2023-03-01T12:00:00Z" AND entityStatus="ENTITY_STATUS_ACTIVE"
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
เพื่อรวมข้อจำกัด 2 กลุ่มไม่ได้ ใช้หลายรายการ คำขอLIST
รายการที่มีค่าตัวกรองอื่นแทน ตัวอย่างเช่น ใช้ คำขอLIST
แยกต่างหากต่อไปนี้:(lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" AND insertionOrderId="123")
(lineItemType="LINE_ITEM_TYPE_VIDEO_DEFAULT" AND insertionOrderId="456")
อย่าใช้โอเปอเรเตอร์
OR
เพื่อรวมเข้าด้วยกัน(lineItemType="LINE_ITEM_TYPE_DISPLAY_DEFAULT" AND insertionOrderId="123") OR (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")