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 या searchStream का इस्तेमाल करके, Search Ads 360 क्वेरी लैंग्वेज क्वेरी भेजी जा सकती हैं. क्वेरी की भाषा में स्नेक केस (स्पेसिंग को अंडरस्कोर में बदलना) का इस्तेमाल किया जाता है. इससे कोई फ़र्क़ नहीं पड़ता कि किस इंटरफ़ेस का इस्तेमाल किया जा रहा है. हालांकि, 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 रिप्रज़ेंटेशन होता है. यह JSON कलेक्शन में रैप किया गया होता है, क्योंकि यह अनुरोध searchStream का इस्तेमाल करता है. साथ ही, यह camelCase आइडेंटिफ़ायर adGroupCriterion का इस्तेमाल करता है:

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