منابع را ایجاد، به روز رسانی یا حذف می کند. این روش از تراکنش های اتمی با چندین نوع منبع پشتیبانی می کند. به عنوان مثال، می توانید به صورت اتمی یک کمپین و بودجه کمپین ایجاد کنید یا تا هزاران جهش اتمی انجام دهید.
این روش در اصل یک بسته بندی در اطراف یک سری روش های جهش یافته است. تنها ویژگی هایی که برای فراخوانی مستقیم آن روش ها ارائه می دهد عبارتند از:
- معاملات اتمی
- نام منابع موقت (در زیر توضیح داده شده است)
- تا حدودی تاخیر در ایجاد یک سری تماس های جهش یافته کاهش یافته است
توجه: فقط منابعی که از تراکنشهای اتمی پشتیبانی میکنند گنجانده شدهاند، بنابراین این روش نمیتواند جایگزین همه تماسهای سرویسهای فردی شود.
مزایای تراکنش اتمی
اتمی بودن، رسیدگی به خطا را بسیار آسان تر می کند. اگر یک سری تغییرات ایجاد می کنید و یکی با شکست مواجه می شود، می تواند حساب شما را در وضعیت ناسازگاری قرار دهد. با اتمیسیته، یا مستقیماً به حالت انتخابی میرسید، یا درخواست با شکست مواجه میشود و میتوانید دوباره امتحان کنید.
نام منابع Temp
نام منابع Temp نوع خاصی از نام منبع است که برای ایجاد یک منبع و ارجاع به آن منبع در همان درخواست استفاده می شود. به عنوان مثال، اگر یک بودجه کمپین با resourceName
برابر با customers/123/campaignBudgets/-1
ایجاد شود، نام منبع را می توان در قسمت Campaign.budget
در همان درخواست دوباره استفاده کرد. به این ترتیب، این دو منبع ایجاد و به صورت اتمی به هم مرتبط می شوند.
برای ایجاد یک نام منبع موقت، یک عدد منفی در قسمتی از نام که سرور به طور معمول اختصاص می دهد قرار دهید.
توجه:
- قبل از استفاده مجدد از نام، منابع باید با نام موقت ایجاد شوند. به عنوان مثال، مثال قبلی CampaignBudget+Campaign اگر ترتیب جهش معکوس شود، با شکست مواجه می شود.
- نام های Temp در تمام درخواست ها به خاطر نمی آیند.
- هیچ محدودیتی برای تعداد نام های موقت در یک درخواست وجود ندارد.
- هر نام موقت باید از یک عدد منفی منحصر به فرد استفاده کند، حتی اگر نوع منابع متفاوت باشد.
تأخیر
مهم است که جهش ها را بر اساس نوع منبع گروه بندی کنید، در غیر این صورت درخواست ممکن است به پایان برسد و شکست بخورد. تأخیر تقریباً برابر با یک سری فراخوانی به روش های جهش فردی است که در آن هر تغییر در نوع منبع یک فراخوانی جدید است. به عنوان مثال، تغییر دادن 10 کمپین و سپس 10 گروه تبلیغاتی مانند 2 تماس است، در حالی که تغییر دادن 1 کمپین، 1 گروه تبلیغات، 1 کمپین، 1 گروه تبلیغات مانند 4 تماس است.
فهرست خطاهای پرتاب شده : AdCustomizerError AdError AdGroupAdError AdGroupCriterionError AdGroupError AssetError AuthenticationError AuthorizationError BiddingError CampaignBudgetError CampaignCriterionError CampaignError CampaignExperimentErrorError CampaignExperimentErrorErrorCampaignExperimentErrorSerrorError ConversionActionError CriterionError CustomerFeedError DatabaseError DateError DateRangeError DistinctError ExtensionFeedItemError ExtensionSettingError FeedAttributeReferenceError FeedError FeedItemError FeedItemSetError FieldError FieldMaskarsError KeywordPlanAdGroupKeywordError KeywordPlanCampaignError KeywordPlanError LabelError ListOperationError MediaUploadError MutateError NewResourceCreationError NullError OperationAccessDeniedError PolicyFindingError PolicyViolationError QuotaErrorError RangeErrorErrorErrorErroreimitedError SharedSetError SizeLimitError StringFormatError StringLengthError UrlFieldError UserListError YoutubeVideoRegistrationError
درخواست HTTP
POST https://googleads.googleapis.com/v19/customers/{customerId}/googleAds:mutate
URL از دستور GRPC Transcoding استفاده می کند.
پارامترهای مسیر
پارامترها | |
---|---|
customerId | مورد نیاز. شناسه مشتری که منابعش در حال تغییر است. |
درخواست بدن
بدنه درخواست حاوی داده هایی با ساختار زیر است:
نمایندگی JSON |
---|
{ "mutateOperations": [ { object ( |
فیلدها | |
---|---|
mutateOperations[] | مورد نیاز. فهرست عملیاتی که باید روی منابع فردی انجام شود. |
partialFailure | اگر درست باشد، عملیات موفقیت آمیز انجام می شود و عملیات نامعتبر خطاها را برمی گرداند. اگر نادرست باشد، تمام عملیات در یک تراکنش انجام میشود، اگر و تنها در صورتی که همه آنها معتبر باشند. پیش فرض نادرست است. |
validateOnly | اگر درست باشد، درخواست تایید می شود اما اجرا نمی شود. فقط خطاها برگردانده می شوند، نه نتایج. |
responseContentType | تنظیم نوع محتوای پاسخ. تعیین می کند که آیا منبع قابل تغییر یا فقط نام منبع باید به پست جهش برگردانده شود. منبع قابل تغییر تنها در صورتی برگردانده می شود که منبع دارای فیلد پاسخ مناسب باشد. به عنوان مثال، MutateCampaignResult.campaign. |
بدن پاسخگو
پیام پاسخ برای GoogleAdsService.Mutate
.
در صورت موفقیت آمیز بودن، بدنه پاسخ حاوی داده هایی با ساختار زیر است:
نمایندگی JSON |
---|
{ "partialFailureError": { object ( |
فیلدها | |
---|---|
partialFailureError | خطاهایی که مربوط به خرابی عملیات در حالت شکست جزئی است. فقط زمانی که partialFailure = true باشد و تمام خطاها در داخل عملیات رخ دهد، برگردانده می شود. اگر هر گونه خطایی خارج از عملیات رخ دهد (مثلاً خطاهای تأیید اعتبار)، یک خطای سطح RPC را برمی گردانیم. |
mutateOperationResponses[] | همه پاسخ ها برای جهش یافته |
محدوده مجوز
به محدوده OAuth زیر نیاز دارد:
-
https://www.googleapis.com/auth/adwords
برای اطلاعات بیشتر، بهOAuth 2.0 Overview .