// Copyright 2018 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
// implied. See the License for the specific language governing
// permissions and limitations under the License.


// Proto file describing campaign errors.
syntax = "proto3";

package google.ads.googleads.v0.errors;

option java_package = "com.google.ads.googleads.v0.errors";
option java_outer_classname = "CampaignErrorProto";
option java_multiple_files = true;

// Objective-C prefix. Google Ads API.
option objc_class_prefix = "GAA";
option csharp_namespace = "Google.Ads.GoogleAds.V0.Errors";
option php_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";
option php_metadata_namespace = "Google\\Ads\\GoogleAds\\V0\\Errors";

// Container for enum describing possible campaign errors.
message CampaignErrorEnum {

  // Enum describing possible campaign errors.
  enum CampaignError {
    // Enum unspecified.
    UNSPECIFIED = 0;
    // The received error code is not known in this version.
    UNKNOWN = 1;
    // Cannot target content network.
    CANNOT_TARGET_CONTENT_NETWORK = 3;
    // Cannot target search network.
    CANNOT_TARGET_SEARCH_NETWORK = 4;
    // Cannot cover search network without google search network.
    CANNOT_TARGET_SEARCH_NETWORK_WITHOUT_GOOGLE_SEARCH = 5;
    // Cannot target Google Search network for a CPM campaign.
    CANNOT_TARGET_GOOGLE_SEARCH_FOR_CPM_CAMPAIGN = 6;
    // Must target at least one network.
    CAMPAIGN_MUST_TARGET_AT_LEAST_ONE_NETWORK = 7;
    // Only some Google partners are allowed to target partner search network.
    CANNOT_TARGET_PARTNER_SEARCH_NETWORK = 8;
    // Cannot target content network only as campaign has criteria-level bidding
    // strategy.
    CANNOT_TARGET_CONTENT_NETWORK_ONLY_WITH_CRITERIA_LEVEL_BIDDING_STRATEGY = 9;
    // Cannot modify the start or end date such that the campaign duration would
    // not contain the durations of all runnable trials.
    CAMPAIGN_DURATION_MUST_CONTAIN_ALL_RUNNABLE_TRIALS = 10;
    // Cannot modify dates, budget or campaign name of a trial campaign.
    CANNOT_MODIFY_FOR_TRIAL_CAMPAIGN = 11;
    // Trying to modify the name of an active or paused campaign, where the name
    // is already assigned to another active or paused campaign.
    DUPLICATE_CAMPAIGN_NAME = 12;
    // Two fields are in conflicting modes.
    INCOMPATIBLE_CAMPAIGN_FIELD = 13;
    // Campaign name cannot be used.
    INVALID_CAMPAIGN_NAME = 14;
    // Given status is invalid.
    INVALID_AD_SERVING_OPTIMIZATION_STATUS = 15;
    // Error in the campaign level tracking url.
    INVALID_TRACKING_URL = 16;
    // Cannot set both tracking url template and tracking setting. An user has
    // to clear legacy tracking setting in order to add tracking url template.
    CANNOT_SET_BOTH_TRACKING_URL_TEMPLATE_AND_TRACKING_SETTING = 17;
    // The maximum number of impressions for Frequency Cap should be an integer
    // greater than 0.
    MAX_IMPRESSIONS_NOT_IN_RANGE = 18;
    // Only the Day, Week and Month time units are supported.
    TIME_UNIT_NOT_SUPPORTED = 19;
    // Operation not allowed on a campaign whose serving status has ended
    INVALID_OPERATION_IF_SERVING_STATUS_HAS_ENDED = 20;
    // This budget is exclusively linked to a Campaign that is using experiments
    // so it cannot be shared.
    BUDGET_CANNOT_BE_SHARED = 21;
    // Campaigns using experiments cannot use a shared budget.
    CAMPAIGN_CANNOT_USE_SHARED_BUDGET = 22;
    // A different budget cannot be assigned to a campaign when there are
    // running or scheduled trials.
    CANNOT_CHANGE_BUDGET_ON_CAMPAIGN_WITH_TRIALS = 23;
    // No link found between the campaign and the label.
    CAMPAIGN_LABEL_DOES_NOT_EXIST = 24;
    // The label has already been attached to the campaign.
    CAMPAIGN_LABEL_ALREADY_EXISTS = 25;
    // A ShoppingSetting was not found when creating a shopping campaign.
    MISSING_SHOPPING_SETTING = 26;
    // The country in shopping setting is not an allowed country.
    INVALID_SHOPPING_SALES_COUNTRY = 27;
    // Shopping merchant is not enabled for Purchases on Google.
    SHOPPING_MERCHANT_NOT_ALLOWED_FOR_PURCHASES_ON_GOOGLE = 28;
    // Purchases on Google not enabled for the shopping campaign's sales
    // country.
    PURCHASES_ON_GOOGLE_NOT_SUPPORTED_FOR_SHOPPING_SALES_COUNTRY = 29;
    // A Campaign with channel sub type UNIVERSAL_APP_CAMPAIGN must have a
    // UniversalAppCampaignSetting specified.
    MISSING_UNIVERSAL_APP_CAMPAIGN_SETTING = 30;
    // The requested channel type is not available according to the customer's
    // account setting.
    ADVERTISING_CHANNEL_TYPE_NOT_AVAILABLE_FOR_ACCOUNT_TYPE = 31;
    // The AdvertisingChannelSubType is not a valid subtype of the primary
    // channel type.
    INVALID_ADVERTISING_CHANNEL_SUB_TYPE = 32;
    // At least one conversion must be selected.
    AT_LEAST_ONE_CONVERSION_MUST_BE_SELECTED = 33;
    // Setting ad rotation mode for a campaign is not allowed. Ad rotation mode
    // at campaign is deprecated.
    CANNOT_SET_AD_ROTATION_MODE = 34;
    // Trying to change start date on a campaign that has started.
    CANNOT_MODIFY_START_DATE_IF_ALREADY_STARTED = 35;
    // Trying to modify a date into the past.
    CANNOT_SET_DATE_TO_PAST = 36;
    // Hotel center id in the hotel setting does not match any customer links.
    MISSING_HOTEL_CUSTOMER_LINK = 37;
    // Hotel center id in the hotel setting must match an active customer link.
    INVALID_HOTEL_CUSTOMER_LINK = 38;
    // Hotel setting was not found when creating a hotel ads campaign.
    MISSING_HOTEL_SETTING = 39;
  }
}
