एपीआई स्ट्रक्चर गाइड में बताया गया है कि Google Ads API में हर टॉप-लेवल रिसॉर्स के लिए, रिसॉर्स टाइप के हिसाब से एक सेवा होती है. यह सेवा, रिसॉर्स के इंस्टेंस में बदलाव करने की सुविधा देती है. एक ही अनुरोध में कई तरह के रिसॉर्स को एक साथ बदलने के लिए, GoogleAdsService.Mutate का भी इस्तेमाल किया जा सकता है.
इस गाइड में, Campaign ऑब्जेक्ट में बदलाव करने का तरीका दिखाने के लिए, CampaignService का इस्तेमाल किया गया है. हालांकि, यही कॉन्सेप्ट अन्य सभी संसाधन टाइप की सेवाओं पर भी लागू होते हैं.
बदलाव के अनुरोध
हर संसाधन-टाइप के लिए उपलब्ध सेवा में एक mutate तरीका होता है. यह तरीका, म्यूटेट करने का अनुरोध स्वीकार करता है. इस अनुरोध में ये शामिल हैं:
customer_id(या REST यूआरएल मेंcustomerId)operationsका कलेक्शन- एग्ज़ीक्यूशन की वैकल्पिक सेटिंग, जैसे कि
partial_failure,validate_only, औरresponse_content_type(इससे यह तय होता है कि म्यूटेशन के बाद, म्यूटेट किया जा सकने वाला संसाधन या सिर्फ़ संसाधन का नाम दिखाया जाए)
उदाहरण के लिए, CampaignService का MutateCampaigns तरीका, MutateCampaignsRequest को स्वीकार करता है. इसमें ये शामिल हैं:
customer_idCampaignOperationऑब्जेक्ट का कलेक्शन (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 का इस्तेमाल करके, रिपोर्ट स्ट्रीम करने के बारे में ज़्यादा जानें.