عند استخدام واجهة REST الخاصة بواجهة Google Ads API، ستتعامل مع تمثيلات JSON للموارد والأنواع نفسها المحدّدة في ملفات وصف.proto الخاصة بواجهة Google Ads API. يتّبع نظام ترميز JSON نظام الترميز الأساسي الموضّح في قسم ربط JSON ضمن دليل اللغة الخاص ببروتوكول المخازن المؤقتة.
بشكل عام، جميع الرسائل من المستوى الأعلى التي يتم إرسالها إلى الخدمات واستلامها منها هي عبارة عن كائنات JSON فردية.
تحتوي معظم طلبات التعديل على مصفوفة operations
تتضمّن بدورها العديد من عمليات create
أو update
أو delete
. وبالمثل، تكون استجابات search
عبارة عن كائنات JSON تحتوي على مصفوفة results
تتضمّن مجموعة نتائج طلب البحث.
يتم تحويل المعرّفات من snake_case (في آليات سلسلة البيانات المنظَّمة) إلى lowerCamelCase في JSON. أحد التحذيرات الجديرة بالذكر بشأن هذه القاعدة هو عند استخدام search
أو searchStream
لإرسال طلبات بحث بلغة طلب البحث في "إعلانات Google". تستخدم لغة طلب البحث نفسها تنسيق snake case، بغض النظر عن الواجهة التي تستخدمها. ومع ذلك، يتم عرض نتائج طلب البحث في 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
) ويستخدم المعرّف camelCase
adGroupCriterion
بدلاً من ذلك:
[ { "results": [ { "adGroupCriterion": { "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060", "keyword": { "text": "pay per click" } } }, ... ] } ]