--- v18/services/campaign_service.proto 2024-10-16 17:56:30.000000000 +0000 +++ v19/services/campaign_service.proto 2025-02-24 15:30:13.000000000 +0000 @@ -1,164 +1,267 @@ // Copyright 2024 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. syntax = "proto3"; -package google.ads.googleads.v18.services; +package google.ads.googleads.v19.services; -import "google/ads/googleads/v18/enums/response_content_type.proto"; -import "google/ads/googleads/v18/resources/campaign.proto"; +import "google/ads/googleads/v19/enums/response_content_type.proto"; +import "google/ads/googleads/v19/resources/campaign.proto"; import "google/api/annotations.proto"; import "google/api/client.proto"; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/protobuf/field_mask.proto"; import "google/rpc/status.proto"; -option csharp_namespace = "Google.Ads.GoogleAds.V18.Services"; -option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v18/services;services"; +option csharp_namespace = "Google.Ads.GoogleAds.V19.Services"; +option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v19/services;services"; option java_multiple_files = true; option java_outer_classname = "CampaignServiceProto"; -option java_package = "com.google.ads.googleads.v18.services"; +option java_package = "com.google.ads.googleads.v19.services"; option objc_class_prefix = "GAA"; -option php_namespace = "Google\\Ads\\GoogleAds\\V18\\Services"; -option ruby_package = "Google::Ads::GoogleAds::V18::Services"; +option php_namespace = "Google\\Ads\\GoogleAds\\V19\\Services"; +option ruby_package = "Google::Ads::GoogleAds::V19::Services"; // Proto file describing the Campaign service. // Service to manage campaigns. service CampaignService { option (google.api.default_host) = "googleads.googleapis.com"; option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/adwords"; // Creates, updates, or removes campaigns. Operation statuses are returned. // // List of thrown errors: // [AdxError]() // [AuthenticationError]() // [AuthorizationError]() // [BiddingError]() // [BiddingStrategyError]() // [CampaignBudgetError]() // [CampaignError]() // [ContextError]() // [DatabaseError]() // [DateError]() // [DateRangeError]() // [DistinctError]() // [FieldError]() // [FieldMaskError]() // [HeaderError]() // [IdError]() // [InternalError]() // [ListOperationError]() // [MutateError]() // [NewResourceCreationError]() // [NotAllowlistedError]() // [NotEmptyError]() // [NullError]() // [OperationAccessDeniedError]() // [OperatorError]() // [QuotaError]() // [RangeError]() // [RegionCodeError]() // [RequestError]() // [ResourceCountLimitExceededError]() // [SettingError]() // [SizeLimitError]() // [StringFormatError]() // [StringLengthError]() // [UrlFieldError]() rpc MutateCampaigns(MutateCampaignsRequest) returns (MutateCampaignsResponse) { option (google.api.http) = { - post: "/v18/customers/{customer_id=*}/campaigns:mutate" + post: "/v19/customers/{customer_id=*}/campaigns:mutate" + body: "*" + }; + option (google.api.method_signature) = "customer_id,operations"; + } + + // Enables Brand Guidelines for Performance Max campaigns. + // + // List of thrown errors: + // [AuthenticationError]() + // [AssetError]() + // [AssetLinkError]() + // [AuthorizationError]() + // [BrandGuidelinesMigrationError]() + // [CampaignError]() + // [HeaderError]() + // [InternalError]() + // [MutateError]() + // [QuotaError]() + // [RequestError]() + // [ResourceCountLimitExceededError]() + rpc EnablePMaxBrandGuidelines(EnablePMaxBrandGuidelinesRequest) + returns (EnablePMaxBrandGuidelinesResponse) { + option (google.api.http) = { + post: "/v19/customers/{customer_id=*}/campaigns:enablePMaxBrandGuidelines" body: "*" }; option (google.api.method_signature) = "customer_id,operations"; } } // Request message for -// [CampaignService.MutateCampaigns][google.ads.googleads.v18.services.CampaignService.MutateCampaigns]. +// [CampaignService.MutateCampaigns][google.ads.googleads.v19.services.CampaignService.MutateCampaigns]. message MutateCampaignsRequest { // Required. The ID of the customer whose campaigns are being modified. string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; // Required. The list of operations to perform on individual campaigns. repeated CampaignOperation operations = 2 [(google.api.field_behavior) = REQUIRED]; // If true, successful operations will be carried out and invalid // operations will return errors. If false, all operations will be carried // out in one transaction if and only if they are all valid. // Default is false. bool partial_failure = 3; // If true, the request is validated but not executed. Only errors are // returned, not results. bool validate_only = 4; // The response content type setting. Determines whether the mutable resource // or just the resource name should be returned post mutation. - google.ads.googleads.v18.enums.ResponseContentTypeEnum.ResponseContentType + google.ads.googleads.v19.enums.ResponseContentTypeEnum.ResponseContentType response_content_type = 5; } // A single operation (create, update, remove) on a campaign. message CampaignOperation { // FieldMask that determines which resource fields are modified in an update. google.protobuf.FieldMask update_mask = 4; // The mutate operation. oneof operation { // Create operation: No resource name is expected for the new campaign. - google.ads.googleads.v18.resources.Campaign create = 1; + google.ads.googleads.v19.resources.Campaign create = 1; // Update operation: The campaign is expected to have a valid // resource name. - google.ads.googleads.v18.resources.Campaign update = 2; + google.ads.googleads.v19.resources.Campaign update = 2; // Remove operation: A resource name for the removed campaign is // expected, in this format: // // `customers/{customer_id}/campaigns/{campaign_id}` string remove = 3 [(google.api.resource_reference) = { type: "googleads.googleapis.com/Campaign" }]; } } // Response message for campaign mutate. message MutateCampaignsResponse { // Errors that pertain to operation failures in the partial failure mode. // Returned only when partial_failure = true and all errors occur inside the // operations. If any errors occur outside the operations (for example, auth // errors), we return an RPC level error. google.rpc.Status partial_failure_error = 3; // All results for the mutate. repeated MutateCampaignResult results = 2; } // The result for the campaign mutate. message MutateCampaignResult { // Returned for successful operations. string resource_name = 1 [(google.api.resource_reference) = { type: "googleads.googleapis.com/Campaign" }]; // The mutated campaign with only mutable fields after mutate. The field will // only be returned when response_content_type is set to "MUTABLE_RESOURCE". - google.ads.googleads.v18.resources.Campaign campaign = 2; + google.ads.googleads.v19.resources.Campaign campaign = 2; +} + +// Request to enable Brand Guidelines for a Performance Max campaign. +message EnablePMaxBrandGuidelinesRequest { + // Required. The ID of the customer whose campaigns are being enabled. + string customer_id = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of individual campaign operations. A maximum of 10 + // enable operations can be executed in a request. + repeated EnableOperation operations = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// A single enable operation of a campaign. +message EnableOperation { + // Required. The resource name of the campaign to enable. + string campaign = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + } + ]; + + // Required. The switch to automatically populate top-performing brand assets. + // This field is required. If true, top-performing brand assets will be + // automatically populated. If false, the brand_assets field is required. + bool auto_populate_brand_assets = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The brand assets linked to the campaign. This field is required + // when the value of auto_populate_brand_assets is false. + BrandCampaignAssets brand_assets = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The domain of the final uri. + string final_uri_domain = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Hex code representation of the main brand color, for example + // #00ff00. main_color is required when accent color is specified. + string main_color = 5 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. Hex code representation of the accent brand color, for example + // #00ff00. accent_color is required when main_color is specified. + string accent_color = 6 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The font family is specified as a string, and must be one of the + // following: "Open Sans", "Roboto", "Roboto Slab", "Montserrat", "Poppins", + // "Lato", "Oswald", or "Playfair Display". + string font_family = 7 [(google.api.field_behavior) = OPTIONAL]; +} + +// Assets linked at the campaign level. +// A business_name and at least one logo_asset are required. +message BrandCampaignAssets { + // Required. The resource name of the business name text asset. + string business_name_asset = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The resource name of square logo assets. + repeated string logo_asset = 2 [(google.api.field_behavior) = REQUIRED]; + + // Optional. The resource name of landscape logo assets. + repeated string landscape_logo_asset = 3 + [(google.api.field_behavior) = OPTIONAL]; +} + +// Brand Guidelines campaign enablement response. +message EnablePMaxBrandGuidelinesResponse { + // Campaign enablement results per campaign. + repeated EnablementResult results = 1; +} + +// A single enablement result of a campaign. +message EnablementResult { + // This indicates the campaign for which enablement was tried, regardless of + // the outcome. + string campaign = 1 [(google.api.resource_reference) = { + type: "googleads.googleapis.com/Campaign" + }]; + + // Details of the error when enablement fails. + google.rpc.Status enablement_error = 2; }
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-02-24 UTC.