ज़्यादातर संसाधनों में बदलाव (बनाना, अपडेट करना या हटाना) Mutate
तरीके का इस्तेमाल करके किया जाता है. Mutate तरीके को एचटीटीपी POST के तौर पर, संसाधन के हिसाब से यूआरएल पर कॉल किया जाता है. यह यूआरएल, संसाधन के नाम के पैटर्न से मेल खाता है. इसमें आखिर में संसाधन का आईडी नहीं होता.
बदले जाने वाले संसाधनों के आईडी, JSON अनुरोध के मुख्य हिस्से में भेजे जाते हैं. इसकी मदद से, एक ही एपीआई कॉल भेजा जा सकता है. इसमें अलग-अलग संसाधनों पर कई कार्रवाइयां शामिल होती हैं.
उदाहरण के लिए, किसी कैंपेन के संसाधन का नाम इस फ़ॉर्मैट का इस्तेमाल करता है:
customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID
कैंपेन में बदलाव करने के लिए इस्तेमाल किए गए यूआरएल को पाने के लिए, आखिर में मौजूद संसाधन आईडी को हटाएं और :mutate जोड़ें:
https://googleads.googleapis.com/v22/customers/CUSTOMER_ID/campaigns:mutate
Mutate मैसेज में सबसे ऊपर के लेवल का JSON ऑब्जेक्ट होता है. इसमें operations ऐरे होता है. इस ऐरे में कई operation ऑब्जेक्ट हो सकते हैं. हर कार्रवाई, इनमें से कोई एक हो सकती है: create, update या remove. ये सिर्फ़ म्यूटेट करने के लिए उपलब्ध ऑपरेशन हैं.
POST /v22/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ ... ] }
ज़्यादातर सेवाएं, एक ही एपीआई कॉल में हज़ारों कार्रवाइयों को सपोर्ट करती हैं. सिस्टम की सीमाएं गाइड में, अनुरोध के साइज़ से जुड़ी सीमाओं के बारे में बताया गया है.
एक एपीआई अनुरोध में की जाने वाली कार्रवाइयों को डिफ़ॉल्ट रूप से, कार्रवाइयों के एक सेट के तौर पर लागू किया जाता है. इसका मतलब है कि अगर कोई एक कार्रवाई पूरी नहीं होती है, तो पूरा बैच पूरा नहीं होगा. हालांकि, अगर सभी कार्रवाइयां पूरी हो जाती हैं, तो पूरा बैच पूरा हो जाएगा. कुछ सेवाएं, इस व्यवहार को बदलने के लिए partialFailure एट्रिब्यूट का इस्तेमाल करती हैं. म्यूटेट ऑपरेशन के सिमैंटिक के बारे में ज़्यादा जानकारी के लिए, बदलाव करने वाले संसाधन देखें.
बनाएं
Create ऑपरेशन से नई इकाइयां बनती हैं. इनमें उस संसाधन का पूरा JSON शामिल होना चाहिए जिसे आपको बनाना है.
POST /v22/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ { "create": { "name": "An example campaign", "status": "PAUSED", "campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/CAMPAIGN_BUDGET_ID", "advertisingChannelType": "SEARCH", "networkSettings": { "targetGoogleSearch": true, "targetSearchNetwork": true, "targetContentNetwork": true, "targetPartnerSearchNetwork": false }, "target_spend": {} } } ] }
अपडेट करें
अपडेट करने की कार्रवाइयां, किसी मौजूदा संसाधन में कुछ ही बदलाव करती हैं. आपको सिर्फ़ उन फ़ील्ड के बारे में बताना होगा जिनमें बदलाव करना है.
जिन फ़ील्ड को अपडेट करना है उन्हें तय करने के लिए, updateMask एट्रिब्यूट को फ़ील्ड के नामों की कॉमा लगाकर अलग की गई सूची पर सेट करें. यह खास तौर पर तब काम आता है, जब आपके पास किसी ऑब्जेक्ट का पूरा JSON फ़ॉर्मैट पहले से मौजूद हो. उदाहरण के लिए, पिछले एपीआई कॉल से मिला JSON फ़ॉर्मैट. हालांकि, आपको सिर्फ़ कुछ फ़ील्ड बदलने हों.
JSON ऑब्जेक्ट को छोटा करने के बजाय, updateMask में सिर्फ़ उन फ़ील्ड के नाम शामिल किए जा सकते हैं जिनमें बदलाव करना है. इसके बाद, पूरा JSON ऑब्जेक्ट भेजा जा सकता है.
यहां दिए गए उदाहरण में, resourceName वाले किसी मौजूदा कैंपेन के name और status में बदलाव करने का तरीका बताया गया है.
POST /v22/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ { "updateMask": "name,status", "update": { "resourceName": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID", "name": "My renamed campaign", "status": "PAUSED", } } ] }
हटाएं
हटाने की कार्रवाइयों से कोई ऑब्जेक्ट हमेशा के लिए मिट जाता है. साथ ही, Google Ads में उसका स्टेटस REMOVED पर सेट हो जाता है. सिर्फ़ उस resourceName को हटाना ज़रूरी है जिसे हटाना है.
POST /v22/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1 Host: googleads.googleapis.com Content-Type: application/json Authorization: Bearer ACCESS_TOKEN developer-token: DEVELOPER_TOKEN { "operations": [ { "remove": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID" } ] }