میتوانید از Google Ads API برای تنظیم تعدیل قیمت پیشنهادی (که تعدیلکننده قیمت پیشنهادی نیز نامیده میشود) برای آگهیهای هتل استفاده کنید. برای جزئیات درباره نحوه عملکرد تعدیل قیمت پیشنهادی، درباره تعدیل قیمت پیشنهادی برای آگهیهای «هتل» را ببینید.
تعدیل قیمت پیشنهادی در سطح پویش
برای استفاده از Google Ads API جهت تنظیم تعدیل قیمت پیشنهادی در سطح پویش، مدیریت تعدیلکنندههای قیمت پیشنهادی را ببینید.
تعدیل قیمتهای پیشنهادی در سطح گروه آگهی
از نسخه ۲۶، پنج معیار مختص هتل در
AdGroupBidModifier به نامهای مستقل از عمودی (مانند روز شروع هفته و مدت رزرو) تغییر نام دادهاند و جایگزین
معیارهای مختص هتل از نسخههای قبلی شدهاند. این تعدیلهای قیمت پیشنهادی همچنان فقط برای آگهیهای هتل (هم در پویشهای «هتل» و هم در «پویشهای جستجو برای سفر») پشتیبانی میشوند. تعدیلکنندههای قیمت پیشنهادی موجود که در نسخه ۲۵ یا قدیمیتر ایجاد شدهاند،
بهطور خودکار با شناسههای معیار و نامهای منبع یکسان منتقل میشوند. برای خلاصه همه تغییرات ناسازگار نسخه ۲۶، به یادداشتهای انتشار مراجعه کنید.
برای تنظیم تعدیل قیمت پیشنهادی در سطح گروه آگهی، یک شیء معیار برای
بُعدی که میخواهید هدفیابی کنید ایجاد کنید و فیلدهای آن را روی مقادیر مناسب تنظیم کنید. در
نسخه ۲۶ و جدیدتر، از اشیای معیار عمودی-آگنوستیک استفاده کنید:
AdvanceBookingWindowInfo،
UserSetDatesInfo،
StartDayOfWeekInfo،
LengthOfBookingInfo، یا
StartDateRangeInfo. در نسخه ۲۵ و نسخههای قبلی، از
اشیاء معیار مختص هتل استفاده کنید:
HotelAdvanceBookingWindowInfo،
HotelDateSelectionTypeInfo،
HotelCheckInDayInfo،
HotelLengthOfStayInfo، یا
HotelCheckInDateRangeInfo.
جدول زیر فیلدهای معیار AdGroupBidModifier،
انواع پیام، فیلدهای فرعی، و محدودههای معتبر bid_modifier را در نسخههای میانای برنامهسازی کاربردی خلاصه میکند:
| نسخه ۲۵ و قدیمیتر | نسخه ۲۶ و جدیدتر | زیررشتهها و انواع | توضیحات و محدوده معتبر |
|---|---|---|---|
hotel_date_selection_type (HotelDateSelectionTypeInfo) |
user_set_dates (UserSetDatesInfo) |
type: DateSelectionType در نسخه ۲۶ (HotelDateSelectionType در نسخه ۲۵). مقادیر: DEFAULT_SELECTION (شناسه معیار 50)، USER_SELECTED (شناسه معیار 51). IMMUTABLE. |
تاریخهای پیشفرض درمقابل تاریخهای انتخابشده توسط کاربر. محدوده معتبر bid_modifier: 0.5 تا 2.0 (از انصراف 0 پشتیبانی نمیکند). |
hotel_advance_booking_window (HotelAdvanceBookingWindowInfo) |
advance_booking_window (AdvanceBookingWindowInfo) |
min_days، max_days (int64، 0–330). IMMUTABLE، الزامی. |
تعداد روزهای قبلاز تاریخ شروع رزرو. محدوده معتبر bid_modifier: 0.1 تا 10.0، یا 0 برای انصراف. |
hotel_length_of_stay (HotelLengthOfStayInfo) |
length_of_booking (LengthOfBookingInfo) |
min_days، max_days در نسخه ۲۶ (min_nights، max_nights در نسخه ۲۵) (int64، 1–30). IMMUTABLE، الزامی. |
مدت رزرو. محدوده معتبر bid_modifier: 0.1 تا 10.0، یا 0 برای انصراف. |
hotel_check_in_day (HotelCheckInDayInfo) |
start_day_of_week (StartDayOfWeekInfo) |
day_of_week (DayOfWeek، شناسههای معیار 60–66 برای MONDAY–SUNDAY). IMMUTABLE. |
روز هفته تاریخ شروع رزرو. محدوده معتبر bid_modifier: 0.1 تا 10.0، یا 0 برای انصراف. |
hotel_check_in_date_range (HotelCheckInDateRangeInfo) |
start_date_range (StartDateRangeInfo) |
start_date، end_date (string، YYYY-MM-DD). IMMUTABLE، الزامی. |
محدوده تاریخ برای تاریخ شروع رزرو. محدوده معتبر bid_modifier: 0.1 تا 10.0، یا 0 برای انصراف. |
برای مثال، برای ایجاد تعدیلکننده قیمت پیشنهادی گروه آگهی بااستفاده از پنجره رزرو ازپیش
بین ۳۰ تا ۶۰ روز در نسخه ۲۶ و جدیدتر، شیء
AdvanceBookingWindowInfo (یا
HotelAdvanceBookingWindowInfo در نسخه ۲۵ و
قدیمیتر) ایجاد کنید و min_days را روی 30 و max_days را روی 60 تنظیم کنید.
شیء معیار را بااستفاده از فیلد معیار مربوطه (advance_booking_window، user_set_dates، start_day_of_week، length_of_booking، یا start_date_range) به شیء AdGroupBidModifier مرتبط کنید، نام منبع گروه آگهی هدف را بااستفاده از ad_group مشخص کنید، و فیلد bid_modifier را روی یک ضریب تنظیم کنید:
advance_booking_window،length_of_booking،start_day_of_week،start_date_range، وdevice: ضریبی از0.1تا10.0(برای مثال،1.5برای تعدیل +۵۰٪، یا0.5برای تعدیل -۵۰٪) مشخص کنید، یاbid_modifierرا روی0(0.0) تنظیم کنید تا از معیار انصراف دهید (-100%).user_set_dates: ضریبی بین0.5تا2.0مشخص کنید. تنظیمbid_modifierروی0برایuser_set_datesپشتیبانی نمیشود وRangeError.TOO_LOWرا برمیگرداند.
برای جزئیات بیشتر درباره نحوه عملکرد هر نوع تعدیل، درباره تعدیل قیمت پیشنهادی برای آگهیهای هتل را ببینید.
جزئیات حد منبع و بخش گزارشدهی زیر نیز در نسخه ۲۶ اعمال میشود:
segments.user_set_dates: در نسخه ۲۶ و جدیدتر، نوع شمارشیsegments.user_set_datesDateSelectionTypeاست (ازHotelDateSelectionTypeدر نسخه ۲۵ و قدیمیتر بهروز شده است؛ گزارشهای کمپین «هتل» که ازsegments.hotel_date_selection_typeاستفاده میکنند همچنان ازHotelDateSelectionTypeاستفاده میکنند). سایر بخشهای برنامه سفر (segments.advance_booking_window،segments.length_of_booking،segments.start_date، وsegments.start_day_of_week) بدون تغییر هستند.- محدودیتهای منبع:
ResourceLimitType.HOTEL_ADVANCE_BOOKING_WINDOW_BID_MODIFIERS_PER_AD_GROUPوResourceLimitType.HOTEL_CHECK_IN_DATE_RANGE_BID_MODIFIERS_PER_AD_GROUPنامهای فعلیشان را در نسخه ۲۶ حفظ میکنند.
جاوا
private void runExample(GoogleAdsClient googleAdsClient, long customerId, long adGroupId) { List<AdGroupBidModifierOperation> operations = new ArrayList<>(); // Constructs the ad group resource name to use for each bid modifier. String adGroupResourceName = ResourceNames.adGroup(customerId, adGroupId); // 1) Creates an ad group bid modifier based on the hotel check-in day. AdGroupBidModifier checkInDayAdGroupBidModifier = AdGroupBidModifier.newBuilder() // Sets the resource name to the ad group resource name joined with the criterion ID // whose value corresponds to the desired check-in day. .setAdGroup(adGroupResourceName) .setStartDayOfWeek(StartDayOfWeekInfo.newBuilder().setDayOfWeek(DayOfWeek.MONDAY)) // Sets the bid modifier value to 150%. .setBidModifier(1.5d) .build(); operations.add( AdGroupBidModifierOperation.newBuilder().setCreate(checkInDayAdGroupBidModifier).build()); // 2) Creates an ad group bid modifier based on the hotel length of stay. AdGroupBidModifier lengthOfStayAdGroupBidModifier = AdGroupBidModifier.newBuilder() // Sets the ad group. .setAdGroup(adGroupResourceName) // Creates the length of booking info. .setLengthOfBooking( LengthOfBookingInfo.newBuilder().setMinDays(3L).setMaxDays(7L).build()) // Sets the bid modifier value to 170%. .setBidModifier(1.7d) .build(); operations.add( AdGroupBidModifierOperation.newBuilder().setCreate(lengthOfStayAdGroupBidModifier).build()); // Issues a mutate request to add the ad group bid modifiers. try (AdGroupBidModifierServiceClient adGroupBidModifierServiceClient = googleAdsClient.getLatestVersion().createAdGroupBidModifierServiceClient()) { MutateAdGroupBidModifiersResponse response = adGroupBidModifierServiceClient.mutateAdGroupBidModifiers( Long.toString(customerId), operations); // Prints the resource names of the added ad group bid modifiers. System.out.printf("Added %d hotel ad group bid modifiers:%n", response.getResultsCount()); for (MutateAdGroupBidModifierResult mutateAdGroupBidModifierResult : response.getResultsList()) { System.out.printf(" %s%n", mutateAdGroupBidModifierResult.getResourceName()); } } }
C#
public void Run(GoogleAdsClient client, long customerId, long adGroupId) { // Get the AdGroupBidModifierService. AdGroupBidModifierServiceClient service = client.GetService( Services.V26.AdGroupBidModifierService); // Constructs the ad group resource name to use for each bid modifier. string adGroupResourceName = ResourceNames.AdGroup(customerId, adGroupId); // 1) Create an ad group bid modifier based on the hotel check-in day. AdGroupBidModifier checkInDayAdGroupBidModifier = new AdGroupBidModifier() { // Sets the resource name to the ad group resource name joined with the criterion // ID whose value corresponds to the desired check-in day. AdGroup = adGroupResourceName, StartDayOfWeek = new StartDayOfWeekInfo() { DayOfWeek = DayOfWeek.Monday }, // Set the bid modifier value to 150%. BidModifier = 1.5, }; // Creates an ad group bid modifier operation. var checkInDayAdGroupBidModifierOperation = new AdGroupBidModifierOperation() { Create = checkInDayAdGroupBidModifier }; // 2) Create an ad group bid modifier based on the hotel length of stay. AdGroupBidModifier lengthOfStayAdGroupBidModifier = new AdGroupBidModifier() { // Set the ad group. AdGroup = ResourceNames.AdGroup(customerId, adGroupId), // Set the length of booking info. LengthOfBooking = new LengthOfBookingInfo() { MinDays = 3, MaxDays = 7 }, // Set the bid modifier value to 170%. BidModifier = 1.7 }; // Create an ad group bid modifier operation. var lengthOfStayAdGroupBidModifierOperation = new AdGroupBidModifierOperation() { Create = lengthOfStayAdGroupBidModifier }; try { // Issue a mutate request to add an ad group bid modifiers. MutateAdGroupBidModifiersResponse response = service.MutateAdGroupBidModifiers( customerId.ToString(), new AdGroupBidModifierOperation[] { checkInDayAdGroupBidModifierOperation, lengthOfStayAdGroupBidModifierOperation } ); // Display the resource names of the added ad group bid modifiers. Console.WriteLine($"Added {response.Results.Count} hotel ad group bid modifiers:"); foreach (MutateAdGroupBidModifierResult result in response.Results) { Console.WriteLine($"- {result.ResourceName}"); } } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; } }
PHP
public static function runExample( GoogleAdsClient $googleAdsClient, int $customerId, int $adGroupId ) { $operations = []; // 1) Creates an ad group bid modifier based on the hotel check-in day. $checkInDayAdGroupBidModifier = new AdGroupBidModifier( [ // Sets the ad group. 'ad_group' => ResourceNames::forAdGroup($customerId, $adGroupId), 'hotel_check_in_day' => new HotelCheckInDayInfo( [ 'day_of_week' => DayOfWeek::MONDAY ] ), // Sets the bid modifier value to 150%. 'bid_modifier' => 1.5 ] ); // Creates an ad group bid modifier operation. $checkInDayAdGroupBidModifierOperation = new AdGroupBidModifierOperation(); $checkInDayAdGroupBidModifierOperation->setCreate($checkInDayAdGroupBidModifier); $operations[] = $checkInDayAdGroupBidModifierOperation; // 2) Creates an ad group bid modifier based on the hotel length of stay. $lengthOfStayAdGroupBidModifier = new AdGroupBidModifier( [ // Sets the ad group. 'ad_group' => ResourceNames::forAdGroup($customerId, $adGroupId), // Creates the hotel length of stay info. 'hotel_length_of_stay' => new HotelLengthOfStayInfo( [ 'min_nights' => 3, 'max_nights' => 7, ] ), // Sets the bid modifier value to 170%. 'bid_modifier' => 1.7 ] ); // Creates an ad group bid modifier operation. $lengthOfStayAdGroupBidModifierOperation = new AdGroupBidModifierOperation(); $lengthOfStayAdGroupBidModifierOperation->setCreate( $lengthOfStayAdGroupBidModifier ); $operations[] = $lengthOfStayAdGroupBidModifierOperation; // Issues a mutate request to add an ad group bid modifiers. $adGroupBidModifierServiceClient = $googleAdsClient->getAdGroupBidModifierServiceClient(); $response = $adGroupBidModifierServiceClient->mutateAdGroupBidModifiers( MutateAdGroupBidModifiersRequest::build($customerId, $operations) ); // Print out resource names of the added ad group bid modifiers. printf( "Added %d hotel ad group bid modifiers:%s", $response->getResults()->count(), PHP_EOL ); foreach ($response->getResults() as $addedAdGroupBidModifier) { /** * @var AdGroupBidModifier $addedAdGroupBidModifier */ print $addedAdGroupBidModifier->getResourceName() . PHP_EOL; } }
Python
def main(client: GoogleAdsClient, customer_id: str, ad_group_id: str) -> None: ad_group_service: AdGroupServiceClient = client.get_service( "AdGroupService" ) ag_bm_service: AdGroupBidModifierServiceClient = client.get_service( "AdGroupBidModifierService" ) # Create ad group bid modifier based on hotel check-in day. check_in_ag_bm_operation: AdGroupBidModifierOperation = client.get_type( "AdGroupBidModifierOperation" ) check_in_ag_bid_modifier: AdGroupBidModifier = ( check_in_ag_bm_operation.create ) check_in_ag_bid_modifier.hotel_check_in_day.day_of_week = ( client.enums.DayOfWeekEnum.MONDAY ) check_in_ag_bid_modifier.ad_group = ad_group_service.ad_group_path( customer_id, ad_group_id ) # Sets the bid modifier value to 150%. check_in_ag_bid_modifier.bid_modifier = 1.5 # Create ad group bid modifier based on hotel length of stay info. los_ag_bm_operation: AdGroupBidModifierOperation = client.get_type( "AdGroupBidModifierOperation" ) los_ag_bid_modifier: AdGroupBidModifier = los_ag_bm_operation.create los_ag_bid_modifier.ad_group = ad_group_service.ad_group_path( customer_id, ad_group_id ) # Creates the hotel length of stay info. hotel_length_of_stay_info: HotelLengthOfStayInfo = ( los_ag_bid_modifier.hotel_length_of_stay ) hotel_length_of_stay_info.min_nights = 3 hotel_length_of_stay_info.max_nights = 7 # Sets the bid modifier value to 170%. los_ag_bid_modifier.bid_modifier = 1.7 # Add the bid modifiers ag_bm_response: MutateAdGroupBidModifiersResponse = ( ag_bm_service.mutate_ad_group_bid_modifiers( customer_id=customer_id, operations=[check_in_ag_bm_operation, los_ag_bm_operation], ) ) # Print out resource names of the added ad group bid modifiers. print(f"Added {len(ag_bm_response.results)} hotel ad group bid modifiers:") result: MutateAdGroupBidModifierResult for result in ag_bm_response.results: print(result.resource_name)
Ruby
def add_hotel_ad_group_bid_modifiers(customer_id, ad_group_id) # GoogleAdsClient will read a config file from # ENV['HOME']/google_ads_config.rb when called without parameters client = Google::Ads::GoogleAds::GoogleAdsClient.new operations = [] ad_group_resource = client.path.ad_group(customer_id, ad_group_id) # 1) Creates an ad group bid modifier based on the check-in day. operations << client.operation.create_resource.ad_group_bid_modifier do |bm| # Sets the ad group. bm.ad_group = ad_group_resource # Sets the check-in day to Monday. bm.start_day_of_week = client.resource.start_day_of_week_info do |info| info.day_of_week = :MONDAY end # Sets the bid modifier value to 150%. bm.bid_modifier = 1.5 end # 2) Creates an ad group bid modifier based on the length of booking. operations << client.operation.create_resource.ad_group_bid_modifier do |bm| # Sets the ad group. bm.ad_group = ad_group_resource # Creates the length of booking info. bm.length_of_booking = client.resource.length_of_booking_info do |info| info.min_days = 3 info.max_days = 7 end # Sets the bid modifier value to 170%. bm.bid_modifier = 1.7 end # 3) Issues a mutate request to add an ad group bid modifiers. ad_group_bid_modifier_service = client.service.ad_group_bid_modifier response = ad_group_bid_modifier_service.mutate_ad_group_bid_modifiers( customer_id: customer_id, operations: operations, ) # Print out resource names of the added ad group bid modifiers. puts "Added #{response.results.size} hotel ad group bid modifiers:" response.results.each do |added_ad_group_bid_modifier| puts "\t#{added_ad_group_bid_modifier.resource_name}" end end
پرل
sub add_hotel_ad_group_bid_modifiers { my ($api_client, $customer_id, $ad_group_id) = @_; # 1) Create an ad group bid modifier based on the hotel check-in day. my $check_in_day_ad_group_bid_modifier = Google::Ads::GoogleAds::V26::Resources::AdGroupBidModifier->new({ # Set the ad group. adGroup => Google::Ads::GoogleAds::V26::Utils::ResourceNames::ad_group( $customer_id, $ad_group_id ), hotelCheckInDay => Google::Ads::GoogleAds::V26::Common::HotelCheckInDayInfo->new({ dayOfWeek => MONDAY } ), # Set the bid modifier value to 150%. bidModifier => 1.5 }); # Create an ad group bid modifier operation. my $check_in_day_ad_group_bid_modifier_operation = Google::Ads::GoogleAds::V26::Services::AdGroupBidModifierService::AdGroupBidModifierOperation ->new({ create => $check_in_day_ad_group_bid_modifier }); # 2) Create an ad group bid modifier based on the hotel length of stay. my $length_of_stay_ad_group_bid_modifier = Google::Ads::GoogleAds::V26::Resources::AdGroupBidModifier->new({ # Set the ad group. adGroup => Google::Ads::GoogleAds::V26::Utils::ResourceNames::ad_group( $customer_id, $ad_group_id ), # Create the hotel length of stay info. hotelLengthOfStay => Google::Ads::GoogleAds::V26::Common::HotelLengthOfStayInfo->new({ minNights => 3, maxNights => 7 } ), # Set the bid modifier value to 170%. bidModifier => 1.7 }); # Create an ad group bid modifier operation. my $length_of_stay_ad_group_bid_modifier_operation = Google::Ads::GoogleAds::V26::Services::AdGroupBidModifierService::AdGroupBidModifierOperation ->new({ create => $length_of_stay_ad_group_bid_modifier }); # 3) Add the ad group bid modifiers. my $ad_group_bid_modifiers_response = $api_client->AdGroupBidModifierService()->mutate({ customerId => $customer_id, operations => [ $check_in_day_ad_group_bid_modifier_operation, $length_of_stay_ad_group_bid_modifier_operation ]}); # Print out resource names of the added ad group bid modifiers. my $ad_group_bid_modifier_results = $ad_group_bid_modifiers_response->{results}; printf "Added %d hotel ad group bid modifiers:\n", scalar @$ad_group_bid_modifier_results; foreach my $ad_group_bid_modifier_result (@$ad_group_bid_modifier_results) { printf "\t%s\n", $ad_group_bid_modifier_result->{resourceName}; } return 1; }
curl
مثالها
مثالهای زیر نشان میدهند که چگونه میتوان بااستفاده از GAQL و بارهای داده JSON REST، تعدیلکنندههای قیمت پیشنهادی گروه آگهی را پُرسمان، ایجاد، بهروزرسانی، و حذف کرد.
خواندن تعدیلکنندههای قیمت پیشنهادی با GAQL
پُرسمانهای زیر بازیابی تعدیلکنندههای قیمت پیشنهادی طول رزرو را در نسخه ۲۵ و نسخههای قبلی درمقایسه با نسخه ۲۶ و نسخههای بعدی نشان میدهد:
نسخه ۲۵ و قدیمیتر:
SELECT
ad_group_bid_modifier.resource_name,
ad_group_bid_modifier.bid_modifier,
ad_group_bid_modifier.hotel_length_of_stay.min_nights,
ad_group_bid_modifier.hotel_length_of_stay.max_nights
FROM ad_group_bid_modifier
WHERE ad_group_bid_modifier.hotel_length_of_stay.min_nights = 5
نسخه ۲۶ و جدیدتر:
SELECT
ad_group_bid_modifier.resource_name,
ad_group_bid_modifier.bid_modifier,
ad_group_bid_modifier.length_of_booking.min_days,
ad_group_bid_modifier.length_of_booking.max_days
FROM ad_group_bid_modifier
WHERE ad_group_bid_modifier.length_of_booking.min_days = 5
درحال ایجاد تعدیلکنندههای قیمت پیشنهادی (پایهبار JSON)
دادههای JSON زیر ایجاد تعدیلکنندههای قیمت پیشنهادی گروه آگهی را در نسخه ۲۶ و نسخههای جدیدتر نشان میدهد.
ایجاد تعدیلکننده قیمت پیشنهادی مدت رزرو در نسخه ۲۶:
{
"customerId": "1234567890",
"operations": [
{
"create": {
"adGroup": "customers/1234567890/adGroups/987654321",
"bidModifier": 1.2,
"lengthOfBooking": {
"minDays": "3",
"maxDays": "5"
}
}
}
]
}
در نسخه ۲۵ و قدیمیتر، این مورد از hotelLengthOfStay با minNights و
maxNights استفاده میکرد.
ایجاد تعدیلکننده قیمت پیشنهادی محدوده تاریخ شروع در نسخه ۲۶:
{
"customerId": "1234567890",
"operations": [
{
"create": {
"adGroup": "customers/1234567890/adGroups/987654321",
"bidModifier": 1.5,
"startDateRange": {
"startDate": "2026-12-20",
"endDate": "2026-12-31"
}
}
}
]
}
ایجاد تعدیلکننده قیمت پیشنهادی تاریخهای تعیینشده توسط کاربر در نسخه ۲۶:
{
"customerId": "1234567890",
"operations": [
{
"create": {
"adGroup": "customers/1234567890/adGroups/987654321",
"bidModifier": 1.3,
"userSetDates": {
"type": "USER_SELECTED"
}
}
}
]
}
بهروزرسانی و برداشتن تعدیلکنندههای قیمت پیشنهادی
میتوانید ضریب را در تعدیلکننده قیمت پیشنهادی موجود بهروز کنید یا تعدیلکننده قیمت پیشنهادی را بهطور کامل بردارید:
- درحال بهروزرسانی: فیلدهای معیار
IMMUTABLEهستند. برای اصلاح ضریب قیمت پیشنهادی، عملیاتupdateرا با تنظیمupdateMask(update_maskدر protobuf) روی"bidModifier"("bid_modifier") ارسال کنید وbidModifier(bid_modifier) را روی مقدار معتبری تنظیم کنید (0.1تا10.0یا0برای انصراف ازadvance_booking_window،length_of_booking،start_day_of_week،start_date_range، وdevice؛0.5تا2.0برایuser_set_dates). برای تغییر معیارهای هدفیابی، تعدیلکننده قیمت پیشنهادی را بردارید و تعدیلکننده جدیدی ایجاد کنید. - برداشتن: عملیات
removeرا با نام منبع ارسال کنید:
{
"customerId": "1234567890",
"operations": [
{
"remove": "customers/1234567890/adGroupBidModifiers/987654321~555444333"
}
]
}
قوانین اعتبارسنجی و رسیدگی به خطا
قوانین اعتبارسنجی در نسخههای مختلف یکسان باقی میمانند، اما شش مقدار CriterionError enum
در نسخه ۲۶ تغییر نام دادهاند، همانطور که در جدول زیر نشان داده شده است:
| سناریو | نسخه ۲۵ و قدیمیتر | نسخه ۲۶ و جدیدتر |
|---|---|---|
| طول محدوده رزرو با معیار موجود همپوشانی دارد | HOTEL_LENGTH_OF_STAY_OVERLAPS_WITH_EXISTING_CRITERION |
LENGTH_OF_BOOKING_OVERLAPS_WITH_EXISTING_CRITERION |
| محدوده پنجره رزرو ازپیش با معیار موجود همپوشانی دارد | HOTEL_ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION |
ADVANCE_BOOKING_WINDOW_OVERLAPS_WITH_EXISTING_CRITERION |
| محدوده تاریخ شروع با معیار موجود همپوشانی دارد | HOTEL_CHECK_IN_DATE_RANGE_OVERLAPS_WITH_EXISTING_CRITERION |
START_DATE_RANGE_OVERLAPS_WITH_EXISTING_CRITERION |
start_date زودتر از دیروز (بهوقت ساعت هماهنگ جهانی) |
HOTEL_CHECK_IN_DATE_RANGE_START_DATE_TOO_EARLY |
START_DATE_RANGE_START_DATE_TOO_EARLY |
end_date بیشاز ۳۳۰ روز در آینده (UTC) |
HOTEL_CHECK_IN_DATE_RANGE_END_DATE_TOO_LATE |
START_DATE_RANGE_END_DATE_TOO_LATE |
start_date بعد از end_date |
HOTEL_CHECK_IN_DATE_RANGE_REVERSED |
START_DATE_RANGE_REVERSED |
خطاهای اعتبارسنجی زیر در همه نسخههای API اعمال میشود:
FieldError.REQUIRED: محدوده الزامی وجود ندارد (مثلاًadvance_booking_windowبدونmin_daysیاmax_days).RangeError.TOO_HIGH/RangeError.TOO_LOW: مقدار خارج از محدوده، مانندadvance_booking_window.max_daysبزرگتر از ۳۳۰،min_daysبزرگتر ازmax_daysدرadvance_booking_windowیاlength_of_booking،bid_modifierخارج از0.1–10.0برایadvance_booking_window،length_of_booking،start_day_of_week، یاstart_date_range، یاbid_modifierخارج از0.5–2.0(شامل0) برایuser_set_dates.ResourceCountLimitExceededError.RESOURCE_LIMIT: گروه آگهی از حد مجاز تعدیلکنندههای قیمت پیشنهادی برای هر گروه آگهی فراتر رفته است.MutateError.INCONSISTENT_FIELD_VALUES: زیرفیلد شمارشی شناسه ثابت (مانندuser_set_dates.type،start_day_of_week.day_of_week، یاdevice.type) با شناسه معیار مشخصشده درresource_nameمطابقت ندارد.ContextError.OPERATION_NOT_PERMITTED_FOR_CONTEXT: تلاش برای افزودن تعدیلکننده قیمت پیشنهادی سفر در نوع پویش پشتیبانینشده یا پویش «شبکه جستجو» فاقدشرایط.