سرویس منابع تغییر می‌کند

استفاده از سرویس اختصاصی یک منبع، مستقیم‌ترین راه برای ایجاد، به‌روزرسانی یا حذف موجودیت‌های یک نوع منبع واحد در API گوگل ادز است.

نقاط پایانی را تغییر دهید

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

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

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

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

همین الگو در مورد تمام سرویس‌های مختص منابع در 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 تکراری را می‌پذیرند، بنابراین یک درخواست واحد می‌تواند شامل چندین عملیات برای آن نوع منبع باشد (تا 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 مفرد را می‌پذیرند.