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

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

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

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

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

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

যেমন, MutateCampaigns পদ্ধতি CampaignService একটি 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 ব্যবহার করে স্ট্রিম করার বিষয়ে আরও জানুন।