חיפוש & SearchStream

ב-Search Ads 360 Reporting API יש מנגנון מאוחד לאחזור מאפיינים ולדיווח על מדדים שמאפשר ליצור שאילתות באמצעות שפת השאילתות של Search Ads 360. כך אפשר להריץ שאילתות מורכבות שיכולות להחזיר כמויות גדולות של נתונים לגבי חשבונות Search Ads 360 ספציפיים.

אפשר ליצור שאילתות באמצעות אחת מהשיטות Search או SearchStream. שתי השיטות תומכות באותן שאילתות ומחזירות תוצאות מקבילות. השיטה Search מחזירה נתונים בגדלי דפים שניתן להתאים אישית, ומאפשרת לבצע איטרציה על קבוצת תוצאות באמצעות חלוקה לדפים. היתרון של השיטה הזו הוא שאפשר להשתמש בה כשרוצים לפלח קבוצת תוצאות גדולה לתגובות קטנות יותר, למשל כשרוצים לאחזר מחדש את התגובות אם החיבור יתנתק. היתרון הזה שימושי במיוחד כשרוצים להשתמש ברוחב פס נמוך או בתנאים של רשת לא מהימנה. לעומת זאת, כשמשתמשים ב-method‏ SearchStream, כל קבוצת התוצאות מוחזרת בסטרימינג בתשובה אחת, וזו יכולה להיות דרך יעילה יותר לאחזור נתונים בכמות גדולה.

גם Search וגם SearchStream משתמשים באותה כתובת URL בסיסית:

    https://searchAds360.googleapis.com/v0/customers/CUSTOMER_ID/searchAds360

שיטת החיפוש שמבוססת על דפים מקבלת פרמטר pageSize אופציונלי שמגביל את מספר התוצאות שמוחזרות בתגובה אחת של API.

POST /v0/customers/CUSTOMER_ID/searchAds360:search HTTP/1.1
Host: searchAds360.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN

{
"pageSize": 10000,
"query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'"
}

אם יש יותר שורות בתוצאות מ-pageSize, המערכת מחזירה nextPageToken בתגובה:

{
  "results": [
    // ...
    // ...
    // ...
  ],
  "nextPageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B",
  "fieldMask": "adGroupCriterion.keyword.text,adGroupCriterion.status"
}

אם חוזרים על אותה שאילתה עם pageToken שנוסף אליה הערך שלמעלה, מקבלים את דף התוצאות הבא:

POST /v0/customers/CUSTOMER_ID/searchAds360:search HTTP/1.1
Host: searchads360.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN


{
"pageSize": 10000,
"query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'",
"pageToken": "CPii5aS87vfFTBAKGJvk36qpLiIWUW5SZk8xa1JPaXJVdXdIR05JUUpxZyoCVjMwADjUBkD___________8B"
}

כדי להשתמש בשיטה SearchStream, שמחזירה את כל התוצאות בתגובה אחת בסטרימינג, פשוט משנים את שיטת השירות בכתובת ה-URL ל-searchStream (pageSize ו-pageToken לא נדרשים ל-SearchStream):

POST /v0/customers/CUSTOMER_ID/searchAds360:searchStream HTTP/1.1
Host: searchads360.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN

{
    "query": "SELECT ad_group_criterion.keyword.text, ad_group_criterion.status FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'"
}