xref: /aosp_15_r20/external/googleapis/google/ads/googleads/v16/common/asset_policy.proto (revision d5c09012810ac0c9f33fe448fb6da8260d444cc9)
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