feed_item.proto 10 KB

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