1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.ads.googleads.v16.common; 18 19import "google/ads/googleads/v16/common/policy.proto"; 20import "google/ads/googleads/v16/enums/asset_link_primary_status.proto"; 21import "google/ads/googleads/v16/enums/asset_link_primary_status_reason.proto"; 22import "google/ads/googleads/v16/enums/asset_offline_evaluation_error_reasons.proto"; 23import "google/ads/googleads/v16/enums/policy_approval_status.proto"; 24import "google/ads/googleads/v16/enums/policy_review_status.proto"; 25 26option csharp_namespace = "Google.Ads.GoogleAds.V16.Common"; 27option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/common;common"; 28option java_multiple_files = true; 29option java_outer_classname = "AssetPolicyProto"; 30option java_package = "com.google.ads.googleads.v16.common"; 31option objc_class_prefix = "GAA"; 32option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Common"; 33option ruby_package = "Google::Ads::GoogleAds::V16::Common"; 34 35// Proto file describing asset policies. 36 37// Contains policy information for an asset inside an ad. 38message AdAssetPolicySummary { 39 // The list of policy findings for this asset. 40 repeated PolicyTopicEntry policy_topic_entries = 1; 41 42 // Where in the review process this asset. 43 google.ads.googleads.v16.enums.PolicyReviewStatusEnum.PolicyReviewStatus 44 review_status = 2; 45 46 // The overall approval status of this asset, which is calculated based on 47 // the status of its individual policy topic entries. 48 google.ads.googleads.v16.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus 49 approval_status = 3; 50} 51 52// Provides the detail of a PrimaryStatus. 53// Each asset link has a PrimaryStatus value (e.g. NOT_ELIGIBLE, meaning not 54// serving), and list of corroborating PrimaryStatusReasons (e.g. 55// [ASSET_DISAPPROVED]). Each reason may have some additional details 56// annotated with it. For instance, when the reason is ASSET_DISAPPROVED, the 57// details field will contain additional information about the offline 58// evaluation errors which led to the asset being disapproved. 59message AssetLinkPrimaryStatusDetails { 60 // Provides the reason of this PrimaryStatus. 61 optional google.ads.googleads.v16.enums.AssetLinkPrimaryStatusReasonEnum 62 .AssetLinkPrimaryStatusReason reason = 1; 63 64 // Provides the PrimaryStatus of this status detail. 65 optional google.ads.googleads.v16.enums.AssetLinkPrimaryStatusEnum 66 .AssetLinkPrimaryStatus status = 2; 67 68 // Provides the details associated with the asset link primary status. 69 oneof details { 70 // Provides the details for AssetLinkPrimaryStatusReason.ASSET_DISAPPROVED 71 AssetDisapproved asset_disapproved = 3; 72 } 73} 74 75// Details related to AssetLinkPrimaryStatusReasonPB.ASSET_DISAPPROVED 76message AssetDisapproved { 77 // Provides the quality evaluation disapproval reason of an asset. 78 repeated google.ads.googleads.v16.enums.AssetOfflineEvaluationErrorReasonsEnum 79 .AssetOfflineEvaluationErrorReasons offline_evaluation_error_reasons = 1; 80} 81