google-shopping-merchant-products-v1 0.a → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.yardopts +12 -0
- data/AUTHENTICATION.md +122 -0
- data/README.md +154 -8
- data/lib/google/shopping/merchant/products/v1/product_inputs_service/client.rb +715 -0
- data/lib/google/shopping/merchant/products/v1/product_inputs_service/credentials.rb +49 -0
- data/lib/google/shopping/merchant/products/v1/product_inputs_service/paths.rb +66 -0
- data/lib/google/shopping/merchant/products/v1/product_inputs_service/rest/client.rb +668 -0
- data/lib/google/shopping/merchant/products/v1/product_inputs_service/rest/service_stub.rb +268 -0
- data/lib/google/shopping/merchant/products/v1/product_inputs_service/rest.rb +54 -0
- data/lib/google/shopping/merchant/products/v1/product_inputs_service.rb +57 -0
- data/lib/google/shopping/merchant/products/v1/productinputs_pb.rb +59 -0
- data/lib/google/shopping/merchant/products/v1/productinputs_services_pb.rb +69 -0
- data/lib/google/shopping/merchant/products/v1/products_common_pb.rb +91 -0
- data/lib/google/shopping/merchant/products/v1/products_pb.rb +56 -0
- data/lib/google/shopping/merchant/products/v1/products_service/client.rb +591 -0
- data/lib/google/shopping/merchant/products/v1/products_service/credentials.rb +49 -0
- data/lib/google/shopping/merchant/products/v1/products_service/paths.rb +66 -0
- data/lib/google/shopping/merchant/products/v1/products_service/rest/client.rb +551 -0
- data/lib/google/shopping/merchant/products/v1/products_service/rest/service_stub.rb +205 -0
- data/lib/google/shopping/merchant/products/v1/products_service/rest.rb +54 -0
- data/lib/google/shopping/merchant/products/v1/products_service.rb +57 -0
- data/lib/google/shopping/merchant/products/v1/products_services_pb.rb +57 -0
- data/lib/google/shopping/merchant/products/v1/rest.rb +40 -0
- data/lib/google/shopping/merchant/products/v1/version.rb +7 -2
- data/lib/google/shopping/merchant/products/v1.rb +48 -0
- data/lib/google-shopping-merchant-products-v1.rb +21 -0
- data/proto_docs/README.md +4 -0
- data/proto_docs/google/api/client.rb +473 -0
- data/proto_docs/google/api/field_behavior.rb +85 -0
- data/proto_docs/google/api/launch_stage.rb +71 -0
- data/proto_docs/google/api/resource.rb +227 -0
- data/proto_docs/google/protobuf/duration.rb +98 -0
- data/proto_docs/google/protobuf/empty.rb +34 -0
- data/proto_docs/google/protobuf/field_mask.rb +229 -0
- data/proto_docs/google/protobuf/timestamp.rb +127 -0
- data/proto_docs/google/shopping/merchant/products/v1/productinputs.rb +221 -0
- data/proto_docs/google/shopping/merchant/products/v1/products.rb +175 -0
- data/proto_docs/google/shopping/merchant/products/v1/products_common.rb +1303 -0
- data/proto_docs/google/shopping/type/types.rb +210 -0
- data/proto_docs/google/type/interval.rb +45 -0
- metadata +100 -9
@@ -0,0 +1,127 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2025 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Protobuf
|
22
|
+
# A Timestamp represents a point in time independent of any time zone or local
|
23
|
+
# calendar, encoded as a count of seconds and fractions of seconds at
|
24
|
+
# nanosecond resolution. The count is relative to an epoch at UTC midnight on
|
25
|
+
# January 1, 1970, in the proleptic Gregorian calendar which extends the
|
26
|
+
# Gregorian calendar backwards to year one.
|
27
|
+
#
|
28
|
+
# All minutes are 60 seconds long. Leap seconds are "smeared" so that no leap
|
29
|
+
# second table is needed for interpretation, using a [24-hour linear
|
30
|
+
# smear](https://developers.google.com/time/smear).
|
31
|
+
#
|
32
|
+
# The range is from 0001-01-01T00:00:00Z to 9999-12-31T23:59:59.999999999Z. By
|
33
|
+
# restricting to that range, we ensure that we can convert to and from [RFC
|
34
|
+
# 3339](https://www.ietf.org/rfc/rfc3339.txt) date strings.
|
35
|
+
#
|
36
|
+
# # Examples
|
37
|
+
#
|
38
|
+
# Example 1: Compute Timestamp from POSIX `time()`.
|
39
|
+
#
|
40
|
+
# Timestamp timestamp;
|
41
|
+
# timestamp.set_seconds(time(NULL));
|
42
|
+
# timestamp.set_nanos(0);
|
43
|
+
#
|
44
|
+
# Example 2: Compute Timestamp from POSIX `gettimeofday()`.
|
45
|
+
#
|
46
|
+
# struct timeval tv;
|
47
|
+
# gettimeofday(&tv, NULL);
|
48
|
+
#
|
49
|
+
# Timestamp timestamp;
|
50
|
+
# timestamp.set_seconds(tv.tv_sec);
|
51
|
+
# timestamp.set_nanos(tv.tv_usec * 1000);
|
52
|
+
#
|
53
|
+
# Example 3: Compute Timestamp from Win32 `GetSystemTimeAsFileTime()`.
|
54
|
+
#
|
55
|
+
# FILETIME ft;
|
56
|
+
# GetSystemTimeAsFileTime(&ft);
|
57
|
+
# UINT64 ticks = (((UINT64)ft.dwHighDateTime) << 32) | ft.dwLowDateTime;
|
58
|
+
#
|
59
|
+
# // A Windows tick is 100 nanoseconds. Windows epoch 1601-01-01T00:00:00Z
|
60
|
+
# // is 11644473600 seconds before Unix epoch 1970-01-01T00:00:00Z.
|
61
|
+
# Timestamp timestamp;
|
62
|
+
# timestamp.set_seconds((INT64) ((ticks / 10000000) - 11644473600LL));
|
63
|
+
# timestamp.set_nanos((INT32) ((ticks % 10000000) * 100));
|
64
|
+
#
|
65
|
+
# Example 4: Compute Timestamp from Java `System.currentTimeMillis()`.
|
66
|
+
#
|
67
|
+
# long millis = System.currentTimeMillis();
|
68
|
+
#
|
69
|
+
# Timestamp timestamp = Timestamp.newBuilder().setSeconds(millis / 1000)
|
70
|
+
# .setNanos((int) ((millis % 1000) * 1000000)).build();
|
71
|
+
#
|
72
|
+
# Example 5: Compute Timestamp from Java `Instant.now()`.
|
73
|
+
#
|
74
|
+
# Instant now = Instant.now();
|
75
|
+
#
|
76
|
+
# Timestamp timestamp =
|
77
|
+
# Timestamp.newBuilder().setSeconds(now.getEpochSecond())
|
78
|
+
# .setNanos(now.getNano()).build();
|
79
|
+
#
|
80
|
+
# Example 6: Compute Timestamp from current time in Python.
|
81
|
+
#
|
82
|
+
# timestamp = Timestamp()
|
83
|
+
# timestamp.GetCurrentTime()
|
84
|
+
#
|
85
|
+
# # JSON Mapping
|
86
|
+
#
|
87
|
+
# In JSON format, the Timestamp type is encoded as a string in the
|
88
|
+
# [RFC 3339](https://www.ietf.org/rfc/rfc3339.txt) format. That is, the
|
89
|
+
# format is "\\{year}-\\{month}-\\{day}T\\{hour}:\\{min}:\\{sec}[.\\{frac_sec}]Z"
|
90
|
+
# where \\{year} is always expressed using four digits while \\{month}, \\{day},
|
91
|
+
# \\{hour}, \\{min}, and \\{sec} are zero-padded to two digits each. The fractional
|
92
|
+
# seconds, which can go up to 9 digits (i.e. up to 1 nanosecond resolution),
|
93
|
+
# are optional. The "Z" suffix indicates the timezone ("UTC"); the timezone
|
94
|
+
# is required. A proto3 JSON serializer should always use UTC (as indicated by
|
95
|
+
# "Z") when printing the Timestamp type and a proto3 JSON parser should be
|
96
|
+
# able to accept both UTC and other timezones (as indicated by an offset).
|
97
|
+
#
|
98
|
+
# For example, "2017-01-15T01:30:15.01Z" encodes 15.01 seconds past
|
99
|
+
# 01:30 UTC on January 15, 2017.
|
100
|
+
#
|
101
|
+
# In JavaScript, one can convert a Date object to this format using the
|
102
|
+
# standard
|
103
|
+
# [toISOString()](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/toISOString)
|
104
|
+
# method. In Python, a standard `datetime.datetime` object can be converted
|
105
|
+
# to this format using
|
106
|
+
# [`strftime`](https://docs.python.org/2/library/time.html#time.strftime) with
|
107
|
+
# the time format spec '%Y-%m-%dT%H:%M:%S.%fZ'. Likewise, in Java, one can use
|
108
|
+
# the Joda Time's [`ISODateTimeFormat.dateTime()`](
|
109
|
+
# http://joda-time.sourceforge.net/apidocs/org/joda/time/format/ISODateTimeFormat.html#dateTime()
|
110
|
+
# ) to obtain a formatter capable of generating timestamps in this format.
|
111
|
+
# @!attribute [rw] seconds
|
112
|
+
# @return [::Integer]
|
113
|
+
# Represents seconds of UTC time since Unix epoch
|
114
|
+
# 1970-01-01T00:00:00Z. Must be from 0001-01-01T00:00:00Z to
|
115
|
+
# 9999-12-31T23:59:59Z inclusive.
|
116
|
+
# @!attribute [rw] nanos
|
117
|
+
# @return [::Integer]
|
118
|
+
# Non-negative fractions of a second at nanosecond resolution. Negative
|
119
|
+
# second values with fractions must still have non-negative nanos values
|
120
|
+
# that count forward in time. Must be from 0 to 999,999,999
|
121
|
+
# inclusive.
|
122
|
+
class Timestamp
|
123
|
+
include ::Google::Protobuf::MessageExts
|
124
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
125
|
+
end
|
126
|
+
end
|
127
|
+
end
|
@@ -0,0 +1,221 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2025 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Shopping
|
22
|
+
module Merchant
|
23
|
+
module Products
|
24
|
+
module V1
|
25
|
+
# This resource represents input data you submit for a product, not the
|
26
|
+
# processed product that you see in Merchant Center, in Shopping ads, or
|
27
|
+
# across Google surfaces. Product inputs, rules and supplemental data source
|
28
|
+
# data are combined to create the processed
|
29
|
+
# {::Google::Shopping::Merchant::Products::V1::Product Product}. For more
|
30
|
+
# information, see [Manage products](/merchant/api/guides/products/overview).
|
31
|
+
#
|
32
|
+
# Required product input attributes to pass data validation checks are
|
33
|
+
# primarily defined in the [Products Data
|
34
|
+
# Specification](https://support.google.com/merchants/answer/188494).
|
35
|
+
#
|
36
|
+
# The following attributes are required:
|
37
|
+
# {::Google::Shopping::Merchant::Products::V1::Product#feed_label feedLabel},
|
38
|
+
# {::Google::Shopping::Merchant::Products::V1::Product#content_language contentLanguage}
|
39
|
+
# and {::Google::Shopping::Merchant::Products::V1::Product#offer_id offerId}.
|
40
|
+
#
|
41
|
+
# After inserting, updating, or deleting a product input, it may take several
|
42
|
+
# minutes before the processed product can be retrieved.
|
43
|
+
#
|
44
|
+
# All fields in the product input and its sub-messages match the English name
|
45
|
+
# of their corresponding attribute in the [Products Data
|
46
|
+
# Specification](https://support.google.com/merchants/answer/188494) with
|
47
|
+
# [some exceptions](https://support.google.com/merchants/answer/7052112).
|
48
|
+
# The following reference documentation lists the field names in the
|
49
|
+
# **camelCase** casing style while the Products Data Specification lists the
|
50
|
+
# names in the **snake_case** casing style.
|
51
|
+
# @!attribute [rw] name
|
52
|
+
# @return [::String]
|
53
|
+
# Identifier. The name of the product input.
|
54
|
+
# Format: `accounts/{account}/productInputs/{productinput}`
|
55
|
+
# where the last section `productinput` consists of:
|
56
|
+
# `content_language~feed_label~offer_id`
|
57
|
+
# example for product input name is
|
58
|
+
# `accounts/123/productInputs/en~US~sku123`. A legacy local product input
|
59
|
+
# name would be `accounts/123/productInputs/local~en~US~sku123`.
|
60
|
+
# Note: For calls to the v1beta version, the `productInput` section consists
|
61
|
+
# of: `channel~content_language~feed_label~offer_id`, for example:
|
62
|
+
# `accounts/123/productInputs/online~en~US~sku123`.
|
63
|
+
# @!attribute [r] product
|
64
|
+
# @return [::String]
|
65
|
+
# Output only. The name of the processed product.
|
66
|
+
# Format: `accounts/{account}/products/{product}`
|
67
|
+
# @!attribute [rw] legacy_local
|
68
|
+
# @return [::Boolean]
|
69
|
+
# Immutable. Determines whether the product is **only** targeting
|
70
|
+
# local destinations and whether the product name should be distinguished
|
71
|
+
# with a `local~` prefix. For example,
|
72
|
+
# `accounts/123/productInputs/local~en~US~sku123`. If a product that is not
|
73
|
+
# `legacy_local` is already targeting local destinations,
|
74
|
+
# creating a `legacy_local` product with an otherwise matching name will
|
75
|
+
# fail.
|
76
|
+
# @!attribute [rw] offer_id
|
77
|
+
# @return [::String]
|
78
|
+
# Required. Immutable. Your unique identifier for the product. This is the
|
79
|
+
# same for the product input and processed product. Leading and trailing
|
80
|
+
# whitespaces are stripped and multiple whitespaces are replaced by a single
|
81
|
+
# whitespace upon submission. See the [products data
|
82
|
+
# specification](https://support.google.com/merchants/answer/188494#id) for
|
83
|
+
# details.
|
84
|
+
# @!attribute [rw] content_language
|
85
|
+
# @return [::String]
|
86
|
+
# Required. Immutable. The two-letter [ISO
|
87
|
+
# 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the
|
88
|
+
# product.
|
89
|
+
# @!attribute [rw] feed_label
|
90
|
+
# @return [::String]
|
91
|
+
# Required. Immutable. The feed label that lets you categorize and identify
|
92
|
+
# your products. The maximum allowed characters are 20, and the supported
|
93
|
+
# characters are `A-Z`, `0-9`, hyphen, and underscore. The feed label must
|
94
|
+
# not include any spaces. For more information, see [Using feed
|
95
|
+
# labels](//support.google.com/merchants/answer/14994087).
|
96
|
+
# @!attribute [rw] version_number
|
97
|
+
# @return [::Integer]
|
98
|
+
# Optional. Immutable. Represents the existing version (freshness) of the
|
99
|
+
# product, which can be used to preserve the right order when multiple
|
100
|
+
# updates are done at the same time.
|
101
|
+
#
|
102
|
+
# If set, the insertion is prevented when version number is lower than
|
103
|
+
# the current version number of the existing product. Re-insertion (for
|
104
|
+
# example, product refresh after 30 days) can be performed with the current
|
105
|
+
# `version_number`.
|
106
|
+
#
|
107
|
+
# Only supported for insertions into primary data sources.
|
108
|
+
# Do not set this field for updates.
|
109
|
+
# Do not set this field for insertions into supplemental data sources.
|
110
|
+
#
|
111
|
+
# If the operation is prevented, the aborted exception will be
|
112
|
+
# thrown.
|
113
|
+
# @!attribute [rw] product_attributes
|
114
|
+
# @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes]
|
115
|
+
# Optional. A list of strongly-typed product attributes.
|
116
|
+
# @!attribute [rw] custom_attributes
|
117
|
+
# @return [::Array<::Google::Shopping::Type::CustomAttribute>]
|
118
|
+
# Optional. A list of custom (merchant-provided) attributes. It can also be
|
119
|
+
# used for submitting any attribute of the data specification in its generic
|
120
|
+
# form (for example,
|
121
|
+
# `{ "name": "size type", "value": "regular" }`).
|
122
|
+
# This is useful for submitting attributes not explicitly exposed by the
|
123
|
+
# API.
|
124
|
+
# Maximum allowed number of characters for each
|
125
|
+
# custom attribute is 10240 (represents sum of characters for name and
|
126
|
+
# value). Maximum 2500 custom attributes can be set per product, with total
|
127
|
+
# size of 102.4kB. Underscores in custom attribute names are replaced by
|
128
|
+
# spaces upon insertion.
|
129
|
+
class ProductInput
|
130
|
+
include ::Google::Protobuf::MessageExts
|
131
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
132
|
+
end
|
133
|
+
|
134
|
+
# Request message for the InsertProductInput method.
|
135
|
+
# @!attribute [rw] parent
|
136
|
+
# @return [::String]
|
137
|
+
# Required. The account where this product will be inserted.
|
138
|
+
# Format: `accounts/{account}`
|
139
|
+
# @!attribute [rw] product_input
|
140
|
+
# @return [::Google::Shopping::Merchant::Products::V1::ProductInput]
|
141
|
+
# Required. The product input to insert.
|
142
|
+
# @!attribute [rw] data_source
|
143
|
+
# @return [::String]
|
144
|
+
# Required. The primary or supplemental product data source name. If the
|
145
|
+
# product already exists and data source provided is different, then the
|
146
|
+
# product will be moved to a new data source. For more information, see
|
147
|
+
# [Overview of Data sources
|
148
|
+
# sub-API](/merchant/api/guides/data-sources/overview).
|
149
|
+
#
|
150
|
+
# Only API data sources are supported.
|
151
|
+
#
|
152
|
+
# Format: `accounts/{account}/dataSources/{datasource}`. For example,
|
153
|
+
# `accounts/123456/dataSources/104628`.
|
154
|
+
class InsertProductInputRequest
|
155
|
+
include ::Google::Protobuf::MessageExts
|
156
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
157
|
+
end
|
158
|
+
|
159
|
+
# Request message for the UpdateProductInput method.
|
160
|
+
# The product (primary input) must exist for the update to succeed.
|
161
|
+
# If the update is for a primary product input, the existing primary product
|
162
|
+
# input must be from the same data source.
|
163
|
+
# @!attribute [rw] product_input
|
164
|
+
# @return [::Google::Shopping::Merchant::Products::V1::ProductInput]
|
165
|
+
# Required. The product input resource to update. Information you submit will
|
166
|
+
# be applied to the processed product as well.
|
167
|
+
# @!attribute [rw] update_mask
|
168
|
+
# @return [::Google::Protobuf::FieldMask]
|
169
|
+
# Optional. The list of product attributes to be updated.
|
170
|
+
#
|
171
|
+
# If the update mask is omitted, then it is treated as implied field mask
|
172
|
+
# equivalent to all fields that are populated (have a non-empty value).
|
173
|
+
#
|
174
|
+
# Attributes specified in the update mask without a value specified in the
|
175
|
+
# body will be deleted from the product.
|
176
|
+
#
|
177
|
+
# Update mask can only be specified for top level fields in
|
178
|
+
# attributes and custom attributes.
|
179
|
+
#
|
180
|
+
# To specify the update mask for custom attributes you need to add the
|
181
|
+
# `custom_attribute.` prefix.
|
182
|
+
#
|
183
|
+
# Providing special "*" value for full product replacement is not supported.
|
184
|
+
# @!attribute [rw] data_source
|
185
|
+
# @return [::String]
|
186
|
+
# Required. The primary or supplemental product data source where
|
187
|
+
# `data_source` name identifies the product input to be updated.
|
188
|
+
#
|
189
|
+
# Only API data sources are supported.
|
190
|
+
#
|
191
|
+
# Format: `accounts/{account}/dataSources/{datasource}`. For example,
|
192
|
+
# `accounts/123456/dataSources/104628`.
|
193
|
+
class UpdateProductInputRequest
|
194
|
+
include ::Google::Protobuf::MessageExts
|
195
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
196
|
+
end
|
197
|
+
|
198
|
+
# Request message for the DeleteProductInput method.
|
199
|
+
# @!attribute [rw] name
|
200
|
+
# @return [::String]
|
201
|
+
# Required. The name of the product input resource to delete.
|
202
|
+
# Format: `accounts/{account}/productInputs/{product}`
|
203
|
+
# where the last section `product` consists of:
|
204
|
+
# `content_language~feed_label~offer_id`
|
205
|
+
# example for product name is
|
206
|
+
# `accounts/123/productInputs/en~US~sku123`.
|
207
|
+
# @!attribute [rw] data_source
|
208
|
+
# @return [::String]
|
209
|
+
# Required. The primary or supplemental data source from which the product
|
210
|
+
# input should be deleted. Format:
|
211
|
+
# `accounts/{account}/dataSources/{datasource}`. For example,
|
212
|
+
# `accounts/123456/dataSources/104628`.
|
213
|
+
class DeleteProductInputRequest
|
214
|
+
include ::Google::Protobuf::MessageExts
|
215
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
216
|
+
end
|
217
|
+
end
|
218
|
+
end
|
219
|
+
end
|
220
|
+
end
|
221
|
+
end
|
@@ -0,0 +1,175 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
# Copyright 2025 Google LLC
|
4
|
+
#
|
5
|
+
# Licensed under the Apache License, Version 2.0 (the "License");
|
6
|
+
# you may not use this file except in compliance with the License.
|
7
|
+
# You may obtain a copy of the License at
|
8
|
+
#
|
9
|
+
# https://www.apache.org/licenses/LICENSE-2.0
|
10
|
+
#
|
11
|
+
# Unless required by applicable law or agreed to in writing, software
|
12
|
+
# distributed under the License is distributed on an "AS IS" BASIS,
|
13
|
+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
14
|
+
# See the License for the specific language governing permissions and
|
15
|
+
# limitations under the License.
|
16
|
+
|
17
|
+
# Auto-generated by gapic-generator-ruby. DO NOT EDIT!
|
18
|
+
|
19
|
+
|
20
|
+
module Google
|
21
|
+
module Shopping
|
22
|
+
module Merchant
|
23
|
+
module Products
|
24
|
+
module V1
|
25
|
+
# The processed product, built from multiple [product
|
26
|
+
# inputs][google.shopping.merchant.products.v1main.ProductInput]
|
27
|
+
# after applying rules and supplemental data sources. This processed product
|
28
|
+
# matches what is shown in your Merchant Center account. Each product is built
|
29
|
+
# from exactly one primary data source product input, and multiple supplemental
|
30
|
+
# data source inputs. After inserting, updating, or deleting a product input,
|
31
|
+
# it may take several minutes before the updated processed product can be
|
32
|
+
# retrieved.
|
33
|
+
#
|
34
|
+
# All fields in the processed product and its sub-messages match the name of
|
35
|
+
# their corresponding attribute in the [Product data
|
36
|
+
# specification](https://support.google.com/merchants/answer/7052112) with some
|
37
|
+
# exceptions.
|
38
|
+
# @!attribute [rw] name
|
39
|
+
# @return [::String]
|
40
|
+
# The name of the product.
|
41
|
+
# Format:
|
42
|
+
# `accounts/{account}/products/{product}` where the last
|
43
|
+
# section `product` consists of:
|
44
|
+
# `content_language~feed_label~offer_id`
|
45
|
+
# example for product name is `accounts/123/products/en~US~sku123`. A legacy
|
46
|
+
# local product name would be `accounts/123/products/local~en~US~sku123`.
|
47
|
+
# Note: For calls to the v1beta version, the `product` section consists
|
48
|
+
# of: `channel~content_language~feed_label~offer_id`, for example:
|
49
|
+
# `accounts/123/products/online~en~US~sku123`.
|
50
|
+
# @!attribute [r] legacy_local
|
51
|
+
# @return [::Boolean]
|
52
|
+
# Output only. Determines whether the product is **only** targeting
|
53
|
+
# local destinations and whether the product name should be distinguished
|
54
|
+
# with a `local~` prefix. For example,
|
55
|
+
# `accounts/123/products/local~en~US~sku123`.
|
56
|
+
# @!attribute [r] offer_id
|
57
|
+
# @return [::String]
|
58
|
+
# Output only. Your unique identifier for the product. This is the same for
|
59
|
+
# the product input and processed product. Leading and trailing whitespaces
|
60
|
+
# are stripped and multiple whitespaces are replaced by a single whitespace
|
61
|
+
# upon submission. See the [product data
|
62
|
+
# specification](https://support.google.com/merchants/answer/188494#id) for
|
63
|
+
# details.
|
64
|
+
# @!attribute [r] content_language
|
65
|
+
# @return [::String]
|
66
|
+
# Output only. The two-letter [ISO
|
67
|
+
# 639-1](http://en.wikipedia.org/wiki/ISO_639-1) language code for the
|
68
|
+
# product.
|
69
|
+
# @!attribute [r] feed_label
|
70
|
+
# @return [::String]
|
71
|
+
# Output only. The feed label lets you categorize and identify your products.
|
72
|
+
# The maximum allowed characters is 20 and the supported characters are`A-Z`,
|
73
|
+
# `0-9`, hyphen and underscore. The feed label must not include any spaces.
|
74
|
+
# For more information, see [Using feed
|
75
|
+
# labels](//support.google.com/merchants/answer/14994087)
|
76
|
+
# @!attribute [r] data_source
|
77
|
+
# @return [::String]
|
78
|
+
# Output only. The primary data source of the product.
|
79
|
+
# @!attribute [r] version_number
|
80
|
+
# @return [::Integer]
|
81
|
+
# Output only. Represents the existing version (freshness) of the product,
|
82
|
+
# which can be used to preserve the right order when multiple updates are
|
83
|
+
# done at the same time.
|
84
|
+
#
|
85
|
+
# If set, the insertion is prevented when version number is lower than
|
86
|
+
# the current version number of the existing product. Re-insertion (for
|
87
|
+
# example, product refresh after 30 days) can be performed with the current
|
88
|
+
# `version_number`.
|
89
|
+
#
|
90
|
+
# Only supported for insertions into primary data sources.
|
91
|
+
#
|
92
|
+
# If the operation is prevented, the aborted exception will be
|
93
|
+
# thrown.
|
94
|
+
# @!attribute [r] product_attributes
|
95
|
+
# @return [::Google::Shopping::Merchant::Products::V1::ProductAttributes]
|
96
|
+
# Output only. A list of strongly-typed product attributes.
|
97
|
+
# @!attribute [r] custom_attributes
|
98
|
+
# @return [::Array<::Google::Shopping::Type::CustomAttribute>]
|
99
|
+
# Output only. A list of custom (merchant-provided) attributes. It can also
|
100
|
+
# be used to submit any attribute of the data specification in its generic
|
101
|
+
# form (for example,
|
102
|
+
# `{ "name": "size type", "value": "regular" }`).
|
103
|
+
# This is useful for submitting attributes not explicitly exposed by the
|
104
|
+
# API, such as additional attributes used for Buy on Google.
|
105
|
+
# @!attribute [r] product_status
|
106
|
+
# @return [::Google::Shopping::Merchant::Products::V1::ProductStatus]
|
107
|
+
# Output only. The status of a product, data validation issues, that is,
|
108
|
+
# information about a product computed asynchronously.
|
109
|
+
# @!attribute [r] automated_discounts
|
110
|
+
# @return [::Google::Shopping::Merchant::Products::V1::AutomatedDiscounts]
|
111
|
+
# Output only. The automated discounts information for the product.
|
112
|
+
class Product
|
113
|
+
include ::Google::Protobuf::MessageExts
|
114
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
115
|
+
end
|
116
|
+
|
117
|
+
# Request message for the GetProduct method.
|
118
|
+
# @!attribute [rw] name
|
119
|
+
# @return [::String]
|
120
|
+
# Required. The name of the product to retrieve.
|
121
|
+
# Format:
|
122
|
+
# `accounts/{account}/products/{product}` where the last
|
123
|
+
# section `product` consists of:
|
124
|
+
# `content_language~feed_label~offer_id`
|
125
|
+
# example for product name is `accounts/123/products/en~US~sku123`. A legacy
|
126
|
+
# local product name would be `accounts/123/products/local~en~US~sku123`.
|
127
|
+
# Note: For calls to the v1beta version, the `product` section consists
|
128
|
+
# of: `channel~content_language~feed_label~offer_id`, for example:
|
129
|
+
# `accounts/123/products/online~en~US~sku123`.
|
130
|
+
class GetProductRequest
|
131
|
+
include ::Google::Protobuf::MessageExts
|
132
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
133
|
+
end
|
134
|
+
|
135
|
+
# Request message for the ListProducts method.
|
136
|
+
# @!attribute [rw] parent
|
137
|
+
# @return [::String]
|
138
|
+
# Required. The account to list processed products for.
|
139
|
+
# Format: `accounts/{account}`
|
140
|
+
# @!attribute [rw] page_size
|
141
|
+
# @return [::Integer]
|
142
|
+
# The maximum number of products to return. The service may return fewer than
|
143
|
+
# this value.
|
144
|
+
# The maximum value is 1000; values above 1000 will be coerced to 1000.
|
145
|
+
# If unspecified, the default page size of 25 products will be returned.
|
146
|
+
# @!attribute [rw] page_token
|
147
|
+
# @return [::String]
|
148
|
+
# A page token, received from a previous `ListProducts` call.
|
149
|
+
# Provide this to retrieve the subsequent page.
|
150
|
+
#
|
151
|
+
# When paginating, all other parameters provided to `ListProducts` must
|
152
|
+
# match the call that provided the page token.
|
153
|
+
class ListProductsRequest
|
154
|
+
include ::Google::Protobuf::MessageExts
|
155
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
156
|
+
end
|
157
|
+
|
158
|
+
# Response message for the ListProducts method.
|
159
|
+
# @!attribute [rw] products
|
160
|
+
# @return [::Array<::Google::Shopping::Merchant::Products::V1::Product>]
|
161
|
+
# The processed products from the specified account. These are your processed
|
162
|
+
# products after applying rules and supplemental data sources.
|
163
|
+
# @!attribute [rw] next_page_token
|
164
|
+
# @return [::String]
|
165
|
+
# A token, which can be sent as `page_token` to retrieve the next page.
|
166
|
+
# If this field is omitted, there are no subsequent pages.
|
167
|
+
class ListProductsResponse
|
168
|
+
include ::Google::Protobuf::MessageExts
|
169
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
170
|
+
end
|
171
|
+
end
|
172
|
+
end
|
173
|
+
end
|
174
|
+
end
|
175
|
+
end
|