গুগল অ্যাডস এপিআই-তে কোনো একটি নির্দিষ্ট রিসোর্স টাইপের এনটিটি তৈরি, আপডেট বা অপসারণ করার সবচেয়ে সরাসরি উপায় হলো সেই রিসোর্সের ডেডিকেটেড সার্ভিস ব্যবহার করা।
এন্ডপয়েন্টগুলি পরিবর্তন করুন
প্রতিটি পরিবর্তনযোগ্য রিসোর্সের একটি সংশ্লিষ্ট সার্ভিস এবং অপারেশন টাইপ থাকে। কোনো রিসোর্সকে তার নির্দিষ্ট সার্ভিস ব্যবহার করে পরিবর্তন করতে, অপারেশনের নিম্নলিখিত ফিল্ডগুলির মধ্যে একটি পূরণ করুন এবং সার্ভিসটির মিউটেট এন্ডপয়েন্টে পাঠান:
- তৈরি করুন (
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 ' ফিল্ডটি পুনরাবৃত্ত হয়, তাই একটি একক রিকোয়েস্টে সেই রিসোর্স টাইপের জন্য একাধিক অপারেশন থাকতে পারে (প্রতি রিকোয়েস্টে ১০,০০০টি পর্যন্ত অপারেশন)। ডিফল্টরূপে, রিকোয়েস্টের সমস্ত অপারেশন অ্যাটমিকভাবে সম্পাদিত হয়, যদি না আপনি partial_failure ' true সেট করেন।
তবে, ব্যক্তিগত সম্পদ পরিষেবাগুলির দুটি গুরুত্বপূর্ণ সীমাবদ্ধতা রয়েছে:
- একক রিসোর্স প্রকার: কোনো রিসোর্স সার্ভিসে করা অনুরোধ শুধুমাত্র সেই নির্দিষ্ট সার্ভিস দ্বারা পরিচালিত রিসোর্সগুলোকেই পরিবর্তন করতে পারে।
- কোনো অস্থায়ী রিসোর্স আইডি বা ক্রস-রেফারেন্সিং করা যাবে না: একটি রিসোর্স-নির্দিষ্ট মিউটেট কলের অপারেশনগুলো স্বাধীনভাবে প্রক্রিয়াজাত করা হয়। আপনি অস্থায়ী নেতিবাচক আইডি (যেমন
customers/CUSTOMER_ID/campaigns/-1) বরাদ্দ করতে পারবেন না অথবা একই অনুরোধে অন্যান্য অপারেশন থেকে নতুন তৈরি করা এনটিটিগুলোকে রেফারেন্স করতে পারবেন না।
যদি আপনাকে একটিমাত্র অনুরোধে একাধিক রিসোর্স টাইপ পরিবর্তন করতে হয় অথবা নির্ভরশীল অপারেশনগুলোতে অস্থায়ী রিসোর্সের নাম উল্লেখ করতে হয়, তাহলে এর পরিবর্তে GoogleAdsService.Mutate ব্যবহার করুন।
সংস্করণ-নির্দিষ্ট পার্থক্য
রিসোর্স পরিবর্তন করার সময় সমর্থিত গুগল অ্যাডস এপিআই সংস্করণগুলোর মধ্যে নিম্নলিখিত পার্থক্যগুলো মনে রাখবেন:
- লাইফসাইকেল গোল সার্ভিস: v25 এবং তার পরবর্তী সংস্করণগুলিতে, সমস্ত লাইফসাইকেল গোল—যার মধ্যে রয়েছে নতুন গ্রাহক অধিগ্রহণ (
new_customer_acquisition_goal_settings), গ্রাহক ধরে রাখা (retention_goal_settings), এবং আনুগত্য ধরে রাখা (loyalty_retention_goal_settings)—একটি স্ট্যান্ডার্ড রিপিটেডoperationsফিল্ড ব্যবহার করেGoalService.MutateGoalsএবংCampaignGoalConfigService.MutateCampaignGoalConfigsএর মাধ্যমে মিউটেট করা হয়। এটিCustomerLifecycleGoalService.ConfigureCustomerLifecycleGoalsএবংCampaignLifecycleGoalService.ConfigureCampaignLifecycleGoalsকে প্রতিস্থাপন করে (যা v24 এবং তার পূর্ববর্তী সংস্করণগুলিতে নতুন গ্রাহক অধিগ্রহণের জন্য ব্যবহৃত হত এবং একটি সিঙ্গুলারoperationফিল্ড গ্রহণ করত)। - ক্যাম্পেইনের তারিখ এবং সময় ফিল্ড: একটি
Campaignতৈরি বা আপডেট করার সময়, v23 এবং তার পরবর্তী সংস্করণগুলো v22-এ ব্যবহৃত শুধুমাত্র তারিখ-ভিত্তিকstart_dateএবংend_dateফিল্ডের পরিবর্তেstart_date_timeএবংend_date_time(yyyy-MM-dd HH:mm:ss) ব্যবহার করে। - সিন্থেটিক কন্টেন্ট অ্যাটেস্টেশনের পরিবর্তনযোগ্যতা: যদিও v22 এবং তার পরবর্তী সংস্করণগুলোর স্কিমাতে
Asset.synthetic_content_infoএবংAd.synthetic_content_infoঅন্তর্ভুক্ত থাকে,synthetic_content_info.advertiser_attestation.statusএবংsynthetic_content_info.advertiser_attestation.sourceফিল্ডগুলো শুধুমাত্র v23 এবং তার পরবর্তী সংস্করণগুলোতে পরিবর্তনযোগ্য (system_attestationসর্বদাOUTPUT_ONLYথাকে)। v22-এadvertiser_attestationসাবফিল্ডগুলো পরিবর্তন করার চেষ্টা করলে একটি অপরিবর্তনযোগ্য-ফিল্ড ত্রুটি ("The field attempted to be mutated is immutable"অথবা"Field cannot be set") দেখা দেয়।