استفاده از سرویس اختصاصی یک منبع، مستقیمترین راه برای ایجاد، بهروزرسانی یا حذف موجودیتهای یک نوع منبع واحد در API گوگل ادز است.
نقاط پایانی را تغییر دهید
هر منبع تغییرپذیر دارای یک سرویس و نوع عملیات مربوطه است. برای تغییر یک منبع با استفاده از سرویس اختصاصی آن، یکی از فیلدهای زیر را در عملیات پر کنید و آن را به نقطه پایانی تغییر سرویس ارسال کنید:
- ایجاد (
create): یک شیء منبع جدید برای ایجاد. - بهروزرسانی (
update): شیء منبع اصلاحشده، همراه با یکupdate_maskکه فیلدهای تغییر یافته را مشخص میکند. - حذف (
remove): رشتهیresource_nameمنبع هدف برای حذف.
به عنوان مثال، برای ایجاد یک Campaign جدید، مراحل زیر را انجام دهید:
- یک شیء
Campaignبا ویژگیهای انتخابی خود بسازید. - آن را به فیلد
createاز تابعCampaignOperationاختصاص دهید. - عملیات را در یک
MutateCampaignsRequestبهCampaignService.MutateCampaignsارسال کنید.
همین الگو در مورد تمام سرویسهای مختص منابع در API گوگل ادز اعمال میشود:
-
AdGroup: یکAdGroupOperationبهAdGroupService.MutateAdGroupsارسال کنید. -
CampaignCriterion: یکCampaignCriterionOperationبهCampaignCriterionService.MutateCampaignCriteriaارسال کنید.
فایل دادهی 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 تکراری را میپذیرند، بنابراین یک درخواست واحد میتواند شامل چندین عملیات برای آن نوع منبع باشد (تا 10،000 عملیات در هر درخواست، یا 20،000 برای AdGroupCriterionService.MutateAdGroupCriteria ؛ CustomerService.MutateCustomer یک فیلد operation واحد را میپذیرد). به طور پیشفرض، تمام عملیات در درخواست به صورت اتمی اجرا میشوند، مگر اینکه سرویس partial_failure پشتیبانی کند و شما آن را روی true تنظیم کنید.
با این حال، خدمات منابع فردی دو محدودیت مهم دارند:
- نوع منبع واحد: یک درخواست به یک سرویس منبع فقط میتواند منابعی را که توسط آن سرویس خاص مدیریت میشوند، تغییر دهد.
- بدون شناسههای موقت بین منابعی: از آنجا که یک فراخوانی mutate مختص به منبع، فقط یک نوع منبع واحد را میپذیرد، نمیتوانید یک شناسه منفی موقت را به یک منبع والد (مانند
customers/CUSTOMER_ID/campaigns/-1) اختصاص دهید و آن را از یک منبع فرزند از نوع متفاوت (مانندAdGroup) در همان درخواست ارجاع دهید. (شناسههای موقت خودارجاعی در همان نوع منبع برای درختهای سلسله مراتبی مانند گروههای فهرستAdGroupCriterionو گرههایAssetGroupListingGroupFilterپشتیبانی میشوند.)
اگر نیاز دارید چندین نوع منبع را در یک درخواست واحد تغییر دهید یا به نامهای موقت منابع در انواع مختلف منبع ارجاع دهید، به جای آن GoogleAdsService.Mutate استفاده کنید.
تفاوتهای خاص نسخه
هنگام تغییر منابع، تفاوتهای زیر را در نسخههای پشتیبانیشدهی API گوگل ادز در نظر داشته باشید:
- سرویسهای هدف چرخه عمر: اهداف حفظ مشتری در تمام نسخههای پشتیبانیشده از طریق
GoalService.MutateGoals(retention_goal_settings) وCampaignGoalConfigService.MutateCampaignGoalConfigs(campaign_retention_settings) با استفاده از یک فیلدoperationsتکراری استاندارد، تغییر میکنند. در نسخه ۲۵ و بعد از آن، New Customer Acquisition (new_customer_acquisition_goal_settings/campaign_new_customer_acquisition_settings) و Loyalty Retention (loyalty_retention_goal_settings/campaign_loyalty_retention_settings) نیز از طریقGoalService.MutateGoalsوCampaignGoalConfigService.MutateCampaignGoalConfigsتغییر میکنند. این جایگزینCustomerLifecycleGoalService.ConfigureCustomerLifecycleGoalsوCampaignLifecycleGoalService.ConfigureCampaignLifecycleGoalsمیشود که برای جذب مشتری جدید در نسخههای ۲۳ و ۲۴ استفاده میشوند و یک فیلدoperationمفرد را میپذیرند.