গুগল অ্যাডস এপিআই-তে কোনো একটি নির্দিষ্ট রিসোর্স টাইপের এনটিটি তৈরি, আপডেট বা অপসারণ করার সবচেয়ে সরাসরি উপায় হলো সেই রিসোর্সের ডেডিকেটেড সার্ভিস ব্যবহার করা।
এন্ডপয়েন্টগুলি পরিবর্তন করুন
প্রতিটি পরিবর্তনযোগ্য রিসোর্সের একটি সংশ্লিষ্ট সার্ভিস এবং অপারেশন টাইপ থাকে। কোনো রিসোর্সকে তার নির্দিষ্ট সার্ভিস ব্যবহার করে পরিবর্তন করতে, অপারেশনের নিম্নলিখিত ফিল্ডগুলির মধ্যে একটি পূরণ করুন এবং সার্ভিসটির মিউটেট এন্ডপয়েন্টে পাঠান:
- তৈরি করুন (
create): তৈরি করার জন্য একটি নতুন রিসোর্স অবজেক্ট। - আপডেট (
update): পরিবর্তিত রিসোর্স অবজেক্ট, যার সাথে একটিupdate_maskথাকে যা পরিবর্তিত ফিল্ডগুলো নির্দিষ্ট করে। - অপসারণ (
remove): যে রিসোর্সটি অপসারণ করতে হবে, তারresource_nameস্ট্রিং।
উদাহরণস্বরূপ, একটি নতুন Campaign তৈরি করতে, নিম্নলিখিত ধাপগুলো সম্পন্ন করুন:
- আপনার নির্বাচিত অ্যাট্রিবিউটগুলো দিয়ে একটি
Campaignঅবজেক্ট তৈরি করুন। - এটিকে একটি
CampaignOperationএরcreateফিল্ডে নির্ধারণ করুন। -
CampaignService.MutateCampaignsএ একটিMutateCampaignsRequestএর মাধ্যমে অপারেশনটি পাঠান।
গুগল অ্যাডস এপিআই-এর সমস্ত রিসোর্স-নির্দিষ্ট পরিষেবা জুড়ে এই একই প্যাটার্ন প্রযোজ্য:
-
AdGroup:AdGroupService.MutateAdGroupsএ একটিAdGroupOperationপাস করুন। -
CampaignCriterion:CampaignCriterionService.MutateCampaignCriteriaতে একটিCampaignCriterionOperationপ্রেরণ করুন।
নিম্নলিখিত 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 ব্যবহার করুন।
সংস্করণ-নির্দিষ্ট পার্থক্য
রিসোর্স পরিবর্তন করার সময় সমর্থিত গুগল অ্যাডস এপিআই সংস্করণগুলোর মধ্যে নিম্নলিখিত পার্থক্যগুলো মনে রাখবেন:
- লাইফসাইকেল গোল সার্ভিস: কাস্টমার রিটেনশন গোলগুলো একটি স্ট্যান্ডার্ড রিপিটেড
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ফিল্ড গ্রহণ করত।