تغییرات سرویس منبع

استفاده از سرویس اختصاصی منبع مستقیم‌ترین راه برای ایجاد، به‌روزرسانی، یا برداشتن نهادهای یک نوع منبع در Google Ads API است.

نقطه‌های پایانی Mutate

هر منبع تغییرپذیر دارای نوع سرویس و عملیات مربوطه است. برای تغییر دادن یک منبع بااستفاده از سرویس اختصاصی آن، یکی از فیلدهای زیر را در عملیات پر کنید و آن را به نقطه پایانی تغییر سرویس ارسال کنید:

  • ایجاد (create): شیء منبع جدیدی برای ایجاد.
  • به‌روزرسانی (update): شیء منبع اصلاح‌شده، همراه با update_mask که فیلدهای تغییریافته را مشخص می‌کند.
  • برداشتن (remove): رشته resource_name منبع هدف برای برداشتن.

برای مثال، برای ایجاد Campaign جدید، مراحل زیر را تکمیل کنید:

  1. یک شیء Campaign با مشخصه‌های انتخابی‌تان بسازید.
  2. آن را به فیلد create از CampaignOperation اختصاص دهید.
  3. عملیات را در MutateCampaignsRequest به CampaignService.MutateCampaigns ارسال کنید.

این الگو در همه سرویس‌های مختص منابع در Google Ads API اعمال می‌شود:

بار داده 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 را می‌پذیرند.