כשמשתמשים בממשק ה-REST של Reporting API ב-Search Ads 360, עובדים עם ייצוגים של JSON של אותם משאבים וסוגים שמוגדרים בקובצי התיאור (descriptor) מסוג .proto של Reporting API ב-Search Ads 360. סכימה של קידוד JSON תואמת לסכימה הקנונית של הקידוד שמתוארת בקטע JSON Mapping במדריך השפה של מאגרי הפרוטוקול.
באופן כללי, כל ההודעות ברמה העליונה אל השירותים ומהם הן אובייקטים יחידים של JSON. התשובות של search
הן אובייקטים של JSON שמכילים מערך results
עם קבוצת התוצאות של השאילתה.
המזהים עוברים טרנספורמציה מ-snake_case (במאגרי האחסון לפרוטוקולים) ל-lowerCamelCase ב-JSON. שימו לב: יש חריג אחד משמעותי לכלל הזה, והוא כשמשתמשים ב-search
או ב-searchStream
כדי לשלוח שאילתות של Search Ads 360 Query Language. בשפת השאילתות עצמה נעשה שימוש בקו תחתון בין המילים, ללא קשר לממשק שבו אתם משתמשים. עם זאת, התוצאות של שאילתה ב-REST מוחזרות כאובייקטים רגילים של JSON, והמזהים שלהן מופיעים ב-lowerCamelCase.
לדוגמה, בשאילתה לאחזור רשימה של מילות מפתח פעילות בחשבון נעשה שימוש באותיות רישיות קטנות בתוך השאילתה עצמה (ad_group_criterion
, ולא adGroupCriterion
):
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 FROM ad_group_criterion WHERE ad_group_criterion.type = 'KEYWORD' AND ad_group_criterion.status = 'ENABLED'" }
עם זאת, התגובה היא ייצוג JSON של האובייקטים (עטוף במערך JSON כי הבקשה הזו משתמשת ב-searchStream
), ובמקום זאת נעשה שימוש במזהה adGroupCriterion
ב-camelCase:
[ { "results": [ { "adGroupCriterion": { "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060", "keyword": { "text": "pay per click" } } }, ... ] } ]