כשמשתמשים בממשק REST של Google Ads API, עובדים עם ייצוגי JSON של אותם משאבים וסוגים שמוגדרים בקובצי .proto descriptor של Google Ads API. סכימת הקידוד של JSON מבוססת על סכימת הקידוד הקנונית שמתוארת בקטע מיפוי JSON במדריך השפה של Protocol Buffers.
באופן כללי, כל ההודעות ברמה העליונה אל השירותים וממנה הן אובייקטים יחידים של JSON.
רוב בקשות השינוי מכילות מערך operations
שמכיל בעצמו הרבה פעולות create
, update
או delete
. באופן דומה, תגובות search
הן אובייקטים של JSON שמכילים מערך search
עם קבוצת התוצאות של השאילתה.results
המזהים עוברים המרה מ-snake_case (במאגרי פרוטוקולים) ל-lowerCamelCase ב-JSON. יוצא דופן בולט לכלל הזה הוא כשמשתמשים ב-search
או ב-searchStream
כדי לשלוח שאילתות של שפת השאילתות של Google Ads. שפת השאילתה עצמה משתמשת בקו תחתון בין המילים, ללא קשר לממשק שבו משתמשים. עם זאת, התוצאות של שאילתה ב-REST מוחזרות כאובייקטים רגילים של JSON, והמזהים שלהן הם בפורמט lowerCamelCase.
לדוגמה, שאילתה לאחזור רשימה של מילות מפתח פעילות בחשבון משתמשת ב-snake case בתוך השאילתה עצמה (ad_group_criterion
, לא adGroupCriterion
):
POST /v21/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" } } }, ... ] } ]