חיפוש & SearchStream

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

אפשר ליצור שאילתות באמצעות אחת מהשיטות Search או SearchStream. שתי השיטות תומכות באותן שאילתות ומחזירות תוצאות מקבילות. השיטה Search מחזירה נתונים בגדלי דפים שניתן להתאים אישית, ומאפשרת לבצע איטרציה על קבוצת תוצאות באמצעות חלוקה לדפים. היתרון של השיטה הזו הוא שאפשר להשתמש בה כשיש רוחב פס נמוך או תנאי רשת לא מהימנים. לדוגמה, אפשר לפלח קבוצת תוצאות גדולה לתגובות קטנות יותר, שניתן לאחזר מחדש אם החיבור יתנתק. לעומת זאת, השיטה 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'"
}