म्यूट करें

ज़्यादातर संसाधनों में बदलाव करने (बनाने, अपडेट करने या हटाने) के लिए, 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"
    }
  ]
}