एपीआई स्ट्रक्चर की गाइड में बताया गया है कि Google Ads API में हर टॉप-लेवल रिसॉर्स के लिए, रिसॉर्स टाइप के हिसाब से एक सेवा होती है. इससे रिसॉर्स के इंस्टेंस में बदलाव करने में मदद मिलती है. एक ही अनुरोध में कई तरह के रिसॉर्स को एक साथ बदलने के लिए, GoogleAdsService.Mutate का भी इस्तेमाल किया जा सकता है.
इस गाइड में CampaignService का इस्तेमाल करके, Campaign ऑब्जेक्ट में बदलाव करने का तरीका बताया गया है. हालांकि, यही कॉन्सेप्ट अन्य सभी संसाधन-टाइप-विशिष्ट सेवाओं पर लागू होते हैं.
बदलाव के अनुरोध
हर संसाधन के हिसाब से बनी सेवा में, 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 या म्यूटेटिंग रिसॉर्स का इस्तेमाल करें.
Mutate responses
जवाब में क्या दिखाया जाएगा, यह इस बात पर निर्भर करता है कि बदलाव के अनुरोध के 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 का इस्तेमाल करके, स्ट्रीम की शिकायत करने के बारे में ज़्यादा जानें.