חיפוש & SearchStream

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

אפשר ליצור שאילתות באמצעות אחת מהשיטות Search או SearchStream. שתי השיטות תומכות באותן שאילתות ומחזירות תוצאות זהות. ה-method 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'"
}