म्यूट करें

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

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

customers/CUSTOMER_ID/campaigns/CAMPAIGN_ID

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

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

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

POST /v25/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 /v25/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 /v25/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 /v25/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"
    }
  ]
}