כשמשתמשים בממשק ה-REST של Google Ads API, עובדים עם ייצוגים של JSON של אותם משאבים וסוגים שמוגדרים בקבצים של תיאור proto של Google Ads API. סכמת הקידוד של JSON תואמת לסכימת הקידוד הקנונית שמתוארת בקטע JSON Mapping במדריך השפה של מאגרי הנתונים של הפרוטוקול.
באופן כללי, כל ההודעות ברמה העליונה אל השירותים ומהם הן אובייקטים יחידים של JSON.
רוב הבקשות לשינוי מכילות מערך operations
שמכיל בעצמו פעולות רבות מסוג create
, update
או delete
. באופן דומה, תגובות search
הן אובייקטים של JSON שמכילים מערך results
עם קבוצת התוצאות של השאילתה.
המזהים עוברים טרנספורמציה מ-snake_case (במאגרי האחסון לפרוטוקולים) ל-lowerCamelCase ב-JSON. חריגה משמעותית לכלל הזה היא כשמשתמשים ב-search
או ב-searchStream
כדי לשלוח שאילתות של שפת השאילתות של Google Ads. בשפת השאילתות עצמה נעשה שימוש בקו תחתון בין המילים, ללא קשר לממשק שבו אתם משתמשים. עם זאת, התוצאות של שאילתה ב-REST מוחזרות כאובייקטים רגילים של JSON, והמזהים שלהן מופיעים ב-lowerCamelCase.
לדוגמה, בשאילתה לאחזור רשימה של מילות מפתח פעילות בחשבון נעשה שימוש באותיות רישיות קטנות בתוך השאילתה עצמה (ad_group_criterion
, ולא adGroupCriterion
):
POST /v19/customers/CUSTOMER_ID/googleAds:searchStream HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_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" } } }, ... ] } ]