JSON मैपिंग

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

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

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 कलेक्शन में रैप किया जाता है. इसके बजाय, यह CamlCase आइडेंटिफ़ायर adGroupCriterion का इस्तेमाल करता है:

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