تغییر دادن هدف‌ها

همان‌طور که در راهنمای ساختار API بحث شد، هر منبع سطح بالا در Google Ads API دارای یک سرویس مختص نوع منبع متناظر است که از اصلاح نمونه‌های منبع پشتیبانی می‌کند. همچنین می‌توانید از GoogleAdsService.Mutate برای تغییر دادن چند نوع منبع به‌صورت اتمی در یک درخواست استفاده کنید.

این راهنما از CampaignService برای نمایش اصلاح اشیاء Campaign استفاده می‌کند، اما همین مفاهیم برای همه سرویس‌های خاص نوع منبع دیگر نیز اعمال می‌شود.

درخواست‌های تغییر

هر سرویس مختص نوع منبع دارای یک روش تغییر است که درخواست تغییر را می‌پذیرد. این درخواست شامل موارد زیر است:

  • customer_id (یا customerId در نشانی‌های وب REST)
  • مجموعه‌ای از operations
  • تنظیمات اجرای اختیاری مانند partial_failure، validate_only، و response_content_type (که تعیین می‌کند آیا منبع قابل‌تغییر یا فقط نام منبع پس‌از تغییر برگردانده شود)

برای مثال، روش MutateCampaigns از CampaignService یک MutateCampaignsRequest را می‌پذیرد که شامل موارد زیر است:

  • یک customer_id
  • مجموعه‌ای از CampaignOperation شیء (operations)
  • تنظیمات اجرای اختیاری (partial_failure، validate_only، و response_content_type نشان‌دهنده نوع پاسخ ترجیحی)

عملیات

یک شیء عملیات مانند CampaignOperation به شما امکان می‌دهد با تنظیم فیلد operation، کنشی را که می‌خواهید روی یک منبع انجام دهید مشخص کنید. این فیلد یک فیلد oneof است که شامل مشخصه‌های زیر است:

create
نمونه جدیدی از منبع ایجاد می‌کند.
update
منبع را به‌روز می‌کند تا با مشخصه‌های منبع update مطابقت داشته باشد. وقتی این فیلد تنظیم می‌شود، باید update_mask عملیات را نیز تنظیم کنید که به Google Ads API می‌گوید کدام مشخصه‌ها را درطول عملیات به‌روزرسانی تغییر دهد. هر کتابخانه کارخواه شامل یک ابزار کمکی ماسک فیلد یا روش کمکی است که update_mask را برای شما تولید می‌کند.
remove
منبع مشخص‌شده با رشته نام منبع را برمی‌دارد (برای مثال، customers/1234567890/campaigns/987654321).

چون فیلد operation فیلد oneof است، نمی‌توانید از یک عملیات برای اصلاح چند شیء استفاده کنید. برای مثال، اگر می‌خواهید یک پویش ایجاد کنید و پویش دیگری را بردارید، دو نمونه از CampaignOperation را به درخواستتان اضافه کنید: یکی با تنظیم create و دیگری با تنظیم remove.

عملیات گروهی

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

برای مثال، اگر می‌خواهید ده پویش ایجاد کنید، باید یک MutateCampaignsRequest تکی ارسال کنید که ده شیء CampaignOperation داشته باشد. برای گروه‌بندی کردن عملیات در انواع مختلف منابع در یک درخواست، از GoogleAdsService.Mutate یا منابع جهش‌یافته استفاده کنید.

پاسخ‌های جهش‌یافته

آنچه در پاسخ برگردانده می‌شود به آنچه در فیلد response_content_type درخواست تغییر ارسال شده است بستگی دارد. برای مثال، اگر MUTABLE_RESOURCE مشخص شده باشد، پاسخ حاوی هم resource_name منبع و هم فیلدهای تغییرپذیر پویش در campaign است. به‌طور پیش‌فرض (RESOURCE_NAME_ONLY)، فقط resource_name در هر MutateCampaignResult پر می‌شود.

خطاهای جهش

به‌طور پیش‌فرض (partial_failure = false)، عملیات در درخواست تغییر فقط درصورتی در حساب Google Ads شما اعمال می‌شود که همه عملیات در درخواست موفقیت‌آمیز باشد؛ اگر هر عملیاتی ناموفق باشد، کل درخواست برگردانده می‌شود. برای درخواست‌های تغییر که از شکست جزئی پشتیبانی می‌کنند (درخواست‌هایی که فیلد partial_failure در پیام درخواست دارند)، تنظیم partial_failure = true عملیات معتبر را ثبت می‌کند، درحالی‌که عملیات ناموفق خطاهای خاص عملیات را در فیلد partial_failure_error پاسخ برمی‌گرداند. برای جزئیات مربوط به رسیدگی به خطاها، راهنمای شکست جزئی و راهنمای خطاهای رایج را ببینید.

ردگیری تغییرات

برای ردیابی تغییرات ایجادشده در اشیاء در حساب Google Ads خود، یا برای بازیابی وضعیت فعلی اشیاء، می‌توانید از منابع change_status و change_event استفاده کنید.

  • change_status خلاصه‌ای از منابعی را که در یک دوره زمانی مشخص تغییر کرده‌اند ارائه می‌دهد.
  • change_event سابقه دقیقی از تغییرات، ازجمله مقادیر قدیمی و جدید فیلدهای تغییریافته، ارائه می‌دهد.

برای پرسمان این منابع، از روش GoogleAdsService.SearchStream یا GoogleAdsService.Search استفاده کنید. درباره جاری‌سازی گزارش بااستفاده از GoogleAdsService بیشتر بخوانید.