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

एपीआई स्ट्रक्चर गाइड में बताया गया है कि 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 तय किया गया है, तो रिस्पॉन्स में संसाधन का 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 का इस्तेमाल करके, रिपोर्ट स्ट्रीम करने के बारे में ज़्यादा जानें.