1 // Copyright 2019 Google LLC.
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
7 // http://www.apache.org/licenses/LICENSE-2.0
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.
18 package google.ads.googleads.v1.resources;
20 import "google/ads/googleads/v1/enums/affiliate_location_feed_relationship_type.proto";
21 import "google/ads/googleads/v1/enums/feed_attribute_type.proto";
22 import "google/ads/googleads/v1/enums/feed_origin.proto";
23 import "google/ads/googleads/v1/enums/feed_status.proto";
24 import "google/protobuf/wrappers.proto";
25 import "google/api/annotations.proto";
27 option csharp_namespace = "Google.Ads.GoogleAds.V1.Resources";
28 option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v1/resources;resources";
29 option java_multiple_files = true;
30 option java_outer_classname = "FeedProto";
31 option java_package = "com.google.ads.googleads.v1.resources";
32 option objc_class_prefix = "GAA";
33 option php_namespace = "Google\\Ads\\GoogleAds\\V1\\Resources";
34 option ruby_package = "Google::Ads::GoogleAds::V1::Resources";
35 // Proto file describing the Feed resource.
39 // Data used to configure a location feed populated from Google My Business
41 message PlacesLocationFeedData {
42 // Data used for authorization using OAuth.
44 // The HTTP method used to obtain authorization.
45 google.protobuf.StringValue http_method = 1;
47 // The HTTP request URL used to obtain authorization.
48 google.protobuf.StringValue http_request_url = 2;
50 // The HTTP authorization header used to obtain authorization.
51 google.protobuf.StringValue http_authorization_header = 3;
54 // Required authentication token (from OAuth API) for the email.
55 // This field can only be specified in a create request. All its subfields
56 // are not selectable.
57 OAuthInfo oauth_info = 1;
59 // Email address of a Google My Business account or email address of a
60 // manager of the Google My Business account. Required.
61 google.protobuf.StringValue email_address = 2;
63 // Plus page ID of the managed business whose locations should be used. If
64 // this field is not set, then all businesses accessible by the user
65 // (specified by email_address) are used.
66 // This field is mutate-only and is not selectable.
67 google.protobuf.StringValue business_account_id = 10;
69 // Used to filter Google My Business listings by business name. If
70 // business_name_filter is set, only listings with a matching business name
71 // are candidates to be sync'd into FeedItems.
72 google.protobuf.StringValue business_name_filter = 4;
74 // Used to filter Google My Business listings by categories. If entries
75 // exist in category_filters, only listings that belong to any of the
76 // categories are candidates to be sync'd into FeedItems. If no entries
77 // exist in category_filters, then all listings are candidates for syncing.
78 repeated google.protobuf.StringValue category_filters = 5;
80 // Used to filter Google My Business listings by labels. If entries exist in
81 // label_filters, only listings that has any of the labels set are
82 // candidates to be synchronized into FeedItems. If no entries exist in
83 // label_filters, then all listings are candidates for syncing.
84 repeated google.protobuf.StringValue label_filters = 6;
87 // Data used to configure an affiliate location feed populated with the
89 message AffiliateLocationFeedData {
90 // The list of chains that the affiliate location feed will sync the
92 repeated google.protobuf.Int64Value chain_ids = 1;
94 // The relationship the chains have with the advertiser.
95 google.ads.googleads.v1.enums.AffiliateLocationFeedRelationshipTypeEnum.AffiliateLocationFeedRelationshipType relationship_type = 2;
98 // The resource name of the feed.
99 // Feed resource names have the form:
101 // `customers/{customer_id}/feeds/{feed_id}`
102 string resource_name = 1;
104 // The ID of the feed.
105 // This field is read-only.
106 google.protobuf.Int64Value id = 2;
108 // Name of the feed. Required.
109 google.protobuf.StringValue name = 3;
111 // The Feed's attributes. Required on CREATE.
112 // Disallowed on UPDATE. Use attribute_operations to add new attributes.
113 repeated FeedAttribute attributes = 4;
115 // The list of operations changing the feed attributes. Attributes can only
116 // be added, not removed.
117 repeated FeedAttributeOperation attribute_operations = 9;
119 // Specifies who manages the FeedAttributes for the Feed.
120 google.ads.googleads.v1.enums.FeedOriginEnum.FeedOrigin origin = 5;
122 // Status of the feed.
123 // This field is read-only.
124 google.ads.googleads.v1.enums.FeedStatusEnum.FeedStatus status = 8;
126 // The system data for the Feed. This data specifies information for
127 // generating the feed items of the system generated feed.
128 oneof system_feed_generation_data {
129 // Data used to configure a location feed populated from Google My Business
131 PlacesLocationFeedData places_location_feed_data = 6;
133 // Data used to configure an affiliate location feed populated with
134 // the specified chains.
135 AffiliateLocationFeedData affiliate_location_feed_data = 7;
139 // FeedAttributes define the types of data expected to be present in a Feed. A
140 // single FeedAttribute specifies the expected type of the FeedItemAttributes
141 // with the same FeedAttributeId. Optionally, a FeedAttribute can be marked as
142 // being part of a FeedItem's unique key.
143 message FeedAttribute {
144 // ID of the attribute.
145 google.protobuf.Int64Value id = 1;
147 // The name of the attribute. Required.
148 google.protobuf.StringValue name = 2;
150 // Data type for feed attribute. Required.
151 google.ads.googleads.v1.enums.FeedAttributeTypeEnum.FeedAttributeType type = 3;
153 // Indicates that data corresponding to this attribute is part of a
154 // FeedItem's unique key. It defaults to false if it is unspecified. Note
155 // that a unique key is not required in a Feed's schema, in which case the
156 // FeedItems must be referenced by their feed_item_id.
157 google.protobuf.BoolValue is_part_of_key = 4;
160 // Operation to be performed on a feed attribute list in a mutate.
161 message FeedAttributeOperation {
167 // Used for return value only. Represents value unknown in this version.
170 // Add the attribute to the existing attributes.
174 // Type of list operation to perform.
175 Operator operator = 1;
177 // The feed attribute being added to the list.
178 FeedAttribute value = 2;