חיפוש & 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'"
}