किसी संसाधन की खास सेवा का इस्तेमाल करना, Google Ads API में एक ही तरह के संसाधन की इकाइयों को बनाने, अपडेट करने या हटाने का सबसे आसान तरीका है.
म्यूटेट एंडपॉइंट
बदले जा सकने वाले हर संसाधन के लिए, एक सेवा और ऑपरेशन टाइप होता है. किसी संसाधन की खास सेवा का इस्तेमाल करके उसमें बदलाव करने के लिए, कार्रवाई में इनमें से कोई एक फ़ील्ड भरें और उसे सेवा के म्यूटेट एंडपॉइंट पर भेजें:
- Create (
create): इससे नया संसाधन ऑब्जेक्ट बनाया जा सकता है. - अपडेट (
update): बदले गए फ़ील्ड के बारे में बताने वालेupdate_maskके साथ, बदला गया संसाधन ऑब्जेक्ट. - Remove (
remove): टारगेट किए गए संसाधन कीresource_nameस्ट्रिंग, जिसे हटाना है.
उदाहरण के लिए, नया Campaign बनाने के लिए, यह तरीका अपनाएं:
- अपने चुने गए एट्रिब्यूट की मदद से,
Campaignऑब्जेक्ट बनाएं. - इसे
CampaignOperationकेcreateफ़ील्ड में असाइन करें. MutateCampaignsRequestमें कार्रवाई कोCampaignService.MutateCampaignsपर भेजें.
यही पैटर्न, Google Ads API में संसाधन के हिसाब से उपलब्ध सभी सेवाओं पर लागू होता है:
AdGroup:AdGroupService.MutateAdGroupsकोAdGroupOperationपास करें.CampaignCriterion:CampaignCriterionService.MutateCampaignCriteriaकोCampaignCriterionOperationपास करें.
यहां दिए गए REST JSON पेलोड से, CampaignService.MutateCampaigns को किए गए अनुरोध के बारे में पता चलता है:
{
"customerId": "CUSTOMER_ID",
"operations": [
{
"create": {
"name": "Interplanetary Cruise #1",
"advertisingChannelType": "SEARCH",
"status": "PAUSED",
"manualCpc": {},
"campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/BUDGET_ID",
"containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
}
}
],
"partialFailure": false,
"validateOnly": false
}
एक से ज़्यादा कार्रवाइयां और सीमाएं
किसी संसाधन के लिए किए जाने वाले ज़्यादातर बदलाव के अनुरोध, दोहराए गए operations फ़ील्ड को स्वीकार करते हैं. इसलिए, एक अनुरोध में उस संसाधन टाइप के लिए कई कार्रवाइयां शामिल हो सकती हैं. हर अनुरोध में ज़्यादा से ज़्यादा 10,000 कार्रवाइयां या AdGroupCriterionService.MutateAdGroupCriteria के लिए 20,000 कार्रवाइयां शामिल हो सकती हैं. CustomerService.MutateCustomer, एक operation फ़ील्ड को स्वीकार करता है. डिफ़ॉल्ट रूप से, अनुरोध में मौजूद सभी कार्रवाइयां एक साथ पूरी होती हैं. हालांकि, अगर सेवा partial_failure के साथ काम करती है और आपने इसे true पर सेट किया है, तो ऐसा नहीं होता.
हालांकि, अलग-अलग रिसॉर्स सेवाओं की दो अहम सीमाएं हैं:
- एक ही तरह का संसाधन: संसाधन सेवा के लिए किया गया अनुरोध, सिर्फ़ उस सेवा से मैनेज किए जाने वाले संसाधनों में बदलाव कर सकता है.
- कोई क्रॉस-रिसॉर्स अस्थायी आईडी नहीं: किसी खास रिसॉर्स के लिए, म्यूटेट कॉल सिर्फ़ एक तरह के रिसॉर्स को स्वीकार करता है. इसलिए, किसी पैरंट रिसॉर्स (जैसे कि
customers/CUSTOMER_ID/campaigns/-1) को अस्थायी नेगेटिव आईडी असाइन नहीं किया जा सकता. साथ ही, एक ही अनुरोध में किसी दूसरे टाइप के चाइल्ड रिसॉर्स (जैसे किAdGroup) से इसका रेफ़रंस नहीं दिया जा सकता. एक ही संसाधन टाइप में, खुद को रेफ़र करने वाले अस्थायी आईडी का इस्तेमाल, हैरारकी वाले ट्री के लिए किया जा सकता है. जैसे,AdGroupCriterionलिस्टिंग ग्रुप औरAssetGroupListingGroupFilterनोड.
अगर आपको एक ही अनुरोध में कई तरह के संसाधनों में बदलाव करना है या अलग-अलग तरह के संसाधनों में अस्थायी संसाधन के नामों का रेफ़रंस देना है, तो इसके बजाय GoogleAdsService.Mutate का इस्तेमाल करें.
वर्शन के हिसाब से अंतर
संसाधनों में बदलाव करते समय, Google Ads API के अलग-अलग वर्शन के बीच के अंतर को ध्यान में रखें:
- लाइफ़साइकल के लक्ष्य से जुड़ी सेवाएं: ग्राहकों को जोड़े रखने के लक्ष्यों को, स्टैंडर्ड तौर पर दोहराए गए
operationsफ़ील्ड का इस्तेमाल करके,GoalService.MutateGoals(retention_goal_settings) औरCampaignGoalConfigService.MutateCampaignGoalConfigs(campaign_retention_settings) के ज़रिए, काम करने वाले सभी वर्शन में बदला जाता है. v25 और इसके बाद के वर्शन में, नए ग्राहक हासिल करने (new_customer_acquisition_goal_settings/campaign_new_customer_acquisition_settings) और लॉयल्टी प्रोग्राम के सदस्यों को जोड़े रखने (loyalty_retention_goal_settings/campaign_loyalty_retention_settings) के लक्ष्यों को भीGoalService.MutateGoalsऔरCampaignGoalConfigService.MutateCampaignGoalConfigsकी मदद से बदला जा सकता है. यहCustomerLifecycleGoalService.ConfigureCustomerLifecycleGoalsऔरCampaignLifecycleGoalService.ConfigureCampaignLifecycleGoalsकी जगह इस्तेमाल होता है. इनका इस्तेमाल, v23 और v24 में नए ग्राहक हासिल करने के लिए किया जाता है. साथ ही, ये एकoperationफ़ील्ड को स्वीकार करते हैं.