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