ज़्यादातर संसाधनों में Mutate
तरीके का इस्तेमाल करके बदलाव किए जाते हैं, बनाए जाते हैं, अपडेट किए जाते हैं या हटाए जाते हैं. किसी संसाधन के हिसाब से बने यूआरएल के लिए, Mutate
तरीके को एचटीटीपी POST
के तौर पर शुरू किया गया है. यह यूआरएल, रिसॉर्स के नाम के पैटर्न से मिलता-जुलता है, लेकिन इसके लिए पुराने रिसॉर्स आईडी का इस्तेमाल नहीं किया जाता.
जिन संसाधनों में बदलाव किया जाना है उनके आईडी, JSON के अनुरोध वाले हिस्से में भेजे जाते हैं. इससे एक एपीआई कॉल भेजा जा सकता है, जिसमें अलग-अलग संसाधनों पर कई कार्रवाइयां शामिल होती हैं.
उदाहरण के लिए, कैंपेन के संसाधन का नाम नीचे दिए गए फ़ॉर्मैट का इस्तेमाल करता है:
customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID
कैंपेन में बदलाव करने के लिए इस्तेमाल किया गया यूआरएल पाने के लिए, पीछे लगने वाला संसाधन आईडी छोड़ दें और :mutate
जोड़ें:
https://googleads.googleapis.com/v16/customers/CUSTOMER_ID/campaigns:mutate
Mutate
मैसेज में, operations
कलेक्शन के साथ टॉप लेवल JSON ऑब्जेक्ट होता है, जिसमें कई operation
ऑब्जेक्ट हो सकते हैं. हालांकि, हर ऑपरेशन इनमें से एक हो सकता है: create
, update
या remove
. सिर्फ़ ये ही
संभावित बदलाव हैं.
POST /v16/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
एट्रिब्यूट
का इस्तेमाल किया जाता है. ऑपरेशन सेमैंटिक में बदलाव करने के बारे में ज़्यादा जानकारी के लिए, म्यूट करने के संसाधन देखें.
बनाएं
क्रिएट करने से नई इकाइयां बनती हैं. साथ ही, इसमें उस संसाधन का JSON फ़ॉर्मैट शामिल होना चाहिए जिसे आपको बनाना है.
POST /v16/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 ऑब्जेक्ट में काट-छांट करने के बजाय, updateMask
में बदलाव करने के लिए फ़ील्ड के नामों को लिस्ट किया जा सकता है और पूरा JSON ऑब्जेक्ट भेजा जा सकता है.
नीचे दिए गए उदाहरण में, दिए गए resourceName
वाले मौजूदा कैंपेन के name
और status
को बदला गया है.
POST /v16/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 /v16/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" } ] }