JSON ম্যাপিং

Search Ads 360 Reporting API-এর REST ইন্টারফেস ব্যবহার করার সময়, আপনি অনুসন্ধান বিজ্ঞাপন 360 রিপোর্টিং API-এর .proto বর্ণনাকারী ফাইলগুলিতে সংজ্ঞায়িত একই সংস্থান এবং প্রকারের JSON উপস্থাপনা নিয়ে কাজ করছেন। JSON এনকোডিং স্কিমটি প্রোটোকল বাফার ল্যাঙ্গুয়েজ গাইডের JSON ম্যাপিং বিভাগে বর্ণিত ক্যানোনিকাল এনকোডিং স্কিম অনুসরণ করে।

সাধারণভাবে, পরিষেবাগুলিতে এবং থেকে আসা সমস্ত শীর্ষ-স্তরের বার্তাগুলি একক JSON অবজেক্ট। search প্রতিক্রিয়া হল JSON অবজেক্ট যাতে আপনার প্রশ্নের ফলাফল সেটের সাথে একটি results অ্যারে থাকে।

শনাক্তকারীগুলিকে snake_case (প্রটোকল বাফারে) থেকে JSON-এ LowerCamelCase- এ রূপান্তরিত করা হয়। Search Ads 360 কোয়েরি ভাষার প্রশ্ন পাঠানোর জন্য search বা searchStream ব্যবহার করার সময় এই নিয়মের একটি উল্লেখযোগ্য সতর্কতা। আপনি যে ইন্টারফেস ব্যবহার করছেন তা নির্বিশেষে ক্যোয়ারী ভাষা নিজেই স্নেক কেস ব্যবহার করে। যাইহোক, REST-এ একটি প্রশ্নের ফলাফল সাধারণ JSON অবজেক্ট হিসাবে ফেরত দেওয়া হয় এবং তাদের শনাক্তকারী LowerCamelCase-এ থাকে।

উদাহরণস্বরূপ, একটি অ্যাকাউন্টে সক্রিয় কীওয়ার্ডগুলির একটি তালিকা আনার জন্য একটি ক্যোয়ারী ক্যোয়ারীটির ভিতরেই স্নেক কেস ব্যবহার করে ( 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 উপস্থাপনা (যেহেতু এই অনুরোধটি searchStream ব্যবহার করে একটি JSON অ্যারেতে মোড়ানো) এবং পরিবর্তে CamelCase শনাক্তকারী adGroupCriterion ব্যবহার করে:

[
  {
    "results": [
      {
        "adGroupCriterion": {
          "resourceName": "customers/1842689525/adGroupCriteria/55771861891~10003060",
          "keyword": {
            "text": "pay per click"
          }
        }
      },
      ...
    ]
  }
]