म्यूट करें

ज़्यादातर संसाधनों में बदलाव (बनाना, अपडेट करना या हटाना) करने के लिए, Mutate तरीके का इस्तेमाल किया जाता है. Mutate तरीके को एचटीटीपी POST के तौर पर, संसाधन के हिसाब से यूआरएल पर लागू किया जाता है. यह यूआरएल, संसाधन के नाम के पैटर्न से मेल खाता है. इसमें संसाधन का आईडी शामिल नहीं होता. इसके बजाय, जिन संसाधनों में बदलाव करना है उनके आईडी, JSON अनुरोध के मुख्य हिस्से में भेजे जाते हैं. इसकी मदद से, एक ही एपीआई कॉल भेजा जा सकता है. इसमें अलग-अलग संसाधनों पर कई कार्रवाइयां शामिल होती हैं.

उदाहरण के लिए, किसी कैंपेन के संसाधन के नाम के लिए इस फ़ॉर्मैट का इस्तेमाल किया जाता है:

customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID

कैंपेन में बदलाव करने के लिए इस्तेमाल किए गए यूआरएल को पाने के लिए, आखिर में मौजूद संसाधन आईडी हटाएं और :mutate जोड़ें:

https://googleads.googleapis.com/v26/customers/CUSTOMER_ID/campaigns:mutate

Mutate मैसेज में, टॉप-लेवल का JSON ऑब्जेक्ट होता है. इसमें operations ऐरे होता है. इस ऐरे में कई operation ऑब्जेक्ट हो सकते हैं. हर कार्रवाई, इनमें से कोई एक हो सकती है: create, update या remove. ये सिर्फ़ म्यूटेट करने के लिए उपलब्ध ऑपरेशन हैं.

POST /v26/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN

{
  "operations": [
    ...
  ]
}

ज़्यादातर सेवाएं, एक ही एपीआई कॉल में हज़ारों कार्रवाइयां करने की सुविधा देती हैं. सिस्टम की सीमाएं गाइड में, अनुरोध के साइज़ की सीमाओं के बारे में बताया गया है.

एक एपीआई अनुरोध में की जाने वाली कार्रवाइयों को डिफ़ॉल्ट रूप से, कार्रवाइयों के एक सेट के तौर पर लागू किया जाता है. इसका मतलब है कि अगर कोई एक कार्रवाई पूरी नहीं होती है, तो पूरा बैच पूरा नहीं होगा. हालांकि, अगर सभी कार्रवाइयां पूरी हो जाती हैं, तो पूरा बैच पूरा हो जाएगा. कुछ सेवाएं, इस व्यवहार को बदलने के लिए partialFailure एट्रिब्यूट का इस्तेमाल करती हैं. म्यूटेट ऑपरेशन के सिमैंटिक के बारे में ज़्यादा जानकारी के लिए, संसाधनों में बदलाव करना देखें.

बनाएं

Create ऑपरेशन से नई इकाइयां बनती हैं. इनमें उस संसाधन का पूरा JSON रिप्रज़ेंटेशन शामिल होना चाहिए जिसे आपको बनाना है.

POST /v26/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_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 /v26/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN

{
  "operations": [
    {
      "updateMask": "name,status",
      "update": {
        "resourceName": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID",
        "name": "My renamed campaign",
        "status": "PAUSED",
      }
    }
  ]
}

हटाएं

हटाने की कार्रवाइयों से, किसी ऑब्जेक्ट को पूरी तरह से मिटा दिया जाता है. साथ ही, उसका Google Ads विज्ञापन का स्टेटस REMOVED पर सेट हो जाता है. सिर्फ़ उस resourceName को हटाना ज़रूरी है.

POST /v26/customers/CUSTOMER_ID/campaigns:mutate HTTP/1.1
Host: googleads.googleapis.com
Content-Type: application/json
Authorization: Bearer ACCESS_TOKEN

{
  "operations": [
    {
      "remove": "customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID"
    }
  ]
}