מיפויי JSON

כשמשתמשים בממשק REST של Search Ads 360 Reporting API, עובדים עם ייצוגי JSON של אותם משאבים וסוגים שמוגדרים בקובצי .proto descriptor של Search Ads 360 Reporting API. סכימת הקידוד של JSON מבוססת על סכימת הקידוד הקנונית שמתוארת בקטע מיפוי JSON במדריך השפה של Protocol Buffers.

באופן כללי, כל ההודעות ברמה העליונה אל השירותים וממנה הן אובייקטים יחידים של JSON. search התגובות הן אובייקטים של JSON שמכילים מערך results עם קבוצת התוצאות של השאילתה.

המזהים עוברים המרה מ-snake_case (במאגרי פרוטוקולים) ל-lowerCamelCase ב-JSON. יוצא מן הכלל חשוב לכלל הזה הוא כשמשתמשים ב-search או ב-searchStream כדי לשלוח שאילתות של Search Ads 360 Query Language. שפת השאילתה עצמה משתמשת בקו תחתון בין המילים, ללא קשר לממשק שבו משתמשים. עם זאת, התוצאות של שאילתה ב-REST מוחזרות כאובייקטים רגילים של JSON, והמזהים שלהן הם בפורמט lowerCamelCase.

לדוגמה, שאילתה לאחזור רשימה של מילות מפתח פעילות בחשבון משתמשת ב-snake case בתוך השאילתה עצמה (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"
          }
        }
      },
      ...
    ]
  }
]