ऑब्जेक्ट बदलना

एपीआई स्ट्रक्चर गाइड में बताया गया है कि Google Ads API में हर टॉप-लेवल रिसॉर्स के लिए, रिसॉर्स टाइप के हिसाब से एक सेवा होती है. यह सेवा, रिसॉर्स के इंस्टेंस में बदलाव करने की सुविधा देती है. एक ही अनुरोध में, कई रिसॉर्स टाइप को एक साथ बदलने के लिए, GoogleAdsService.Mutate का भी इस्तेमाल किया जा सकता है.

इस गाइड में, Campaign ऑब्जेक्ट में बदलाव करने का तरीका दिखाने के लिए, CampaignService का इस्तेमाल किया गया है. हालांकि, यही कॉन्सेप्ट अन्य सभी संसाधन टाइप की सेवाओं पर भी लागू होते हैं.

बदलाव के अनुरोध

हर संसाधन-टाइप के लिए उपलब्ध सेवा में एक mutate तरीका होता है. यह तरीका, म्यूटेट करने का अनुरोध स्वीकार करता है. इस अनुरोध में ये शामिल हैं:

  • customer_id (या REST यूआरएल में customerId)
  • operations का कलेक्शन
  • कार्रवाई से जुड़ी वैकल्पिक सेटिंग, जैसे कि partial_failure, validate_only, और response_content_type. इनसे यह तय होता है कि बदलाव के बाद, बदले जा सकने वाले संसाधन को दिखाया जाए या सिर्फ़ संसाधन का नाम दिखाया जाए

उदाहरण के लिए, CampaignService का MutateCampaigns तरीका, MutateCampaignsRequest को स्वीकार करता है. इसमें यह जानकारी शामिल होती है:

  • customer_id
  • CampaignOperation ऑब्जेक्ट (operations) का कलेक्शन
  • ज़रूरी नहीं कि ये सेटिंग लागू हों (partial_failure, validate_only, और response_content_type से जवाब का पसंदीदा टाइप पता चलता है)

कार्रवाइयां

CampaignOperation जैसे ऑपरेशन ऑब्जेक्ट की मदद से, किसी एक संसाधन पर की जाने वाली कार्रवाई तय की जा सकती है. इसके लिए, आपको operation फ़ील्ड सेट करना होगा. यह फ़ील्ड एक oneof फ़ील्ड है. इसमें ये एट्रिब्यूट शामिल होते हैं:

create
इससे संसाधन का नया इंस्टेंस बनता है.
update
इस तरीके का इस्तेमाल करके, update संसाधन के एट्रिब्यूट से मेल खाने के लिए संसाधन को अपडेट किया जाता है. इस फ़ील्ड को सेट करने पर, आपको ऑपरेशन का update_mask भी सेट करना होगा. इससे Google Ads API को पता चलता है कि अपडेट ऑपरेशन के दौरान किन एट्रिब्यूट में बदलाव करना है. हर क्लाइंट लाइब्रेरी में फ़ील्ड मास्क यूटिलिटी या हेल्पर मेथड शामिल होता है, जो आपके लिए update_mask जनरेट करता है.
remove
यह फ़ंक्शन, संसाधन के नाम वाली स्ट्रिंग से तय किए गए संसाधन को हटाता है. उदाहरण के लिए, customers/1234567890/campaigns/987654321.

operation फ़ील्ड, oneof फ़ील्ड है. इसलिए, एक ही ऑपरेशन का इस्तेमाल करके कई ऑब्जेक्ट में बदलाव नहीं किया जा सकता. उदाहरण के लिए, अगर आपको एक कैंपेन बनाना है और दूसरे कैंपेन को हटाना है, तो अपने अनुरोध में CampaignOperation के दो इंस्टेंस जोड़ें: एक में create सेट हो और दूसरे में remove सेट हो.

बैच कार्रवाइयां

एक ऑपरेशन में सिर्फ़ एक संसाधन बनाया, अपडेट किया या हटाया जा सकता है. हालांकि, एक म्यूटेट अनुरोध में कई ऑपरेशन शामिल हो सकते हैं. आपको कई म्यूटेट अनुरोध भेजने के बजाय, अपने सभी ऑपरेशन को एक ही म्यूटेट अनुरोध में शामिल करना चाहिए. हर म्यूटेट अनुरोध में सिर्फ़ एक ऑपरेशन होता है.

उदाहरण के लिए, अगर आपको दस कैंपेन बनाने हैं, तो आपको एक सिंगल MutateCampaignsRequest भेजना चाहिए, जिसमें दस CampaignOperation ऑब्जेक्ट हों. अलग-अलग रिसोर्स टाइप के ऑपरेशन को एक ही अनुरोध में ग्रुप करने के लिए, GoogleAdsService.Mutate या बदलाव करने वाले रिसोर्स का इस्तेमाल करें.

बदलाव से जुड़े जवाब

जवाब में क्या दिखाया जाएगा, यह इस बात पर निर्भर करता है कि बदलाव के अनुरोध के response_content_type फ़ील्ड में क्या भेजा गया था. उदाहरण के लिए, अगर MUTABLE_RESOURCE तय किया गया है, तो response में संसाधन का resource_name और कैंपेन के बदले जा सकने वाले फ़ील्ड, दोनों campaign में शामिल होते हैं. डिफ़ॉल्ट रूप से (RESOURCE_NAME_ONLY), हर MutateCampaignResult में सिर्फ़ resource_name की जानकारी भरी जाती है.

बदलाव से जुड़ी गड़बड़ियां

डिफ़ॉल्ट रूप से (partial_failure = false), म्यूटेट अनुरोध में की गई कार्रवाइयां सिर्फ़ तब आपके Google Ads खाते पर लागू होती हैं, जब अनुरोध में की गई हर कार्रवाई पूरी हो जाती है. अगर कोई भी कार्रवाई पूरी नहीं होती है, तो पूरे अनुरोध को वापस कर दिया जाता है. बदलाव करने के ऐसे अनुरोधों के लिए जिनमें कुछ बदलाव नहीं हो पाते (अनुरोध के मैसेज में partial_failure फ़ील्ड चालू होता है), partial_failure = true सेट करने पर मान्य कार्रवाइयां कमिट हो जाती हैं. वहीं, जिन कार्रवाइयों को पूरा नहीं किया जा सका उनके लिए, जवाब के partial_failure_error फ़ील्ड में कार्रवाई से जुड़ी गड़बड़ियां दिखती हैं. गड़बड़ियों को ठीक करने के बारे में जानकारी के लिए, आंशिक तौर पर फ़ेल होने से जुड़ी गाइड और सामान्य गड़बड़ियों से जुड़ी गाइड देखें.

बदलावों को ट्रैक करना

अपने Google Ads खाते में मौजूद ऑब्जेक्ट में किए गए बदलावों को ट्रैक करने या ऑब्जेक्ट की मौजूदा स्थिति को वापस पाने के लिए, change_status और change_event संसाधनों का इस्तेमाल किया जा सकता है.

  • change_status से यह पता चलता है कि किसी तय समयावधि में किन संसाधनों में बदलाव हुआ है.
  • change_event में बदलावों का पूरा इतिहास दिखता है. इसमें बदले गए फ़ील्ड की पुरानी और नई वैल्यू भी शामिल होती हैं.

इन संसाधनों के बारे में क्वेरी करने के लिए, GoogleAdsService.SearchStream या GoogleAdsService.Search तरीके का इस्तेमाल करें. GoogleAdsService का इस्तेमाल करके, रिपोर्ट को स्ट्रीम करने के बारे में ज़्यादा जानें.