অবজেক্ট পরিবর্তন করা

API স্ট্রাকচার গাইডে যেমন আলোচনা করা হয়েছে, Google Ads API-এর প্রতিটি টপ-লেভেল রিসোর্সের সাথে রিসোর্স-টাইপ-নির্দিষ্ট পরিষেবা থাকে যা রিসোর্সের ইনস্ট্যান্স পরিবর্তন করতে সাহায্য করে। এছাড়াও, আপনি GoogleAdsService.Mutate ব্যবহার করে একটি অনুরোধে একাধিক রিসোর্স টাইপ অ্যাটমিক্যালি মিউটেট করতে পারবেন।

এই নির্দেশিকা CampaignService ব্যবহার করে Campaign অবজেক্ট পরিবর্তন করে দেখায়, তবে একই ধারণা অন্যান্য সব রিসোর্স-টাইপ-নির্দিষ্ট পরিষেবার ক্ষেত্রে প্রযোজ্য।

মিউটেট রিকোয়েস্ট

প্রতিটি রিসোর্স-টাইপ-নির্দিষ্ট পরিষেবায় একটি মিউটেট পদ্ধতি থাকে যা মিউটেট অনুরোধ গ্রহণ করে। এই অনুরোধে এগুলি রয়েছে:

  • customer_id (বা REST URL-এ customerId)
  • operations-এর সংগ্রহ
  • ঐচ্ছিক এক্সিকিউশন সেটিংস যেমন partial_failure, validate_only এবং response_content_type (যা নির্ধারণ করে যে মিউটেবল রিসোর্স নাকি মিউটেশনের পরে শুধুমাত্র রিসোর্সের নাম ফেরত দেওয়া হবে)

যেমন, CampaignService-এর MutateCampaigns পদ্ধতি একটি MutateCampaignsRequest গ্রহণ করে যার মধ্যে এগুলি থাকে:

  • customer_id
  • CampaignOperationটি অবজেক্টের (operations) সংগ্রহ
  • ঐচ্ছিক এক্সিকিউশন সেটিংস (partial_failure, validate_only এবং response_content_type পছন্দের উত্তরের ধরন নির্দেশ করে)

অপারেশন

CampaignOperation-এর মতো অপারেশন অবজেক্ট আপনাকে সেই অ্যাকশন নির্দিষ্ট করতে দেয় যা আপনি কোনও একটি রিসোর্সের operation ফিল্ড সেট করে তার উপর পারফর্ম করতে চান। এই ফিল্ডটি হল একটি oneof ফিল্ড যাতে নিম্নলিখিত অ্যাট্রিবিউট আছে:

create
রিসোর্সের নতুন ইনস্ট্যান্স তৈরি করে।
update
update রিসোর্সের অ্যাট্রিবিউটের সাথে ম্যাচ করার জন্য রিসোর্স আপডেট করে। এই ফিল্ড সেট করা হলে, আপনাকে অবশ্যই অপারেশনের update_mask সেট করতে হবে, যা Google Ads API-কে বলে যে আপডেট অপারেশনের সময় কোন অ্যাট্রিবিউটগুলি পরিবর্তন করতে হবে। প্রতিটি ক্লায়েন্ট লাইব্রেরিতে ফিল্ড মাস্ক ইউটিলিটি বা সহায়ক পদ্ধতি থাকে যা আপনার জন্য update_mask তৈরি করে।
remove
রিসোর্সের নাম স্ট্রিং (যেমন, customers/1234567890/campaigns/987654321) দ্বারা নির্দিষ্ট করা রিসোর্স সরিয়ে দেয়।

operation ফিল্ডটি একটি oneof ফিল্ড হওয়ায়, আপনি একাধিক অবজেক্ট পরিবর্তন করার জন্য একটি অপারেশন ব্যবহার করতে পারবেন না। যেমন, আপনি যদি একটি ক্যাম্পেন তৈরি করতে এবং অন্য একটি ক্যাম্পেন সরাতে চান, তাহলে আপনার অনুরোধে CampaignOperation-এর দুটি ইনস্ট্যান্স যোগ করুন: একটি create সেট সহ এবং অন্যটি remove সেট সহ।

ব্যাচ অপারেশন

যদিও একটি অপারেশন শুধুমাত্র একটি রিসোর্স তৈরি, আপডেট বা সরাতে পারে, একটি মিউটেট রিকোয়েস্টে একাধিক অপারেশন থাকতে পারে। আপনার উচিত একাধিক মিউটেট রিকোয়েস্ট পাঠানোর পরিবর্তে আপনার অপারেশনগুলিকে একটি মিউটেট রিকোয়েস্টে একত্রিত করা, যেখানে প্রতিটি মিউটেট রিকোয়েস্টে একটি করে অপারেশন থাকে।

যেমন, আপনি দশটি ক্যাম্পেন তৈরি করতে চাইলে, আপনাকে একটি MutateCampaignsRequest পাঠাতে হবে যাতে দশটি CampaignOperation অবজেক্ট আছে। বিভিন্ন রিসোর্স টাইপ জুড়ে অপারেশনগুলিকে একটি অনুরোধে গ্রুপ করতে, GoogleAdsService.Mutate বা মিউটেটিং রিসোর্স ব্যবহার করুন।

পরিবর্তন সংক্রান্ত উত্তর

মিউটেট রিকোয়েস্টের response_content_type ফিল্ডে কী পাঠানো হয়েছে তার উপর নির্ভর করে উত্তরে কী ফেরত পাঠানো হবে। যেমন, MUTABLE_RESOURCE উল্লেখ করা থাকলে, উত্তরে রিসোর্সের resource_name এবং campaign-এ ক্যাম্পেনের পরিবর্তনযোগ্য ফিল্ড, দুটিই থাকে। ডিফল্ট (RESOURCE_NAME_ONLY) হিসেবে, প্রতিটি MutateCampaignResult-এ শুধুমাত্র resource_name পপুলেট করা হয়।

মিউটেট সংক্রান্ত সমস্যা

ডিফল্ট (partial_failure = false) হিসেবে, মিউটেট রিকোয়েস্টে থাকা অপারেশনগুলি আপনার Google Ads অ্যাকাউন্টে তখনই প্রয়োগ করা হয় যখন রিকোয়েস্টে থাকা প্রতিটি অপারেশন সফল হয়; কোনও অপারেশন ব্যর্থ হলে, সম্পূর্ণ রিকোয়েস্ট রোল ব্যাক করা হয়। মিউটেট অনুরোধের ক্ষেত্রে আংশিক ব্যর্থতা (অনুরোধ মেসেজে partial_failure ফিল্ড সহ) সমর্থন করে, partial_failure = true সেট করলে বৈধ অপারেশনগুলি কার্যকর হয় এবং ব্যর্থ অপারেশনগুলি উত্তরের partial_failure_error ফিল্ডে অপারেশন-নির্দিষ্ট ত্রুটি ফেরত দেয়। সমস্যা ম্যানেজ করার ব্যাপারে বিস্তারিত জানতে আংশিক ব্যর্থতা গাইড এবং সাধারণ সমস্যা গাইড দেখুন।

পরিবর্তন ট্র্যাক করুন

আপনার Google Ads অ্যাকাউন্টে অবজেক্টে করা পরিবর্তন ট্র্যাক করতে বা অবজেক্টের বর্তমান অবস্থা পুনরুদ্ধার করতে, আপনি change_status এবং change_event রিসোর্স ব্যবহার করতে পারেন।

  • change_status নির্দিষ্ট সময়সীমার মধ্যে কোন কোন রিসোর্স পরিবর্তিত হয়েছে তার সারসংক্ষেপ প্রদান করে।
  • change_event-এ পরিবর্তনের বিস্তারিত ইতিহাস দেওয়া থাকে, যার মধ্যে পরিবর্তিত ফিল্ডের পুরনো ও নতুন ভ্যালুও অন্তর্ভুক্ত।

এইসব রিসোর্স কোয়েরি করতে, GoogleAdsService.SearchStream অথবা GoogleAdsService.Search পদ্ধতি ব্যবহার করুন। GoogleAdsService ব্যবহার করে স্ট্রিমিং রিপোর্ট করা সম্পর্কে আরও জানুন।