חיפוש & SearchStream

‫Search Ads 360 Reporting API כולל מנגנון מאוחד לאחזור מאפיינים ולדיווח על מדדים, שמאפשר ליצור שאילתות באמצעות Search Ads 360 Query Language. האפשרות הזו מאפשרת לבצע שאילתות מורכבות שיכולות להחזיר כמויות גדולות של נתונים על חשבונות ספציפיים ב-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'"
}