aboutsummaryrefslogtreecommitdiff
path: root/google/ads/googleads/v1/resources/feed_item.proto
blob: 4db8689e938f3de641099d3edee7681ad62723a0 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
// Copyright 2019 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.v1.resources;

import "google/ads/googleads/v1/common/custom_parameter.proto";
import "google/ads/googleads/v1/common/feed_common.proto";
import "google/ads/googleads/v1/common/policy.proto";
import "google/ads/googleads/v1/enums/feed_item_quality_approval_status.proto";
import "google/ads/googleads/v1/enums/feed_item_quality_disapproval_reason.proto";
import "google/ads/googleads/v1/enums/feed_item_status.proto";
import "google/ads/googleads/v1/enums/feed_item_validation_status.proto";
import "google/ads/googleads/v1/enums/geo_targeting_restriction.proto";
import "google/ads/googleads/v1/enums/policy_approval_status.proto";
import "google/ads/googleads/v1/enums/policy_review_status.proto";
import "google/ads/googleads/v1/errors/feed_item_validation_error.proto";
import "google/protobuf/wrappers.proto";
import "google/api/annotations.proto";

option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources";
option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources";
option java_multiple_files = true;
option java_outer_classname = "FeedItemProto";
option java_package = "com.google.ads.googleads.v1.resources";
option objc_class_prefix = "GAA";
option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources";
option ruby_package = "Google::Ads::GoogleAds::V1::Resources";
// Proto file describing the FeedItem resource.

// A feed item.
message FeedItem {
  // The resource name of the feed item.
  // Feed item resource names have the form:
  //
  // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}`
  string resource_name = 1;

  // The feed to which this feed item belongs.
  google.protobuf.StringValue feed = 2;

  // The ID of this feed item.
  google.protobuf.Int64Value id = 3;

  // Start time in which this feed item is effective and can begin serving.
  // The format is "YYYY-MM-DD HH:MM:SS".
  // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
  google.protobuf.StringValue start_date_time = 4;

  // End time in which this feed item is no longer effective and will stop
  // serving.
  // The format is "YYYY-MM-DD HH:MM:SS".
  // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
  google.protobuf.StringValue end_date_time = 5;

  // The feed item's attribute values.
  repeated FeedItemAttributeValue attribute_values = 6;

  // Geo targeting restriction specifies the type of location that can be used
  // for targeting.
  google.ads.googleads.v1.enums.GeoTargetingRestrictionEnum.GeoTargetingRestriction geo_targeting_restriction = 7;

  // The list of mappings used to substitute custom parameter tags in a
  // `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
  repeated google.ads.googleads.v1.common.CustomParameter url_custom_parameters = 8;

  // Status of the feed item.
  // This field is read-only.
  google.ads.googleads.v1.enums.FeedItemStatusEnum.FeedItemStatus status = 9;

  // List of info about a feed item's validation and approval state for active
  // feed mappings. There will be an entry in the list for each type of feed
  // mapping associated with the feed, e.g. a feed with a sitelink and a call
  // feed mapping would cause every feed item associated with that feed to have
  // an entry in this list for both sitelink and call.
  // This field is read-only.
  repeated FeedItemPlaceholderPolicyInfo policy_infos = 10;
}

// A feed item attribute value.
message FeedItemAttributeValue {
  // Id of the feed attribute for which the value is associated with.
  google.protobuf.Int64Value feed_attribute_id = 1;

  // Int64 value. Should be set if feed_attribute_id refers to a feed attribute
  // of type INT64.
  google.protobuf.Int64Value integer_value = 2;

  // Bool value. Should be set if feed_attribute_id refers to a feed attribute
  // of type BOOLEAN.
  google.protobuf.BoolValue boolean_value = 3;

  // String value. Should be set if feed_attribute_id refers to a feed attribute
  // of type STRING, URL or DATE_TIME.
  // For STRING the maximum length is 1500 characters. For URL the maximum
  // length is 2076 characters. For DATE_TIME the format of the string must
  // be the same as start and end time for the feed item.
  google.protobuf.StringValue string_value = 4;

  // Double value. Should be set if feed_attribute_id refers to a feed attribute
  // of type DOUBLE.
  google.protobuf.DoubleValue double_value = 5;

  // Price value. Should be set if feed_attribute_id refers to a feed attribute
  // of type PRICE.
  google.ads.googleads.v1.common.Money price_value = 6;

  // Repeated int64 value. Should be set if feed_attribute_id refers to a feed
  // attribute of type INT64_LIST.
  repeated google.protobuf.Int64Value integer_values = 7;

  // Repeated bool value. Should be set if feed_attribute_id refers to a feed
  // attribute of type BOOLEAN_LIST.
  repeated google.protobuf.BoolValue boolean_values = 8;

  // Repeated string value. Should be set if feed_attribute_id refers to a feed
  // attribute of type STRING_LIST, URL_LIST or DATE_TIME_LIST.
  // For STRING_LIST and URL_LIST the total size of the list in bytes may not
  // exceed 3000. For DATE_TIME_LIST the number of elements may not exceed 200.
  //
  // For STRING_LIST the maximum length of each string element is 1500
  // characters. For URL_LIST the maximum length is 2076 characters. For
  // DATE_TIME the format of the string must be the same as start and end time
  // for the feed item.
  repeated google.protobuf.StringValue string_values = 9;

  // Repeated double value. Should be set if feed_attribute_id refers to a feed
  // attribute of type DOUBLE_LIST.
  repeated google.protobuf.DoubleValue double_values = 10;
}

// Policy, validation, and quality approval info for a feed item for the
// specified placeholder type.
message FeedItemPlaceholderPolicyInfo {
  // The placeholder type.
  google.protobuf.Int32Value placeholder_type = 1;

  // The FeedMapping that contains the placeholder type.
  google.protobuf.StringValue feed_mapping_resource_name = 2;

  // Where the placeholder type is in the review process.
  google.ads.googleads.v1.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 3;

  // The overall approval status of the placeholder type, calculated based on
  // the status of its individual policy topic entries.
  google.ads.googleads.v1.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 4;

  // The list of policy findings for the placeholder type.
  repeated google.ads.googleads.v1.common.PolicyTopicEntry policy_topic_entries = 5;

  // The validation status of the palceholder type.
  google.ads.googleads.v1.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus validation_status = 6;

  // List of placeholder type validation errors.
  repeated FeedItemValidationError validation_errors = 7;

  // Placeholder type quality evaluation approval status.
  google.ads.googleads.v1.enums.FeedItemQualityApprovalStatusEnum.FeedItemQualityApprovalStatus quality_approval_status = 8;

  // List of placeholder type quality evaluation disapproval reasons.
  repeated google.ads.googleads.v1.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason quality_disapproval_reasons = 9;
}

// Stores a validation error and the set of offending feed attributes which
// together are responsible for causing a feed item validation error.
message FeedItemValidationError {
  // Error code indicating what validation error was triggered. The description
  // of the error can be found in the 'description' field.
  google.ads.googleads.v1.errors.FeedItemValidationErrorEnum.FeedItemValidationError validation_error = 1;

  // The description of the validation error.
  google.protobuf.StringValue description = 2;

  // Set of feed attributes in the feed item flagged during validation. If
  // empty, no specific feed attributes can be associated with the error
  // (e.g. error across the entire feed item).
  repeated google.protobuf.Int64Value feed_attribute_ids = 3;

  // Any extra information related to this error which is not captured by
  // validation_error and feed_attribute_id (e.g. placeholder field IDs when
  // feed_attribute_id is not mapped). Note that extra_info is not localized.
  google.protobuf.StringValue extra_info = 5;
}