כשמשתמשים בממשק REST API של Google Ads, אתם עובדים עם ייצוגי JSON של אותם משאבים וסוגים שהוגדרו בקובצי .proto dedescriptionor של Google Ads API. סכימת הקידוד של JSON תואמת לסכימת הקידוד הקנונית שנמצאת בקטע של מיפוי JSON במדריך השפה של מאגרי הפרוטוקולים.
באופן כללי, כל ההודעות ברמה העליונה שנשלחות משירותים ואליהם הן אובייקטים מסוג JSON.
רוב הבקשות לשינוי כוללות מערך operations
שמכיל בעצמו פעולות רבות של create
, update
או delete
. באופן דומה, תגובות search
הן אובייקטים של JSON המכילים מערך results
עם קבוצת התוצאות של השאילתה.
המזהים עוברים המרה מ-snake_case (במאגרי פרוטוקולים) ל-lowerCamelCase ב-JSON. אזהרה חשובה לכלל הזה היא כשמשתמשים ב-search
או ב-searchStream
כדי לשלוח שאילתות בשפת השאילתות של Google Ads. שפת השאילתה עצמה משתמשת בתרחיש סנייק, ללא קשר לממשק שבו אתם משתמשים. עם זאת, התוצאות של שאילתה ב-REST מוחזרות כאובייקטים רגילים של JSON ויש להם מזהים ב-LowerCamelCase.
לדוגמה, שאילתה המאחזרת רשימה של מילות מפתח פעילות בחשבון משתמשת בתרחיש נחש בתוך השאילתה עצמה (ad_group_criterion
, ולא adGroupCriterion
):
POST /v17/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
) ומזהה במקום זאת את CamleCase
adGroupCriterion
:
[ { "results": [ { "adGroupCriterion": { "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060", "keyword": { "text": "pay per click" } } }, ... ] } ]