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