استفاده از سرویس اختصاصی منبع مستقیمترین راه برای ایجاد، بهروزرسانی، یا برداشتن نهادهای یک نوع منبع در Google Ads API است.
نقطههای پایانی Mutate
هر منبع تغییرپذیر دارای نوع سرویس و عملیات مربوطه است. برای تغییر دادن یک منبع بااستفاده از سرویس اختصاصی آن، یکی از فیلدهای زیر را در عملیات پر کنید و آن را به نقطه پایانی تغییر سرویس ارسال کنید:
- ایجاد (
create): شیء منبع جدیدی برای ایجاد. - بهروزرسانی (
update): شیء منبع اصلاحشده، همراه باupdate_maskکه فیلدهای تغییریافته را مشخص میکند. - برداشتن (
remove): رشتهresource_nameمنبع هدف برای برداشتن.
برای مثال، برای ایجاد Campaign جدید، مراحل زیر را تکمیل کنید:
- یک شیء
Campaignبا مشخصههای انتخابیتان بسازید. - آن را به فیلد
createازCampaignOperationاختصاص دهید. - عملیات را در
MutateCampaignsRequestبهCampaignService.MutateCampaignsارسال کنید.
این الگو در همه سرویسهای مختص منابع در Google Ads API اعمال میشود:
AdGroup:AdGroupOperationرا بهAdGroupService.MutateAdGroupsارسال کنید.CampaignCriterion: Pass aCampaignCriterionOperationtoCampaignCriterionService.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 را میپذیرند، بنابراین
یک درخواست میتواند شامل چندین عملیات برای آن نوع منبع باشد (حداکثر
۱۰٬۰۰۰ عملیات در هر درخواست، یا ۲۰٬۰۰۰ عملیات برای
AdGroupCriterionService.MutateAdGroupCriteria؛
CustomerService.MutateCustomer فیلد مفرد operation را میپذیرد). بهطور پیشفرض، همه عملیات در درخواست بهصورت اتمی اجرا میشود مگراینکه سرویس از partial_failure پشتیبانی کند و شما آن را روی true تنظیم کنید.
بااینحال، سرویسهای منبع شخصی دو محدودیت مهم دارند:
- نوع منبع تکی: درخواست به سرویس منبع فقط میتواند منابعی را که توسط آن سرویس خاص مدیریت میشود تغییر دهد.
- بدون شناسه موقت بین منابع: چون فراخوانی تغییر مختص منبع فقط یک نوع منبع را میپذیرد، نمیتوانید شناسه منفی موقت را به منبع اصلی (مانند
customers/CUSTOMER_ID/campaigns/-1) اختصاص دهید و در همان درخواست از منبع فرعی نوع دیگری (مانندAdGroup) به آن ارجاع دهید. (شناسههای موقت خودارجاعی در همان نوع منبع برای درختهای سلسلهمراتبی مانند گروههای فهرستگانAdGroupCriterionو گرههایAssetGroupListingGroupFilterپشتیبانی میشوند.)
اگر لازم است چند نوع منبع را در یک درخواست تغییر دهید یا به نامهای منبع موقت در انواع مختلف منبع ارجاع دهید، بهجای آن از GoogleAdsService.Mutate استفاده کنید.
تفاوتهای مختص نسخه
هنگام تغییر منابع، تفاوت زیر را در نسخههای پشتیبانیشده Google Ads API بهخاطر داشته باشید:
- سرویسهای هدف چرخه حیات: اهداف «حفظ مشتری» در همه نسخههای پشتیبانیشده ازطریق
GoalService.MutateGoals(retention_goal_settings) وCampaignGoalConfigService.MutateCampaignGoalConfigs(campaign_retention_settings) بااستفاده از فیلد تکراری استانداردoperationsتغییر میکنند. در نسخه ۲۵ و جدیدتر، «جذب مشتری جدید» (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میشود که برای «جذب مشتری جدید» در نسخه ۲۳ و ۲۴ استفاده میشوند و یک فیلدoperationرا میپذیرند.