רוב השירותים ברשת המדיה טכנולוגיית Video 360 API מספקת שיטה LIST
לאחזור בכמות גדולה של
במשאבי אנוש. שיטות LIST
האלה בדרך כלל תומכות בסינון תוצאות באמצעות
פרמטר של שאילתת filter
. השתמשו בפרמטר הזה רק כדי לבצע אופטימיזציה של השימוש ב-API
לאחזר את המידע שאתם צריכים.
במדריך הזה מוסבר איך להשתמש בפרמטר filter
ביעילות.
מבנה המסנן
ערך הפרמטר filter
הוא מחרוזת שמכילה הגבלה אחת או יותר
שאפשר לשלב עם אופרטורים של AND
או OR
, ולקבץ אותם באמצעות
סוגריים.
ההגבלות מופיעות בפורמט {field} {operator} {value}
. הנה
דוגמה:
entityStatus="ENTITY_STATUS_ACTIVE"
האורך של מחרוזת המסנן לא יכול לחרוג מ-500 תווים. אם מחרוזת הסינון חורג מ-500 תווים, יש לבצע אחת מהפעולות הבאות:
- מפצלים את הלוגיקה לכמה מחרוזות סינון ומאחזרים את המשאבים באמצעות
בקשות
LIST
נפרדות. - מסירים חלק מהלוגיקה ממחרוזת הסינון ומשתמשים בה כדי לסנן את אחזור משאבים באופן מקומי.
צריך לתחום את ערכי ההגבלה במירכאות כדי לוודא שהלוגיקה מיושמת כראוי.
צריך לקודד את מחרוזות הסינון לפי כתובת URL אם מבצעים הפעלות של LIST
ישירות ללא
באמצעות ספריית לקוח.
פרטים נוספים על הפורמט זמינים בקטע לוגיקה בין הגבלות לשאילתות שלכם.
שדות שניתן לסנן
השדות שניתן לסנן בכל שיטה של LIST
מפורטים ב-filter
של השיטה
בתיאור הפרמטר. ברוב המקרים, אפשר לסנן לפי קבוצת משנה של משאב
בשדות רגילים. במקרים נדירים, יש שדות נוספים שאפשר להשתמש בהם
לסינון בלבד.
כל שדה בתיאור הפרמטר תומך לפחות באחת מהאפשרויות הבאות אופרטורים להשוואה:
אופרטורים להשוואה | ||
---|---|---|
EQUALS (=)
|
הערך של שדה המשאב שווה לערך הנתון.
לדוגמה: |
|
LESS THAN OR EQUAL TO (<=)
|
הערך של שדה המשאב קטן מהערך הנתון או שווה לו. בשימוש לעיתים קרובות
כשמשווים בין תאריך או תאריך ושעה.
לדוגמה: |
|
GREATER THAN OR EQUAL TO (>=)
|
הערך של שדה המשאב גדול מהערך הנתון או שווה לו. בשימוש לעיתים קרובות
כשמשווים בין תאריך או תאריך ושעה.
לדוגמה: |
|
HAS (:)
|
הערך של שדה המשאב מכיל את הערך הנתון. אם שדה המשאב הוא
הפונקציה תבדוק אם הערך הנתון הוא מחרוזת משנה קיימת. אם
שדה המשאב הוא מערך, הוא יבדוק אם המערך מכיל
עם ערך מסוים.
לדוגמה: |
אם לא ציינתם אופרטורים לשדה בתיאור הפרמטר,
אפשר להשתמש רק באופרטור EQUALS (=)
. בחלק מהשדות אפשר להשתמש באופרטורים מרובים.
בחלק מהשדות שניתן לסנן, כמו שדות של תאריכים ושעות, צריך
ערך להשוואה כדי להופיע בפורמט ספציפי. הפורמט מצוין לצד
השדה בתיאור הפרמטר filter
.
היגיון בין ההגבלות
אפשר לשלב מספר הגבלות כדי לצמצם או להרחיב את התשובה
בקשת LIST
.
בדרך כלל אפשר לשלב כמה הגבלות עם AND
ו-OR
אופרטורים לוגיים. כל method של 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
כדי לשלב שתי קבוצות של הגבלות. שימוש בכמות גדולה במקום זאת, יש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")