- एचटीटीपी अनुरोध
- पाथ पैरामीटर
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- अनुमति पाने के लिंक
- इसे आज़माएं!
संसाधन बनाता है, अपडेट करता है या हटाता है. यह तरीका, कई तरह के संसाधनों के साथ एक साथ कई लेन-देन करने की सुविधा देता है. उदाहरण के लिए, एक साथ कई बदलाव करके कैंपेन और कैंपेन बजट बनाया जा सकता है. इसके अलावा, एक साथ कई बदलाव करके, ज़्यादा से ज़्यादा हज़ार बदलाव किए जा सकते हैं.
यह तरीका, असल में डेटा में बदलाव करने के तरीकों की सीरीज़ के रैपर की तरह है. इन तरीकों को सीधे तौर पर कॉल करने के मुकाबले, यह सिर्फ़ ये सुविधाएं उपलब्ध कराता है:
- ऐटॉमिक लेन-देन
- टेंप्लेट के तौर पर इस्तेमाल किए जाने वाले संसाधनों के नाम (नीचे बताया गया है)
- म्यूटेट कॉल की सीरीज़ बनाने पर, इंतज़ार का समय थोड़ा कम हो गया
ध्यान दें: सिर्फ़ ऐसे संसाधन शामिल किए जाते हैं जो एटॉमिक ट्रांज़ैक्शन के साथ काम करते हैं. इसलिए, इस तरीके से अलग-अलग सेवाओं के सभी कॉल को बदला नहीं जा सकता.
ऐटॉमिक लेन-देन के फ़ायदे
एटॉमिकिटी की मदद से, गड़बड़ी को मैनेज करना काफ़ी आसान हो जाता है. अगर एक साथ कई बदलाव किए जा रहे हैं और कोई एक बदलाव पूरा नहीं हो पाता है, तो आपके खाते की स्थिति अनियमित हो सकती है. एटॉमिकिटी की मदद से, सीधे तौर पर चुनी गई स्थिति पर पहुंचा जा सकता है. इसके अलावा, अनुरोध पूरा न होने पर, उसे फिर से किया जा सकता है.
कुछ समय के लिए इस्तेमाल होने वाले रिसॉर्स के नाम
संसाधन के लिए दिए गए अस्थायी नाम, संसाधन के नाम का एक खास टाइप होता है. इसका इस्तेमाल, संसाधन बनाने और उसी अनुरोध में उस संसाधन का रेफ़रंस देने के लिए किया जाता है. उदाहरण के लिए, अगर किसी कैंपेन का बजट resourceName
के बराबर customers/123/campaignBudgets/-1
के साथ बनाया गया है, तो उस संसाधन के नाम का इस्तेमाल उसी अनुरोध में Campaign.budget
फ़ील्ड में फिर से किया जा सकता है. इस तरह, दोनों संसाधन एक साथ बनाए और लिंक किए जाते हैं.
संसाधन का कोई अस्थायी नाम बनाने के लिए, नाम के उस हिस्से में कोई नेगेटिव नंबर डालें जिसे सर्वर आम तौर पर असाइन करता है.
ध्यान दें:
- नाम का फिर से इस्तेमाल करने से पहले, संसाधनों को किसी अस्थायी नाम से बनाया जाना चाहिए. उदाहरण के लिए, अगर बदलाव करने का क्रम उलटा किया गया, तो CampaignBudget+Campaign का पिछला उदाहरण काम नहीं करेगा.
- सभी अनुरोधों के लिए, अस्थायी नामों को याद नहीं रखा जाता.
- किसी अनुरोध में, अस्थायी नामों की संख्या की कोई सीमा नहीं होती.
- हर टेंप्लेट के नाम में, एक यूनीक नेगेटिव नंबर का इस्तेमाल करना ज़रूरी है. भले ही, संसाधन के टाइप अलग-अलग हों.
इंतज़ार का समय
बदलावों को संसाधन के टाइप के हिसाब से ग्रुप करना ज़रूरी है. ऐसा न करने पर, अनुरोध टाइम आउट हो सकता है और पूरा नहीं हो सकता. इंतज़ार का समय, अलग-अलग म्यूटेट तरीके के कॉल की सीरीज़ के बराबर होता है. इसमें, रिसॉर्स टाइप में होने वाला हर बदलाव एक नया कॉल होता है. उदाहरण के लिए, 10 कैंपेन और फिर 10 विज्ञापन ग्रुप में बदलाव करने पर, दो कॉल की तरह ही माना जाएगा. वहीं, एक कैंपेन, एक विज्ञापन ग्रुप, एक कैंपेन, एक विज्ञापन ग्रुप में बदलाव करने पर, चार कॉल की तरह ही माना जाएगा.
दिखने वाली गड़बड़ियों की सूची: AdCustomizerError AdError AdGroupAdError AdGroupCriterionError AdGroupError AssetError AuthenticationError AuthorizationError BiddingError CampaignBudgetError CampaignCriterionError CampaignError CampaignExperimentError CampaignSharedSetError CollectionSizeError ContextError ConversionActionError CriterionError CustomerFeedError DatabaseError DateError DateRangeError DistinctError ExtensionFeedItemError ExtensionSettingError FeedAttributeReferenceError FeedError FeedItemError FeedItemSetError FieldError FieldMaskError FunctionParsingError HeaderError ImageError InternalError KeywordPlanAdGroupKeywordError KeywordPlanCampaignError KeywordPlanError LabelError ListOperationError MediaUploadError MutateError NewResourceCreationError NullError
एचटीटीपी अनुरोध
POST https://googleads.googleapis.com/v19/customers/{customerId}/googleAds:mutate
यूआरएल में gRPC ट्रांसकोडिंग सिंटैक्स का इस्तेमाल किया गया है.
पाथ पैरामीटर
पैरामीटर | |
---|---|
customerId |
ज़रूरी है. उस ग्राहक का आईडी जिसके संसाधनों में बदलाव किया जा रहा है. |
अनुरोध का मुख्य भाग
अनुरोध के मुख्य भाग में नीचे दिए गए स्ट्रक्चर वाला डेटा होता है:
JSON के काेड में दिखाना |
---|
{ "mutateOperations": [ { object ( |
फ़ील्ड | |
---|---|
mutateOperations[] |
ज़रूरी है. अलग-अलग संसाधनों पर करने के लिए ऑपरेशन की सूची. |
partialFailure |
अगर यह वैल्यू 'सही' है, तो सही कार्रवाइयां पूरी हो जाएंगी और अमान्य कार्रवाइयों से गड़बड़ियां दिखेंगी. अगर यह वैल्यू 'गलत' है, तो सभी ऑपरेशन एक ही लेन-देन में तब ही किए जाएंगे, जब वे सभी मान्य हों. डिफ़ॉल्ट रूप से, यह 'गलत' पर सेट होती है. |
validateOnly |
अगर यह सही है, तो अनुरोध की पुष्टि हो जाती है, लेकिन उसे लागू नहीं किया जाता. सिर्फ़ गड़बड़ियां दिखती हैं, नतीजे नहीं. |
responseContentType |
जवाब के कॉन्टेंट टाइप की सेटिंग. इससे यह तय होता है कि बदलाव करने के बाद, बदले जा सकने वाले संसाधन या सिर्फ़ संसाधन का नाम दिखाया जाए. बदलाव किया जा सकने वाला रिसॉर्स सिर्फ़ तब दिखाया जाएगा, जब रिसॉर्स में सही रिस्पॉन्स फ़ील्ड हो. उदाहरण के लिए, MutateCampaignResult.campaign. |
जवाब का मुख्य भाग
GoogleAdsService.Mutate
के लिए जवाब का मैसेज.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
JSON के काेड में दिखाना |
---|
{ "partialFailureError": { object ( |
फ़ील्ड | |
---|---|
partialFailureError |
कुछ फ़ाइलों का फ़ॉर्मैट नहीं बदला जा सका मोड में, ऑपरेशन के दौरान होने वाली गड़बड़ियां. यह वैल्यू सिर्फ़ तब दिखती है, जब partialFailure = true हो और सभी गड़बड़ियां ऑपरेशन के दौरान होती हैं. अगर ऑपरेशन के बाहर कोई गड़बड़ी होती है, तो हम आरपीसी लेवल की गड़बड़ी दिखाते हैं. उदाहरण के लिए, पुष्टि करने से जुड़ी गड़बड़ियां. |
mutateOperationResponses[] |
बदलाव के लिए सभी जवाब. |
अनुमति के दायरे
नीचे दिए गए OAuth के लिंक की ज़रूरत हाेती है:
https://www.googleapis.com/auth/adwords
ज़्यादा जानकारी के लिए, OAuth 2.0 Overview देखें.