JSON मैपिंग

Search Ads 360 Reporting API के REST इंटरफ़ेस का इस्तेमाल करते समय, आपको Search Ads 360 Reporting API की .proto डिस्क्रिप्टर फ़ाइलों में बताए गए संसाधनों और टाइप को JSON फ़ॉर्मैट में दिखाने की सुविधा मिलती है. JSON एन्कोडिंग स्कीम, प्रोटोकॉल बफ़र भाषा गाइड के JSON मैपिंग सेक्शन में बताई गई, कैननिकल एन्कोडिंग स्कीम का पालन करती है.

आम तौर पर, सेवाओं को मिलने वाले और उनसे मिलने वाले सभी टॉप लेवल के मैसेज, एक ही JSON ऑब्जेक्ट होते हैं. search रिस्पॉन्स, JSON ऑब्जेक्ट होते हैं. इनमें आपकी क्वेरी के नतीजों का सेट शामिल होता है. साथ ही, इसमें results कलेक्शन होता है.

आइडेंटिफ़ायर को snake_case (प्रोटोकॉल बफ़र में) से JSON में lowerCamelCase में बदला जाता है. जब Search Ads 360 Query लैंग्वेज की क्वेरी भेजने के लिए, search या searchStream का इस्तेमाल किया जाता है, तब इस नियम का एक अहम उल्लंघन होता है. क्वेरी की भाषा में स्नेक केस का इस्तेमाल होता है, चाहे आप किसी भी इंटरफ़ेस का इस्तेमाल कर रहे हों. हालांकि, REST में किसी क्वेरी के नतीजे, सामान्य JSON ऑब्जेक्ट के तौर पर दिखाए जाते हैं और उनके आइडेंटिफ़ायर लोअरCamelCase में होते हैं.

उदाहरण के लिए, किसी खाते में चालू कीवर्ड की सूची फ़ेच करने वाली क्वेरी, क्वेरी में ही स्नेक केस का इस्तेमाल करती है (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 फ़ॉर्मैट में दिखाता है (यह JSON कलेक्शन में रैप होता है, क्योंकि यह अनुरोध searchStream का इस्तेमाल करता है) और इसके बजाय, ऊंट की पहचान करने वाले कोड adGroupCriterion का इस्तेमाल करता है:

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