রিসোর্স পরিষেবা মিউটেট করে

Google Ads API-তে কোনও রিসোর্স টাইপের এন্টিটি তৈরি, আপডেট বা সরানোর সবচেয়ে সহজ উপায় হল রিসোর্সের জন্য নির্দিষ্ট পরিষেবা ব্যবহার করা।

এন্ডপয়েন্ট পরিবর্তন করুন

প্রতিটি পরিবর্তনযোগ্য রিসোর্সের সাথে সংশ্লিষ্ট পরিষেবা এবং অপারেশনের ধরন থাকে। কোনও রিসোর্সকে তার ডেডিকেটেড পরিষেবা ব্যবহার করে মিউটেট করতে, অপারেশনে নিম্নলিখিত ফিল্ডগুলির মধ্যে একটি পূরণ করুন এবং এটি পরিষেবার মিউটেট এন্ডপয়েন্টে পাঠান:

  • তৈরি করুন (create): তৈরি করার জন্য একটি নতুন রিসোর্স অবজেক্ট।
  • আপডেট (update): পরিবর্তিত রিসোর্স অবজেক্ট, যার সাথে একটি update_mask থাকে যা পরিবর্তিত ফিল্ডগুলি নির্দিষ্ট করে।
  • সরিয়ে দিন (remove): টার্গেট রিসোর্সের resource_name স্ট্রিং সরিয়ে দিন।

যেমন, নতুন Campaign তৈরি করতে, নিম্নলিখিত ধাপগুলি সম্পূর্ণ করুন:

  1. আপনার বেছে নেওয়া অ্যাট্রিবিউট দিয়ে একটি Campaign অবজেক্ট তৈরি করুন।
  2. এটি CampaignOperation-এর create ফিল্ডে অ্যাসাইন করুন।
  3. CampaignService.MutateCampaigns-এ MutateCampaignsRequest-এ অপারেশন পাঠান।

Google Ads API-তে সমস্ত রিসোর্স-নির্দিষ্ট পরিষেবা জুড়ে এই একই প্যাটার্ন প্রযোজ্য:

নিম্নলিখিত REST JSON পেলোড CampaignService.MutateCampaigns-এ অনুরোধের উদাহরণ দেয়:

{
  "customerId": "CUSTOMER_ID",
  "operations": [
    {
      "create": {
        "name": "Interplanetary Cruise #1",
        "advertisingChannelType": "SEARCH",
        "status": "PAUSED",
        "manualCpc": {},
        "campaignBudget": "customers/CUSTOMER_ID/campaignBudgets/BUDGET_ID",
        "containsEuPoliticalAdvertising": "DOES_NOT_CONTAIN_EU_POLITICAL_ADVERTISING"
      }
    }
  ],
  "partialFailure": false,
  "validateOnly": false
}

একাধিক অপারেশন ও সীমাবদ্ধতা

বেশিরভাগ রিসোর্স-নির্দিষ্ট মিউটেট রিকোয়েস্ট একটি পুনরাবৃত্ত operations ফিল্ড গ্রহণ করে, তাই একটি একক অনুরোধে সেই রিসোর্স টাইপের জন্য একাধিক অপারেশন থাকতে পারে (প্রতি অনুরোধে সর্বাধিক ১০,০০০ অপারেশন, বা AdGroupCriterionService.MutateAdGroupCriteria-এর জন্য ২০,০০০; CustomerService.MutateCustomer একটি একক operation ফিল্ড গ্রহণ করে)। ডিফল্ট হিসেবে, অনুরোধের সব অপারেশন অ্যাটমিক্যালি এক্সিকিউট হয়, যদি না পরিষেবাটি partial_failure সাপোর্ট করে এবং আপনি এটি true-এ সেট করেন।

তবে, স্বতন্ত্র রিসোর্স পরিষেবার দুটি গুরুত্বপূর্ণ সীমাবদ্ধতা রয়েছে:

  • একক রিসোর্স টাইপ: রিসোর্স পরিষেবার জন্য করা অনুরোধ শুধুমাত্র সেই নির্দিষ্ট পরিষেবা দ্বারা ম্যানেজ করা রিসোর্স মিউটেট করতে পারে।
  • ক্রস-রিসোর্স টেম্পোরারি আইডি নেই: কারণ রিসোর্স-নির্দিষ্ট মিউটেট কল শুধুমাত্র একটি রিসোর্স টাইপ গ্রহণ করে, আপনি পেরেন্ট রিসোর্সে (যেমন customers/CUSTOMER_ID/campaigns/-1) টেম্পোরারি নেগেটিভ আইডি অ্যাসাইন করতে পারবেন না এবং একই অনুরোধে অন্য ধরনের চাইল্ড রিসোর্স (যেমন AdGroup) থেকে এটি রেফারেন্স করতে পারবেন না। (একই রিসোর্স টাইপের মধ্যে সেল্ফ-রেফারেন্সিং টেম্পোরারি আইডি হায়ারার্কিক্যাল ট্রির জন্য কাজ করে, যেমন AdGroupCriterion লিস্টিং গ্রুপ এবং AssetGroupListingGroupFilter নোড।)

আপনাকে যদি একটি অনুরোধে একাধিক রিসোর্সের ধরন পরিবর্তন করতে হয় বা বিভিন্ন রিসোর্সের ধরন জুড়ে সাময়িক রিসোর্সের নাম রেফারেন্স করতে হয়, তাহলে পরিবর্তে GoogleAdsService.Mutate ব্যবহার করুন।

ভার্সন-নির্দিষ্ট পার্থক্য

রিসোর্স মিউটেট করার সময়, কাজ করে এমন Google Ads API ভার্সন জুড়ে নিম্নলিখিত পার্থক্য মনে রাখবেন:

  • লাইফসাইকেল গোল পরিষেবা: গ্রাহক ধরে রাখার লক্ষ্য, স্ট্যান্ডার্ড রিপিটেড operations ফিল্ড ব্যবহার করে GoalService.MutateGoals (retention_goal_settings) এবং CampaignGoalConfigService.MutateCampaignGoalConfigs (campaign_retention_settings)-এর মাধ্যমে সব সমর্থিত ভার্সন জুড়ে মিউটেট করা হয়। v25 এবং তার পরবর্তী ভার্সনে, নতুন গ্রাহক অর্জন (new_customer_acquisition_goal_settings / campaign_new_customer_acquisition_settings) এবং লয়ালটি রিটেনশন (loyalty_retention_goal_settings / campaign_loyalty_retention_settings) GoalService.MutateGoals এবং CampaignGoalConfigService.MutateCampaignGoalConfigs-এর মাধ্যমেও মিউটেট করা হয়। এটি CustomerLifecycleGoalService.ConfigureCustomerLifecycleGoals এবং CampaignLifecycleGoalService.ConfigureCampaignLifecycleGoals-এর পরিবর্তে ব্যবহার করা হয়, যা v23 এবং v24-এ নতুন গ্রাহক অর্জনের জন্য ব্যবহার করা হয় এবং একটি operation ফিল্ড গ্রহণ করে।