feed_item.proto 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214
  1. // Copyright 2021 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. syntax = "proto3";
  15. package google.ads.googleads.v8.resources;
  16. import "google/ads/googleads/v8/common/custom_parameter.proto";
  17. import "google/ads/googleads/v8/common/feed_common.proto";
  18. import "google/ads/googleads/v8/common/policy.proto";
  19. import "google/ads/googleads/v8/enums/feed_item_quality_approval_status.proto";
  20. import "google/ads/googleads/v8/enums/feed_item_quality_disapproval_reason.proto";
  21. import "google/ads/googleads/v8/enums/feed_item_status.proto";
  22. import "google/ads/googleads/v8/enums/feed_item_validation_status.proto";
  23. import "google/ads/googleads/v8/enums/geo_targeting_restriction.proto";
  24. import "google/ads/googleads/v8/enums/placeholder_type.proto";
  25. import "google/ads/googleads/v8/enums/policy_approval_status.proto";
  26. import "google/ads/googleads/v8/enums/policy_review_status.proto";
  27. import "google/ads/googleads/v8/errors/feed_item_validation_error.proto";
  28. import "google/api/field_behavior.proto";
  29. import "google/api/resource.proto";
  30. import "google/api/annotations.proto";
  31. option csharp_namespace = "Google.Ads.GoogleAds.V8.Resources";
  32. option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v8/resources;resources";
  33. option java_multiple_files = true;
  34. option java_outer_classname = "FeedItemProto";
  35. option java_package = "com.google.ads.googleads.v8.resources";
  36. option objc_class_prefix = "GAA";
  37. option php_namespace = "Google\\Ads\\GoogleAds\\V8\\Resources";
  38. option ruby_package = "Google::Ads::GoogleAds::V8::Resources";
  39. // Proto file describing the FeedItem resource.
  40. // A feed item.
  41. message FeedItem {
  42. option (google.api.resource) = {
  43. type: "googleads.googleapis.com/FeedItem"
  44. pattern: "customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}"
  45. };
  46. // Immutable. The resource name of the feed item.
  47. // Feed item resource names have the form:
  48. //
  49. // `customers/{customer_id}/feedItems/{feed_id}~{feed_item_id}`
  50. string resource_name = 1 [
  51. (google.api.field_behavior) = IMMUTABLE,
  52. (google.api.resource_reference) = {
  53. type: "googleads.googleapis.com/FeedItem"
  54. }
  55. ];
  56. // Immutable. The feed to which this feed item belongs.
  57. optional string feed = 11 [
  58. (google.api.field_behavior) = IMMUTABLE,
  59. (google.api.resource_reference) = {
  60. type: "googleads.googleapis.com/Feed"
  61. }
  62. ];
  63. // Output only. The ID of this feed item.
  64. optional int64 id = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
  65. // Start time in which this feed item is effective and can begin serving. The
  66. // time is in the customer's time zone.
  67. // The format is "YYYY-MM-DD HH:MM:SS".
  68. // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
  69. optional string start_date_time = 13;
  70. // End time in which this feed item is no longer effective and will stop
  71. // serving. The time is in the customer's time zone.
  72. // The format is "YYYY-MM-DD HH:MM:SS".
  73. // Examples: "2018-03-05 09:15:00" or "2018-02-01 14:34:30"
  74. optional string end_date_time = 14;
  75. // The feed item's attribute values.
  76. repeated FeedItemAttributeValue attribute_values = 6;
  77. // Geo targeting restriction specifies the type of location that can be used
  78. // for targeting.
  79. google.ads.googleads.v8.enums.GeoTargetingRestrictionEnum.GeoTargetingRestriction geo_targeting_restriction = 7;
  80. // The list of mappings used to substitute custom parameter tags in a
  81. // `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
  82. repeated google.ads.googleads.v8.common.CustomParameter url_custom_parameters = 8;
  83. // Output only. Status of the feed item.
  84. // This field is read-only.
  85. google.ads.googleads.v8.enums.FeedItemStatusEnum.FeedItemStatus status = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
  86. // Output only. List of info about a feed item's validation and approval state for active
  87. // feed mappings. There will be an entry in the list for each type of feed
  88. // mapping associated with the feed, e.g. a feed with a sitelink and a call
  89. // feed mapping would cause every feed item associated with that feed to have
  90. // an entry in this list for both sitelink and call.
  91. // This field is read-only.
  92. repeated FeedItemPlaceholderPolicyInfo policy_infos = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
  93. }
  94. // A feed item attribute value.
  95. message FeedItemAttributeValue {
  96. // Id of the feed attribute for which the value is associated with.
  97. optional int64 feed_attribute_id = 11;
  98. // Int64 value. Should be set if feed_attribute_id refers to a feed attribute
  99. // of type INT64.
  100. optional int64 integer_value = 12;
  101. // Bool value. Should be set if feed_attribute_id refers to a feed attribute
  102. // of type BOOLEAN.
  103. optional bool boolean_value = 13;
  104. // String value. Should be set if feed_attribute_id refers to a feed attribute
  105. // of type STRING, URL or DATE_TIME.
  106. // For STRING the maximum length is 1500 characters. For URL the maximum
  107. // length is 2076 characters. For DATE_TIME the string must be in the format
  108. // "YYYYMMDD HHMMSS".
  109. optional string string_value = 14;
  110. // Double value. Should be set if feed_attribute_id refers to a feed attribute
  111. // of type DOUBLE.
  112. optional double double_value = 15;
  113. // Price value. Should be set if feed_attribute_id refers to a feed attribute
  114. // of type PRICE.
  115. google.ads.googleads.v8.common.Money price_value = 6;
  116. // Repeated int64 value. Should be set if feed_attribute_id refers to a feed
  117. // attribute of type INT64_LIST.
  118. repeated int64 integer_values = 16;
  119. // Repeated bool value. Should be set if feed_attribute_id refers to a feed
  120. // attribute of type BOOLEAN_LIST.
  121. repeated bool boolean_values = 17;
  122. // Repeated string value. Should be set if feed_attribute_id refers to a feed
  123. // attribute of type STRING_LIST, URL_LIST or DATE_TIME_LIST.
  124. // For STRING_LIST and URL_LIST the total size of the list in bytes may not
  125. // exceed 3000. For DATE_TIME_LIST the number of elements may not exceed 200.
  126. //
  127. // For STRING_LIST the maximum length of each string element is 1500
  128. // characters. For URL_LIST the maximum length is 2076 characters. For
  129. // DATE_TIME the format of the string must be the same as start and end time
  130. // for the feed item.
  131. repeated string string_values = 18;
  132. // Repeated double value. Should be set if feed_attribute_id refers to a feed
  133. // attribute of type DOUBLE_LIST.
  134. repeated double double_values = 19;
  135. }
  136. // Policy, validation, and quality approval info for a feed item for the
  137. // specified placeholder type.
  138. message FeedItemPlaceholderPolicyInfo {
  139. // Output only. The placeholder type.
  140. google.ads.googleads.v8.enums.PlaceholderTypeEnum.PlaceholderType placeholder_type_enum = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
  141. // Output only. The FeedMapping that contains the placeholder type.
  142. optional string feed_mapping_resource_name = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
  143. // Output only. Where the placeholder type is in the review process.
  144. google.ads.googleads.v8.enums.PolicyReviewStatusEnum.PolicyReviewStatus review_status = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
  145. // Output only. The overall approval status of the placeholder type, calculated based on
  146. // the status of its individual policy topic entries.
  147. google.ads.googleads.v8.enums.PolicyApprovalStatusEnum.PolicyApprovalStatus approval_status = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
  148. // Output only. The list of policy findings for the placeholder type.
  149. repeated google.ads.googleads.v8.common.PolicyTopicEntry policy_topic_entries = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
  150. // Output only. The validation status of the palceholder type.
  151. google.ads.googleads.v8.enums.FeedItemValidationStatusEnum.FeedItemValidationStatus validation_status = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
  152. // Output only. List of placeholder type validation errors.
  153. repeated FeedItemValidationError validation_errors = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
  154. // Output only. Placeholder type quality evaluation approval status.
  155. google.ads.googleads.v8.enums.FeedItemQualityApprovalStatusEnum.FeedItemQualityApprovalStatus quality_approval_status = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
  156. // Output only. List of placeholder type quality evaluation disapproval reasons.
  157. repeated google.ads.googleads.v8.enums.FeedItemQualityDisapprovalReasonEnum.FeedItemQualityDisapprovalReason quality_disapproval_reasons = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
  158. }
  159. // Stores a validation error and the set of offending feed attributes which
  160. // together are responsible for causing a feed item validation error.
  161. message FeedItemValidationError {
  162. // Output only. Error code indicating what validation error was triggered. The description
  163. // of the error can be found in the 'description' field.
  164. google.ads.googleads.v8.errors.FeedItemValidationErrorEnum.FeedItemValidationError validation_error = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
  165. // Output only. The description of the validation error.
  166. optional string description = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
  167. // Output only. Set of feed attributes in the feed item flagged during validation. If
  168. // empty, no specific feed attributes can be associated with the error
  169. // (e.g. error across the entire feed item).
  170. repeated int64 feed_attribute_ids = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
  171. // Output only. Any extra information related to this error which is not captured by
  172. // validation_error and feed_attribute_id (e.g. placeholder field IDs when
  173. // feed_attribute_id is not mapped). Note that extra_info is not localized.
  174. optional string extra_info = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
  175. }