google-shopping-merchant-products-v1beta 0.1.2 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +32 -21
- data/lib/google/shopping/merchant/products/v1beta/product_inputs_service/client.rb +31 -3
- data/lib/google/shopping/merchant/products/v1beta/product_inputs_service/rest/client.rb +31 -3
- data/lib/google/shopping/merchant/products/v1beta/product_inputs_service/rest/service_stub.rb +30 -14
- data/lib/google/shopping/merchant/products/v1beta/products_common_pb.rb +1 -1
- data/lib/google/shopping/merchant/products/v1beta/products_service/client.rb +33 -4
- data/lib/google/shopping/merchant/products/v1beta/products_service/rest/client.rb +33 -4
- data/lib/google/shopping/merchant/products/v1beta/products_service/rest/service_stub.rb +30 -14
- data/lib/google/shopping/merchant/products/v1beta/version.rb +1 -1
- data/proto_docs/google/api/client.rb +39 -0
- data/proto_docs/google/shopping/merchant/products/v1beta/productinputs.rb +12 -4
- data/proto_docs/google/shopping/merchant/products/v1beta/products.rb +13 -6
- data/proto_docs/google/shopping/merchant/products/v1beta/products_common.rb +29 -18
- metadata +20 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2565eff34cfbdea88ebbdf4f89bb4ee766953f7f279a02b11357bde4a216ee6f
|
4
|
+
data.tar.gz: 5657a011dae143c5c5dae980b57f86613e25cffaca9040e125c96574e9aeefe2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3e47f0f74120f0fa4a6d80fe39605ed91a3004cb533336bd47b03f7d9a22551a81e9ca2ee572a9e1f4a6d756c15e4498c15c1d846ce30d4230757159089ddc09
|
7
|
+
data.tar.gz: 23361be9e907decbd591433ee318a17618c78c1c49c489a57f5a86693b028dc0f1bdc896212505c200d32fb91a8e7b42693bf9ff85b1bfa9299fe7365ae45702
|
data/README.md
CHANGED
@@ -1,7 +1,8 @@
|
|
1
1
|
# Ruby Client for the Merchant V1BETA API
|
2
2
|
|
3
|
-
Programmatically manage your Merchant Center
|
3
|
+
Programmatically manage your Merchant Center Accounts.
|
4
4
|
|
5
|
+
Merchant API consists of multiple Sub-APIs. Accounts Sub-API: Enables you to programmatically manage your accounts. Conversions Sub-API: Enables you to programmatically manage your conversion sources for a merchant account. Datasources Sub-API: Enables you to programmatically manage your datasources. Inventories Sub-API: This bundle enables you to programmatically manage your local and regional inventories. Local Feeds Partnerships Sub-API: This bundle enables LFP partners to submit local inventories for a merchant. Notifications Sub-API: This bundle enables you to programmatically manage your notification subscriptions. Products Sub-API: This bundle enables you to programmatically manage your products. Promotions Sub-API: This bundle enables you to programmatically manage your promotions for products. Quota Sub-API: This bundle enables you to list your quotas for all APIs you are using. Reports Sub-API: This bundle enables you to programmatically retrieve reports and insights about products, their performance and their competitive environment.
|
5
6
|
|
6
7
|
https://github.com/googleapis/google-cloud-ruby
|
7
8
|
|
@@ -42,33 +43,43 @@ for class and method documentation.
|
|
42
43
|
See also the [Product Documentation](https://developers.google.com/merchant/api)
|
43
44
|
for general usage information.
|
44
45
|
|
45
|
-
##
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
46
|
+
## Debug Logging
|
47
|
+
|
48
|
+
This library comes with opt-in Debug Logging that can help you troubleshoot
|
49
|
+
your application's integration with the API. When logging is activated, key
|
50
|
+
events such as requests and responses, along with data payloads and metadata
|
51
|
+
such as headers and client configuration, are logged to the standard error
|
52
|
+
stream.
|
53
|
+
|
54
|
+
**WARNING:** Client Library Debug Logging includes your data payloads in
|
55
|
+
plaintext, which could include sensitive data such as PII for yourself or your
|
56
|
+
customers, private keys, or other security data that could be compromising if
|
57
|
+
leaked. Always practice good data hygiene with your application logs, and follow
|
58
|
+
the principle of least access. Google also recommends that Client Library Debug
|
59
|
+
Logging be enabled only temporarily during active debugging, and not used
|
60
|
+
permanently in production.
|
61
|
+
|
62
|
+
To enable logging, set the environment variable `GOOGLE_SDK_RUBY_LOGGING_GEMS`
|
63
|
+
to the value `all`. Alternatively, you can set the value to a comma-delimited
|
64
|
+
list of client library gem names. This will select the default logging behavior,
|
65
|
+
which writes logs to the standard error stream. On a local workstation, this may
|
66
|
+
result in logs appearing on the console. When running on a Google Cloud hosting
|
67
|
+
service such as [Google Cloud Run](https://cloud.google.com/run), this generally
|
68
|
+
results in logs appearing alongside your application logs in the
|
69
|
+
[Google Cloud Logging](https://cloud.google.com/logging/) service.
|
70
|
+
|
71
|
+
You can customize logging by modifying the `logger` configuration when
|
72
|
+
constructing a client object. For example:
|
54
73
|
|
55
74
|
```ruby
|
75
|
+
require "google/shopping/merchant/products/v1beta"
|
56
76
|
require "logger"
|
57
77
|
|
58
|
-
|
59
|
-
|
60
|
-
def logger
|
61
|
-
LOGGER
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
# Define a gRPC module-level logger method before grpc/logconfig.rb loads.
|
66
|
-
module GRPC
|
67
|
-
extend MyLogger
|
78
|
+
client = ::Google::Shopping::Merchant::Products::V1beta::ProductInputsService::Client.new do |config|
|
79
|
+
config.logger = Logger.new "my-app.log"
|
68
80
|
end
|
69
81
|
```
|
70
82
|
|
71
|
-
|
72
83
|
## Google Cloud Samples
|
73
84
|
|
74
85
|
To browse ready to use code samples check [Google Cloud Samples](https://cloud.google.com/docs/samples).
|
@@ -164,8 +164,28 @@ module Google
|
|
164
164
|
universe_domain: @config.universe_domain,
|
165
165
|
channel_args: @config.channel_args,
|
166
166
|
interceptors: @config.interceptors,
|
167
|
-
channel_pool_config: @config.channel_pool
|
167
|
+
channel_pool_config: @config.channel_pool,
|
168
|
+
logger: @config.logger
|
168
169
|
)
|
170
|
+
|
171
|
+
@product_inputs_service_stub.stub_logger&.info do |entry|
|
172
|
+
entry.set_system_name
|
173
|
+
entry.set_service
|
174
|
+
entry.message = "Created client for #{entry.service}"
|
175
|
+
entry.set_credentials_fields credentials
|
176
|
+
entry.set "customEndpoint", @config.endpoint if @config.endpoint
|
177
|
+
entry.set "defaultTimeout", @config.timeout if @config.timeout
|
178
|
+
entry.set "quotaProject", @quota_project_id if @quota_project_id
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
182
|
+
##
|
183
|
+
# The logger used for request/response debug logging.
|
184
|
+
#
|
185
|
+
# @return [Logger]
|
186
|
+
#
|
187
|
+
def logger
|
188
|
+
@product_inputs_service_stub.logger
|
169
189
|
end
|
170
190
|
|
171
191
|
# Service calls
|
@@ -263,7 +283,6 @@ module Google
|
|
263
283
|
|
264
284
|
@product_inputs_service_stub.call_rpc :insert_product_input, request, options: options do |response, operation|
|
265
285
|
yield response, operation if block_given?
|
266
|
-
return response
|
267
286
|
end
|
268
287
|
rescue ::GRPC::BadStatus => e
|
269
288
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -293,6 +312,10 @@ module Google
|
|
293
312
|
# @param name [::String]
|
294
313
|
# Required. The name of the product input resource to delete.
|
295
314
|
# Format: accounts/\\{account}/productInputs/\\{product}
|
315
|
+
# where the last section `product` consists of 4 parts:
|
316
|
+
# channel~content_language~feed_label~offer_id
|
317
|
+
# example for product name is
|
318
|
+
# "accounts/123/productInputs/online~en~US~sku123"
|
296
319
|
# @param data_source [::String]
|
297
320
|
# Required. The primary or supplemental data source from which the product
|
298
321
|
# input should be deleted. Format:
|
@@ -357,7 +380,6 @@ module Google
|
|
357
380
|
|
358
381
|
@product_inputs_service_stub.call_rpc :delete_product_input, request, options: options do |response, operation|
|
359
382
|
yield response, operation if block_given?
|
360
|
-
return response
|
361
383
|
end
|
362
384
|
rescue ::GRPC::BadStatus => e
|
363
385
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -446,6 +468,11 @@ module Google
|
|
446
468
|
# default endpoint URL. The default value of nil uses the environment
|
447
469
|
# universe (usually the default "googleapis.com" universe).
|
448
470
|
# @return [::String,nil]
|
471
|
+
# @!attribute [rw] logger
|
472
|
+
# A custom logger to use for request/response debug logging, or the value
|
473
|
+
# `:default` (the default) to construct a default logger, or `nil` to
|
474
|
+
# explicitly disable logging.
|
475
|
+
# @return [::Logger,:default,nil]
|
449
476
|
#
|
450
477
|
class Configuration
|
451
478
|
extend ::Gapic::Config
|
@@ -470,6 +497,7 @@ module Google
|
|
470
497
|
config_attr :retry_policy, nil, ::Hash, ::Proc, nil
|
471
498
|
config_attr :quota_project, nil, ::String, nil
|
472
499
|
config_attr :universe_domain, nil, ::String, nil
|
500
|
+
config_attr :logger, :default, ::Logger, nil, :default
|
473
501
|
|
474
502
|
# @private
|
475
503
|
def initialize parent_config = nil
|
@@ -157,8 +157,28 @@ module Google
|
|
157
157
|
endpoint: @config.endpoint,
|
158
158
|
endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
|
159
159
|
universe_domain: @config.universe_domain,
|
160
|
-
credentials: credentials
|
160
|
+
credentials: credentials,
|
161
|
+
logger: @config.logger
|
161
162
|
)
|
163
|
+
|
164
|
+
@product_inputs_service_stub.logger(stub: true)&.info do |entry|
|
165
|
+
entry.set_system_name
|
166
|
+
entry.set_service
|
167
|
+
entry.message = "Created client for #{entry.service}"
|
168
|
+
entry.set_credentials_fields credentials
|
169
|
+
entry.set "customEndpoint", @config.endpoint if @config.endpoint
|
170
|
+
entry.set "defaultTimeout", @config.timeout if @config.timeout
|
171
|
+
entry.set "quotaProject", @quota_project_id if @quota_project_id
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
##
|
176
|
+
# The logger used for request/response debug logging.
|
177
|
+
#
|
178
|
+
# @return [Logger]
|
179
|
+
#
|
180
|
+
def logger
|
181
|
+
@product_inputs_service_stub.logger
|
162
182
|
end
|
163
183
|
|
164
184
|
# Service calls
|
@@ -249,7 +269,6 @@ module Google
|
|
249
269
|
|
250
270
|
@product_inputs_service_stub.insert_product_input request, options do |result, operation|
|
251
271
|
yield result, operation if block_given?
|
252
|
-
return result
|
253
272
|
end
|
254
273
|
rescue ::Gapic::Rest::Error => e
|
255
274
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -279,6 +298,10 @@ module Google
|
|
279
298
|
# @param name [::String]
|
280
299
|
# Required. The name of the product input resource to delete.
|
281
300
|
# Format: accounts/\\{account}/productInputs/\\{product}
|
301
|
+
# where the last section `product` consists of 4 parts:
|
302
|
+
# channel~content_language~feed_label~offer_id
|
303
|
+
# example for product name is
|
304
|
+
# "accounts/123/productInputs/online~en~US~sku123"
|
282
305
|
# @param data_source [::String]
|
283
306
|
# Required. The primary or supplemental data source from which the product
|
284
307
|
# input should be deleted. Format:
|
@@ -336,7 +359,6 @@ module Google
|
|
336
359
|
|
337
360
|
@product_inputs_service_stub.delete_product_input request, options do |result, operation|
|
338
361
|
yield result, operation if block_given?
|
339
|
-
return result
|
340
362
|
end
|
341
363
|
rescue ::Gapic::Rest::Error => e
|
342
364
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -416,6 +438,11 @@ module Google
|
|
416
438
|
# default endpoint URL. The default value of nil uses the environment
|
417
439
|
# universe (usually the default "googleapis.com" universe).
|
418
440
|
# @return [::String,nil]
|
441
|
+
# @!attribute [rw] logger
|
442
|
+
# A custom logger to use for request/response debug logging, or the value
|
443
|
+
# `:default` (the default) to construct a default logger, or `nil` to
|
444
|
+
# explicitly disable logging.
|
445
|
+
# @return [::Logger,:default,nil]
|
419
446
|
#
|
420
447
|
class Configuration
|
421
448
|
extend ::Gapic::Config
|
@@ -437,6 +464,7 @@ module Google
|
|
437
464
|
config_attr :retry_policy, nil, ::Hash, ::Proc, nil
|
438
465
|
config_attr :quota_project, nil, ::String, nil
|
439
466
|
config_attr :universe_domain, nil, ::String, nil
|
467
|
+
config_attr :logger, :default, ::Logger, nil, :default
|
440
468
|
|
441
469
|
# @private
|
442
470
|
def initialize parent_config = nil
|
data/lib/google/shopping/merchant/products/v1beta/product_inputs_service/rest/service_stub.rb
CHANGED
@@ -31,7 +31,8 @@ module Google
|
|
31
31
|
# including transcoding, making the REST call, and deserialing the response.
|
32
32
|
#
|
33
33
|
class ServiceStub
|
34
|
-
|
34
|
+
# @private
|
35
|
+
def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
|
35
36
|
# These require statements are intentionally placed here to initialize
|
36
37
|
# the REST modules only when it's required.
|
37
38
|
require "gapic/rest"
|
@@ -41,7 +42,9 @@ module Google
|
|
41
42
|
universe_domain: universe_domain,
|
42
43
|
credentials: credentials,
|
43
44
|
numeric_enums: true,
|
44
|
-
|
45
|
+
service_name: self.class,
|
46
|
+
raise_faraday_errors: false,
|
47
|
+
logger: logger
|
45
48
|
end
|
46
49
|
|
47
50
|
##
|
@@ -62,6 +65,15 @@ module Google
|
|
62
65
|
@client_stub.endpoint
|
63
66
|
end
|
64
67
|
|
68
|
+
##
|
69
|
+
# The logger used for request/response debug logging.
|
70
|
+
#
|
71
|
+
# @return [Logger]
|
72
|
+
#
|
73
|
+
def logger stub: false
|
74
|
+
stub ? @client_stub.stub_logger : @client_stub.logger
|
75
|
+
end
|
76
|
+
|
65
77
|
##
|
66
78
|
# Baseline implementation for the insert_product_input REST call
|
67
79
|
#
|
@@ -88,16 +100,18 @@ module Google
|
|
88
100
|
|
89
101
|
response = @client_stub.make_http_request(
|
90
102
|
verb,
|
91
|
-
uri:
|
92
|
-
body:
|
93
|
-
params:
|
103
|
+
uri: uri,
|
104
|
+
body: body || "",
|
105
|
+
params: query_string_params,
|
106
|
+
method_name: "insert_product_input",
|
94
107
|
options: options
|
95
108
|
)
|
96
109
|
operation = ::Gapic::Rest::TransportOperation.new response
|
97
110
|
result = ::Google::Shopping::Merchant::Products::V1beta::ProductInput.decode_json response.body, ignore_unknown_fields: true
|
98
|
-
|
99
|
-
|
100
|
-
|
111
|
+
catch :response do
|
112
|
+
yield result, operation if block_given?
|
113
|
+
result
|
114
|
+
end
|
101
115
|
end
|
102
116
|
|
103
117
|
##
|
@@ -126,16 +140,18 @@ module Google
|
|
126
140
|
|
127
141
|
response = @client_stub.make_http_request(
|
128
142
|
verb,
|
129
|
-
uri:
|
130
|
-
body:
|
131
|
-
params:
|
143
|
+
uri: uri,
|
144
|
+
body: body || "",
|
145
|
+
params: query_string_params,
|
146
|
+
method_name: "delete_product_input",
|
132
147
|
options: options
|
133
148
|
)
|
134
149
|
operation = ::Gapic::Rest::TransportOperation.new response
|
135
150
|
result = ::Google::Protobuf::Empty.decode_json response.body, ignore_unknown_fields: true
|
136
|
-
|
137
|
-
|
138
|
-
|
151
|
+
catch :response do
|
152
|
+
yield result, operation if block_given?
|
153
|
+
result
|
154
|
+
end
|
139
155
|
end
|
140
156
|
|
141
157
|
##
|
@@ -10,7 +10,7 @@ require 'google/shopping/type/types_pb'
|
|
10
10
|
require 'google/type/interval_pb'
|
11
11
|
|
12
12
|
|
13
|
-
descriptor_data = "\n>google/shopping/merchant/products/v1beta/products_common.proto\x12(google.shopping.merchant.products.v1beta\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a google/shopping/type/types.proto\x1a\x1agoogle/type/interval.proto\"\xa9\'\n\nAttributes\x12\x1e\n\x11identifier_exists\x18\x04 \x01(\x08H\x00\x88\x01\x01\x12\x16\n\tis_bundle\x18\x05 \x01(\x08H\x01\x88\x01\x01\x12\x12\n\x05title\x18\x06 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x03\x88\x01\x01\x12\x11\n\x04link\x18\x08 \x01(\tH\x04\x88\x01\x01\x12\x18\n\x0bmobile_link\x18\t \x01(\tH\x05\x88\x01\x01\x12\x1b\n\x0e\x63\x61nonical_link\x18\n \x01(\tH\x06\x88\x01\x01\x12\x17\n\nimage_link\x18\x0b \x01(\tH\x07\x88\x01\x01\x12\x1e\n\x16\x61\x64\x64itional_image_links\x18\x0c \x03(\t\x12\x33\n\x0f\x65xpiration_date\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x0f\x64isclosure_date\x18O \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\x05\x61\x64ult\x18\x11 \x01(\x08H\x08\x88\x01\x01\x12\x16\n\tage_group\x18\x12 \x01(\tH\t\x88\x01\x01\x12\x19\n\x0c\x61vailability\x18\x13 \x01(\tH\n\x88\x01\x01\x12\x35\n\x11\x61vailability_date\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\x05\x62rand\x18\x15 \x01(\tH\x0b\x88\x01\x01\x12\x12\n\x05\x63olor\x18\x16 \x01(\tH\x0c\x88\x01\x01\x12\x16\n\tcondition\x18\x17 \x01(\tH\r\x88\x01\x01\x12\x13\n\x06gender\x18\x18 \x01(\tH\x0e\x88\x01\x01\x12$\n\x17google_product_category\x18\x19 \x01(\tH\x0f\x88\x01\x01\x12\x11\n\x04gtin\x18\x1a \x01(\tH\x10\x88\x01\x01\x12\x1a\n\ritem_group_id\x18\x1b \x01(\tH\x11\x88\x01\x01\x12\x15\n\x08material\x18\x1c \x01(\tH\x12\x88\x01\x01\x12\x10\n\x03mpn\x18\x1d \x01(\tH\x13\x88\x01\x01\x12\x14\n\x07pattern\x18\x1e \x01(\tH\x14\x88\x01\x01\x12*\n\x05price\x18\x1f \x01(\x0b\x32\x1b.google.shopping.type.Price\x12J\n\x0binstallment\x18 \x01(\x0b\x32\x35.google.shopping.merchant.products.v1beta.Installment\x12U\n\x11subscription_cost\x18! \x01(\x0b\x32:.google.shopping.merchant.products.v1beta.SubscriptionCost\x12O\n\x0eloyalty_points\x18\" \x01(\x0b\x32\x37.google.shopping.merchant.products.v1beta.LoyaltyPoints\x12S\n\x10loyalty_programs\x18\x88\x01 \x03(\x0b\x32\x38.google.shopping.merchant.products.v1beta.LoyaltyProgram\x12\x15\n\rproduct_types\x18# \x03(\t\x12/\n\nsale_price\x18$ \x01(\x0b\x32\x1b.google.shopping.type.Price\x12\x38\n\x19sale_price_effective_date\x18% \x01(\x0b\x32\x15.google.type.Interval\x12$\n\x17sell_on_google_quantity\x18& \x01(\x03H\x15\x88\x01\x01\x12R\n\x0eproduct_height\x18w \x01(\x0b\x32:.google.shopping.merchant.products.v1beta.ProductDimension\x12R\n\x0eproduct_length\x18x \x01(\x0b\x32:.google.shopping.merchant.products.v1beta.ProductDimension\x12Q\n\rproduct_width\x18y \x01(\x0b\x32:.google.shopping.merchant.products.v1beta.ProductDimension\x12O\n\x0eproduct_weight\x18z \x01(\x0b\x32\x37.google.shopping.merchant.products.v1beta.ProductWeight\x12\x44\n\x08shipping\x18\' \x03(\x0b\x32\x32.google.shopping.merchant.products.v1beta.Shipping\x12\x61\n\x17\x66ree_shipping_threshold\x18\x87\x01 \x03(\x0b\x32?.google.shopping.merchant.products.v1beta.FreeShippingThreshold\x12Q\n\x0fshipping_weight\x18( \x01(\x0b\x32\x38.google.shopping.merchant.products.v1beta.ShippingWeight\x12T\n\x0fshipping_length\x18) \x01(\x0b\x32;.google.shopping.merchant.products.v1beta.ShippingDimension\x12S\n\x0eshipping_width\x18* \x01(\x0b\x32;.google.shopping.merchant.products.v1beta.ShippingDimension\x12T\n\x0fshipping_height\x18+ \x01(\x0b\x32;.google.shopping.merchant.products.v1beta.ShippingDimension\x12\x1e\n\x11max_handling_time\x18, \x01(\x03H\x16\x88\x01\x01\x12\x1e\n\x11min_handling_time\x18- \x01(\x03H\x17\x88\x01\x01\x12\x1b\n\x0eshipping_label\x18. \x01(\tH\x18\x88\x01\x01\x12\x1f\n\x12transit_time_label\x18/ \x01(\tH\x19\x88\x01\x01\x12\x11\n\x04size\x18\x30 \x01(\tH\x1a\x88\x01\x01\x12\x18\n\x0bsize_system\x18\x31 \x01(\tH\x1b\x88\x01\x01\x12\x12\n\nsize_types\x18\x32 \x03(\t\x12<\n\x05taxes\x18\x33 \x03(\x0b\x32-.google.shopping.merchant.products.v1beta.Tax\x12\x19\n\x0ctax_category\x18\x34 \x01(\tH\x1c\x88\x01\x01\x12$\n\x17\x65nergy_efficiency_class\x18\x35 \x01(\tH\x1d\x88\x01\x01\x12(\n\x1bmin_energy_efficiency_class\x18\x36 \x01(\tH\x1e\x88\x01\x01\x12(\n\x1bmax_energy_efficiency_class\x18\x37 \x01(\tH\x1f\x88\x01\x01\x12Z\n\x14unit_pricing_measure\x18\x38 \x01(\x0b\x32<.google.shopping.merchant.products.v1beta.UnitPricingMeasure\x12\x63\n\x19unit_pricing_base_measure\x18\x39 \x01(\x0b\x32@.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure\x12\x16\n\tmultipack\x18: \x01(\x03H \x88\x01\x01\x12\x19\n\x0c\x61\x64s_grouping\x18; \x01(\tH!\x88\x01\x01\x12\x12\n\nads_labels\x18< \x03(\t\x12\x19\n\x0c\x61\x64s_redirect\x18= \x01(\tH\"\x88\x01\x01\x12\x37\n\x12\x63ost_of_goods_sold\x18> \x01(\x0b\x32\x1b.google.shopping.type.Price\x12P\n\x0fproduct_details\x18? \x03(\x0b\x32\x37.google.shopping.merchant.products.v1beta.ProductDetail\x12\x1a\n\x12product_highlights\x18@ \x03(\t\x12\x1b\n\x0e\x64isplay_ads_id\x18\x41 \x01(\tH#\x88\x01\x01\x12\x1f\n\x17\x64isplay_ads_similar_ids\x18\x42 \x03(\t\x12\x1e\n\x11\x64isplay_ads_title\x18\x43 \x01(\tH$\x88\x01\x01\x12\x1d\n\x10\x64isplay_ads_link\x18\x44 \x01(\tH%\x88\x01\x01\x12\x1e\n\x11\x64isplay_ads_value\x18\x45 \x01(\x01H&\x88\x01\x01\x12\x15\n\rpromotion_ids\x18\x46 \x03(\t\x12\x1a\n\rpickup_method\x18P \x01(\tH\'\x88\x01\x01\x12\x17\n\npickup_sla\x18Q \x01(\tH(\x88\x01\x01\x12\x1a\n\rlink_template\x18R \x01(\tH)\x88\x01\x01\x12!\n\x14mobile_link_template\x18S \x01(\tH*\x88\x01\x01\x12\x1b\n\x0e\x63ustom_label_0\x18G \x01(\tH+\x88\x01\x01\x12\x1b\n\x0e\x63ustom_label_1\x18H \x01(\tH,\x88\x01\x01\x12\x1b\n\x0e\x63ustom_label_2\x18I \x01(\tH-\x88\x01\x01\x12\x1b\n\x0e\x63ustom_label_3\x18J \x01(\tH.\x88\x01\x01\x12\x1b\n\x0e\x63ustom_label_4\x18K \x01(\tH/\x88\x01\x01\x12\x1d\n\x15included_destinations\x18L \x03(\t\x12\x1d\n\x15\x65xcluded_destinations\x18M \x03(\t\x12\'\n\x1fshopping_ads_excluded_countries\x18N \x03(\t\x12\x1f\n\x12\x65xternal_seller_id\x18\x01 \x01(\tH0\x88\x01\x01\x12\x12\n\x05pause\x18\r \x01(\tH1\x88\x01\x01\x12\x1d\n\x15lifestyle_image_links\x18\x0e \x03(\t\x12u\n\"cloud_export_additional_properties\x18T \x03(\x0b\x32I.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties\x12 \n\x12virtual_model_link\x18\x82\x01 \x01(\tH2\x88\x01\x01\x12O\n\x0e\x63\x65rtifications\x18{ \x03(\x0b\x32\x37.google.shopping.merchant.products.v1beta.Certification\x12`\n\x10structured_title\x18\x84\x01 \x01(\x0b\x32@.google.shopping.merchant.products.v1beta.ProductStructuredTitleH3\x88\x01\x01\x12l\n\x16structured_description\x18\x85\x01 \x01(\x0b\x32\x46.google.shopping.merchant.products.v1beta.ProductStructuredDescriptionH4\x88\x01\x01\x12;\n\x16\x61uto_pricing_min_price\x18| \x01(\x0b\x32\x1b.google.shopping.type.PriceB\x14\n\x12_identifier_existsB\x0c\n\n_is_bundleB\x08\n\x06_titleB\x0e\n\x0c_descriptionB\x07\n\x05_linkB\x0e\n\x0c_mobile_linkB\x11\n\x0f_canonical_linkB\r\n\x0b_image_linkB\x08\n\x06_adultB\x0c\n\n_age_groupB\x0f\n\r_availabilityB\x08\n\x06_brandB\x08\n\x06_colorB\x0c\n\n_conditionB\t\n\x07_genderB\x1a\n\x18_google_product_categoryB\x07\n\x05_gtinB\x10\n\x0e_item_group_idB\x0b\n\t_materialB\x06\n\x04_mpnB\n\n\x08_patternB\x1a\n\x18_sell_on_google_quantityB\x14\n\x12_max_handling_timeB\x14\n\x12_min_handling_timeB\x11\n\x0f_shipping_labelB\x15\n\x13_transit_time_labelB\x07\n\x05_sizeB\x0e\n\x0c_size_systemB\x0f\n\r_tax_categoryB\x1a\n\x18_energy_efficiency_classB\x1e\n\x1c_min_energy_efficiency_classB\x1e\n\x1c_max_energy_efficiency_classB\x0c\n\n_multipackB\x0f\n\r_ads_groupingB\x0f\n\r_ads_redirectB\x11\n\x0f_display_ads_idB\x14\n\x12_display_ads_titleB\x13\n\x11_display_ads_linkB\x14\n\x12_display_ads_valueB\x10\n\x0e_pickup_methodB\r\n\x0b_pickup_slaB\x10\n\x0e_link_templateB\x17\n\x15_mobile_link_templateB\x11\n\x0f_custom_label_0B\x11\n\x0f_custom_label_1B\x11\n\x0f_custom_label_2B\x11\n\x0f_custom_label_3B\x11\n\x0f_custom_label_4B\x15\n\x13_external_seller_idB\x08\n\x06_pauseB\x15\n\x13_virtual_model_linkB\x13\n\x11_structured_titleB\x19\n\x17_structured_description\"p\n\x03Tax\x12\x0c\n\x04rate\x18\x01 \x01(\x01\x12\x0f\n\x07\x63ountry\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08tax_ship\x18\x04 \x01(\x08\x12\x13\n\x0blocation_id\x18\x05 \x01(\x03\x12\x13\n\x0bpostal_code\x18\x06 \x01(\t\"-\n\x0eShippingWeight\x12\r\n\x05value\x18\x01 \x01(\x01\x12\x0c\n\x04unit\x18\x02 \x01(\t\"0\n\x11ShippingDimension\x12\r\n\x05value\x18\x01 \x01(\x01\x12\x0c\n\x04unit\x18\x02 \x01(\t\"5\n\x16UnitPricingBaseMeasure\x12\r\n\x05value\x18\x01 \x01(\x03\x12\x0c\n\x04unit\x18\x02 \x01(\t\"1\n\x12UnitPricingMeasure\x12\r\n\x05value\x18\x01 \x01(\x01\x12\x0c\n\x04unit\x18\x02 \x01(\t\"\xa4\x01\n\x10SubscriptionCost\x12L\n\x06period\x18\x01 \x01(\x0e\x32<.google.shopping.merchant.products.v1beta.SubscriptionPeriod\x12\x15\n\rperiod_length\x18\x02 \x01(\x03\x12+\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x1b.google.shopping.type.Price\"\xbb\x01\n\x0bInstallment\x12\x0e\n\x06months\x18\x01 \x01(\x03\x12+\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x1b.google.shopping.type.Price\x12\x35\n\x0b\x64ownpayment\x18\x03 \x01(\x0b\x32\x1b.google.shopping.type.PriceH\x00\x88\x01\x01\x12\x18\n\x0b\x63redit_type\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x0e\n\x0c_downpaymentB\x0e\n\x0c_credit_type\"B\n\rLoyaltyPoints\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0cpoints_value\x18\x02 \x01(\x03\x12\r\n\x05ratio\x18\x03 \x01(\x01\"\xb0\x02\n\x0eLoyaltyProgram\x12\x1a\n\rprogram_label\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x17\n\ntier_label\x18\x02 \x01(\tH\x01\x88\x01\x01\x12/\n\x05price\x18\x03 \x01(\x0b\x32\x1b.google.shopping.type.PriceH\x02\x88\x01\x01\x12\x41\n\x17\x63\x61shback_for_future_use\x18\x04 \x01(\x0b\x32\x1b.google.shopping.type.PriceH\x03\x88\x01\x01\x12\x1b\n\x0eloyalty_points\x18\x05 \x01(\x03H\x04\x88\x01\x01\x42\x10\n\x0e_program_labelB\r\n\x0b_tier_labelB\x08\n\x06_priceB\x1a\n\x18_cashback_for_future_useB\x11\n\x0f_loyalty_points\"\x83\x03\n\x08Shipping\x12*\n\x05price\x18\x01 \x01(\x0b\x32\x1b.google.shopping.type.Price\x12\x0f\n\x07\x63ountry\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x0f\n\x07service\x18\x04 \x01(\t\x12\x13\n\x0blocation_id\x18\x05 \x01(\x03\x12\x1b\n\x13location_group_name\x18\x06 \x01(\t\x12\x13\n\x0bpostal_code\x18\x07 \x01(\t\x12\x1e\n\x11min_handling_time\x18\x08 \x01(\x03H\x00\x88\x01\x01\x12\x1e\n\x11max_handling_time\x18\t \x01(\x03H\x01\x88\x01\x01\x12\x1d\n\x10min_transit_time\x18\n \x01(\x03H\x02\x88\x01\x01\x12\x1d\n\x10max_transit_time\x18\x0b \x01(\x03H\x03\x88\x01\x01\x42\x14\n\x12_min_handling_timeB\x14\n\x12_max_handling_timeB\x13\n\x11_min_transit_timeB\x13\n\x11_max_transit_time\"\x88\x01\n\x15\x46reeShippingThreshold\x12\x14\n\x07\x63ountry\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x39\n\x0fprice_threshold\x18\x02 \x01(\x0b\x32\x1b.google.shopping.type.PriceH\x01\x88\x01\x01\x42\n\n\x08_countryB\x12\n\x10_price_threshold\"V\n\rProductDetail\x12\x14\n\x0csection_name\x18\x01 \x01(\t\x12\x16\n\x0e\x61ttribute_name\x18\x02 \x01(\t\x12\x17\n\x0f\x61ttribute_value\x18\x03 \x01(\t\"\xfb\x01\n\rCertification\x12$\n\x17\x63\x65rtification_authority\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1f\n\x12\x63\x65rtification_name\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1f\n\x12\x63\x65rtification_code\x18\x03 \x01(\tH\x02\x88\x01\x01\x12 \n\x13\x63\x65rtification_value\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\x1a\n\x18_certification_authorityB\x15\n\x13_certification_nameB\x15\n\x13_certification_codeB\x16\n\x14_certification_value\"t\n\x16ProductStructuredTitle\x12 \n\x13\x64igital_source_type\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x63ontent\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x16\n\x14_digital_source_typeB\n\n\x08_content\"z\n\x1cProductStructuredDescription\x12 \n\x13\x64igital_source_type\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x63ontent\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x16\n\x14_digital_source_typeB\n\n\x08_content\"9\n\x10ProductDimension\x12\x12\n\x05value\x18\x01 \x01(\x01\x42\x03\xe0\x41\x02\x12\x11\n\x04unit\x18\x02 \x01(\tB\x03\xe0\x41\x02\"6\n\rProductWeight\x12\x12\n\x05value\x18\x01 \x01(\x01\x42\x03\xe0\x41\x02\x12\x11\n\x04unit\x18\x02 \x01(\tB\x03\xe0\x41\x02\"\xf7\x07\n\rProductStatus\x12g\n\x14\x64\x65stination_statuses\x18\x03 \x03(\x0b\x32I.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus\x12\x61\n\x11item_level_issues\x18\x04 \x03(\x0b\x32\x46.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue\x12\x31\n\rcreation_date\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10last_update_date\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12:\n\x16google_expiration_date\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\xc1\x01\n\x11\x44\x65stinationStatus\x12V\n\x11reporting_context\x18\x01 \x01(\x0e\x32;.google.shopping.type.ReportingContext.ReportingContextEnum\x12\x1a\n\x12\x61pproved_countries\x18\x02 \x03(\t\x12\x19\n\x11pending_countries\x18\x03 \x03(\t\x12\x1d\n\x15\x64isapproved_countries\x18\x04 \x03(\t\x1a\xb0\x03\n\x0eItemLevelIssue\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x61\n\x08severity\x18\x02 \x01(\x0e\x32O.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity\x12\x12\n\nresolution\x18\x03 \x01(\t\x12\x11\n\tattribute\x18\x04 \x01(\t\x12V\n\x11reporting_context\x18\x05 \x01(\x0e\x32;.google.shopping.type.ReportingContext.ReportingContextEnum\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\x12\x0e\n\x06\x64\x65tail\x18\x07 \x01(\t\x12\x15\n\rdocumentation\x18\x08 \x01(\t\x12\x1c\n\x14\x61pplicable_countries\x18\t \x03(\t\"T\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x10\n\x0cNOT_IMPACTED\x10\x01\x12\x0b\n\x07\x44\x45MOTED\x10\x02\x12\x0f\n\x0b\x44ISAPPROVED\x10\x03\"\xa5\x02\n\x1f\x43loudExportAdditionalProperties\x12\x1a\n\rproperty_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\ntext_value\x18\x02 \x03(\t\x12\x17\n\nbool_value\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x11\n\tint_value\x18\x04 \x03(\x03\x12\x13\n\x0b\x66loat_value\x18\x05 \x03(\x02\x12\x16\n\tmin_value\x18\x06 \x01(\x02H\x02\x88\x01\x01\x12\x16\n\tmax_value\x18\x07 \x01(\x02H\x03\x88\x01\x01\x12\x16\n\tunit_code\x18\x08 \x01(\tH\x04\x88\x01\x01\x42\x10\n\x0e_property_nameB\r\n\x0b_bool_valueB\x0c\n\n_min_valueB\x0c\n\n_max_valueB\x0c\n\n_unit_code*N\n\x12SubscriptionPeriod\x12#\n\x1fSUBSCRIPTION_PERIOD_UNSPECIFIED\x10\x00\x12\t\n\x05MONTH\x10\x01\x12\x08\n\x04YEAR\x10\x02\x42\x95\x01\n,com.google.shopping.merchant.products.v1betaB\x13ProductsCommonProtoP\x01ZNcloud.google.com/go/shopping/merchant/products/apiv1beta/productspb;productspbb\x06proto3"
|
13
|
+
descriptor_data = "\n>google/shopping/merchant/products/v1beta/products_common.proto\x12(google.shopping.merchant.products.v1beta\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a google/shopping/type/types.proto\x1a\x1agoogle/type/interval.proto\"\x9b\'\n\nAttributes\x12\x1e\n\x11identifier_exists\x18\x04 \x01(\x08H\x00\x88\x01\x01\x12\x16\n\tis_bundle\x18\x05 \x01(\x08H\x01\x88\x01\x01\x12\x12\n\x05title\x18\x06 \x01(\tH\x02\x88\x01\x01\x12\x18\n\x0b\x64\x65scription\x18\x07 \x01(\tH\x03\x88\x01\x01\x12\x11\n\x04link\x18\x08 \x01(\tH\x04\x88\x01\x01\x12\x18\n\x0bmobile_link\x18\t \x01(\tH\x05\x88\x01\x01\x12\x1b\n\x0e\x63\x61nonical_link\x18\n \x01(\tH\x06\x88\x01\x01\x12\x17\n\nimage_link\x18\x0b \x01(\tH\x07\x88\x01\x01\x12\x1e\n\x16\x61\x64\x64itional_image_links\x18\x0c \x03(\t\x12\x33\n\x0f\x65xpiration_date\x18\x10 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x33\n\x0f\x64isclosure_date\x18O \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\x05\x61\x64ult\x18\x11 \x01(\x08H\x08\x88\x01\x01\x12\x16\n\tage_group\x18\x12 \x01(\tH\t\x88\x01\x01\x12\x19\n\x0c\x61vailability\x18\x13 \x01(\tH\n\x88\x01\x01\x12\x35\n\x11\x61vailability_date\x18\x14 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x12\n\x05\x62rand\x18\x15 \x01(\tH\x0b\x88\x01\x01\x12\x12\n\x05\x63olor\x18\x16 \x01(\tH\x0c\x88\x01\x01\x12\x16\n\tcondition\x18\x17 \x01(\tH\r\x88\x01\x01\x12\x13\n\x06gender\x18\x18 \x01(\tH\x0e\x88\x01\x01\x12$\n\x17google_product_category\x18\x19 \x01(\tH\x0f\x88\x01\x01\x12\x0c\n\x04gtin\x18\x1a \x03(\t\x12\x1a\n\ritem_group_id\x18\x1b \x01(\tH\x10\x88\x01\x01\x12\x15\n\x08material\x18\x1c \x01(\tH\x11\x88\x01\x01\x12\x10\n\x03mpn\x18\x1d \x01(\tH\x12\x88\x01\x01\x12\x14\n\x07pattern\x18\x1e \x01(\tH\x13\x88\x01\x01\x12*\n\x05price\x18\x1f \x01(\x0b\x32\x1b.google.shopping.type.Price\x12J\n\x0binstallment\x18 \x01(\x0b\x32\x35.google.shopping.merchant.products.v1beta.Installment\x12U\n\x11subscription_cost\x18! \x01(\x0b\x32:.google.shopping.merchant.products.v1beta.SubscriptionCost\x12O\n\x0eloyalty_points\x18\" \x01(\x0b\x32\x37.google.shopping.merchant.products.v1beta.LoyaltyPoints\x12S\n\x10loyalty_programs\x18\x88\x01 \x03(\x0b\x32\x38.google.shopping.merchant.products.v1beta.LoyaltyProgram\x12\x15\n\rproduct_types\x18# \x03(\t\x12/\n\nsale_price\x18$ \x01(\x0b\x32\x1b.google.shopping.type.Price\x12\x38\n\x19sale_price_effective_date\x18% \x01(\x0b\x32\x15.google.type.Interval\x12$\n\x17sell_on_google_quantity\x18& \x01(\x03H\x14\x88\x01\x01\x12R\n\x0eproduct_height\x18w \x01(\x0b\x32:.google.shopping.merchant.products.v1beta.ProductDimension\x12R\n\x0eproduct_length\x18x \x01(\x0b\x32:.google.shopping.merchant.products.v1beta.ProductDimension\x12Q\n\rproduct_width\x18y \x01(\x0b\x32:.google.shopping.merchant.products.v1beta.ProductDimension\x12O\n\x0eproduct_weight\x18z \x01(\x0b\x32\x37.google.shopping.merchant.products.v1beta.ProductWeight\x12\x44\n\x08shipping\x18\' \x03(\x0b\x32\x32.google.shopping.merchant.products.v1beta.Shipping\x12\x61\n\x17\x66ree_shipping_threshold\x18\x87\x01 \x03(\x0b\x32?.google.shopping.merchant.products.v1beta.FreeShippingThreshold\x12Q\n\x0fshipping_weight\x18( \x01(\x0b\x32\x38.google.shopping.merchant.products.v1beta.ShippingWeight\x12T\n\x0fshipping_length\x18) \x01(\x0b\x32;.google.shopping.merchant.products.v1beta.ShippingDimension\x12S\n\x0eshipping_width\x18* \x01(\x0b\x32;.google.shopping.merchant.products.v1beta.ShippingDimension\x12T\n\x0fshipping_height\x18+ \x01(\x0b\x32;.google.shopping.merchant.products.v1beta.ShippingDimension\x12\x1e\n\x11max_handling_time\x18, \x01(\x03H\x15\x88\x01\x01\x12\x1e\n\x11min_handling_time\x18- \x01(\x03H\x16\x88\x01\x01\x12\x1b\n\x0eshipping_label\x18. \x01(\tH\x17\x88\x01\x01\x12\x1f\n\x12transit_time_label\x18/ \x01(\tH\x18\x88\x01\x01\x12\x11\n\x04size\x18\x30 \x01(\tH\x19\x88\x01\x01\x12\x18\n\x0bsize_system\x18\x31 \x01(\tH\x1a\x88\x01\x01\x12\x12\n\nsize_types\x18\x32 \x03(\t\x12<\n\x05taxes\x18\x33 \x03(\x0b\x32-.google.shopping.merchant.products.v1beta.Tax\x12\x19\n\x0ctax_category\x18\x34 \x01(\tH\x1b\x88\x01\x01\x12$\n\x17\x65nergy_efficiency_class\x18\x35 \x01(\tH\x1c\x88\x01\x01\x12(\n\x1bmin_energy_efficiency_class\x18\x36 \x01(\tH\x1d\x88\x01\x01\x12(\n\x1bmax_energy_efficiency_class\x18\x37 \x01(\tH\x1e\x88\x01\x01\x12Z\n\x14unit_pricing_measure\x18\x38 \x01(\x0b\x32<.google.shopping.merchant.products.v1beta.UnitPricingMeasure\x12\x63\n\x19unit_pricing_base_measure\x18\x39 \x01(\x0b\x32@.google.shopping.merchant.products.v1beta.UnitPricingBaseMeasure\x12\x16\n\tmultipack\x18: \x01(\x03H\x1f\x88\x01\x01\x12\x19\n\x0c\x61\x64s_grouping\x18; \x01(\tH \x88\x01\x01\x12\x12\n\nads_labels\x18< \x03(\t\x12\x19\n\x0c\x61\x64s_redirect\x18= \x01(\tH!\x88\x01\x01\x12\x37\n\x12\x63ost_of_goods_sold\x18> \x01(\x0b\x32\x1b.google.shopping.type.Price\x12P\n\x0fproduct_details\x18? \x03(\x0b\x32\x37.google.shopping.merchant.products.v1beta.ProductDetail\x12\x1a\n\x12product_highlights\x18@ \x03(\t\x12\x1b\n\x0e\x64isplay_ads_id\x18\x41 \x01(\tH\"\x88\x01\x01\x12\x1f\n\x17\x64isplay_ads_similar_ids\x18\x42 \x03(\t\x12\x1e\n\x11\x64isplay_ads_title\x18\x43 \x01(\tH#\x88\x01\x01\x12\x1d\n\x10\x64isplay_ads_link\x18\x44 \x01(\tH$\x88\x01\x01\x12\x1e\n\x11\x64isplay_ads_value\x18\x45 \x01(\x01H%\x88\x01\x01\x12\x15\n\rpromotion_ids\x18\x46 \x03(\t\x12\x1a\n\rpickup_method\x18P \x01(\tH&\x88\x01\x01\x12\x17\n\npickup_sla\x18Q \x01(\tH\'\x88\x01\x01\x12\x1a\n\rlink_template\x18R \x01(\tH(\x88\x01\x01\x12!\n\x14mobile_link_template\x18S \x01(\tH)\x88\x01\x01\x12\x1b\n\x0e\x63ustom_label_0\x18G \x01(\tH*\x88\x01\x01\x12\x1b\n\x0e\x63ustom_label_1\x18H \x01(\tH+\x88\x01\x01\x12\x1b\n\x0e\x63ustom_label_2\x18I \x01(\tH,\x88\x01\x01\x12\x1b\n\x0e\x63ustom_label_3\x18J \x01(\tH-\x88\x01\x01\x12\x1b\n\x0e\x63ustom_label_4\x18K \x01(\tH.\x88\x01\x01\x12\x1d\n\x15included_destinations\x18L \x03(\t\x12\x1d\n\x15\x65xcluded_destinations\x18M \x03(\t\x12\'\n\x1fshopping_ads_excluded_countries\x18N \x03(\t\x12\x1f\n\x12\x65xternal_seller_id\x18\x01 \x01(\tH/\x88\x01\x01\x12\x12\n\x05pause\x18\r \x01(\tH0\x88\x01\x01\x12\x1d\n\x15lifestyle_image_links\x18\x0e \x03(\t\x12u\n\"cloud_export_additional_properties\x18T \x03(\x0b\x32I.google.shopping.merchant.products.v1beta.CloudExportAdditionalProperties\x12 \n\x12virtual_model_link\x18\x82\x01 \x01(\tH1\x88\x01\x01\x12O\n\x0e\x63\x65rtifications\x18{ \x03(\x0b\x32\x37.google.shopping.merchant.products.v1beta.Certification\x12`\n\x10structured_title\x18\x84\x01 \x01(\x0b\x32@.google.shopping.merchant.products.v1beta.ProductStructuredTitleH2\x88\x01\x01\x12l\n\x16structured_description\x18\x85\x01 \x01(\x0b\x32\x46.google.shopping.merchant.products.v1beta.ProductStructuredDescriptionH3\x88\x01\x01\x12;\n\x16\x61uto_pricing_min_price\x18| \x01(\x0b\x32\x1b.google.shopping.type.PriceB\x14\n\x12_identifier_existsB\x0c\n\n_is_bundleB\x08\n\x06_titleB\x0e\n\x0c_descriptionB\x07\n\x05_linkB\x0e\n\x0c_mobile_linkB\x11\n\x0f_canonical_linkB\r\n\x0b_image_linkB\x08\n\x06_adultB\x0c\n\n_age_groupB\x0f\n\r_availabilityB\x08\n\x06_brandB\x08\n\x06_colorB\x0c\n\n_conditionB\t\n\x07_genderB\x1a\n\x18_google_product_categoryB\x10\n\x0e_item_group_idB\x0b\n\t_materialB\x06\n\x04_mpnB\n\n\x08_patternB\x1a\n\x18_sell_on_google_quantityB\x14\n\x12_max_handling_timeB\x14\n\x12_min_handling_timeB\x11\n\x0f_shipping_labelB\x15\n\x13_transit_time_labelB\x07\n\x05_sizeB\x0e\n\x0c_size_systemB\x0f\n\r_tax_categoryB\x1a\n\x18_energy_efficiency_classB\x1e\n\x1c_min_energy_efficiency_classB\x1e\n\x1c_max_energy_efficiency_classB\x0c\n\n_multipackB\x0f\n\r_ads_groupingB\x0f\n\r_ads_redirectB\x11\n\x0f_display_ads_idB\x14\n\x12_display_ads_titleB\x13\n\x11_display_ads_linkB\x14\n\x12_display_ads_valueB\x10\n\x0e_pickup_methodB\r\n\x0b_pickup_slaB\x10\n\x0e_link_templateB\x17\n\x15_mobile_link_templateB\x11\n\x0f_custom_label_0B\x11\n\x0f_custom_label_1B\x11\n\x0f_custom_label_2B\x11\n\x0f_custom_label_3B\x11\n\x0f_custom_label_4B\x15\n\x13_external_seller_idB\x08\n\x06_pauseB\x15\n\x13_virtual_model_linkB\x13\n\x11_structured_titleB\x19\n\x17_structured_description\"p\n\x03Tax\x12\x0c\n\x04rate\x18\x01 \x01(\x01\x12\x0f\n\x07\x63ountry\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x10\n\x08tax_ship\x18\x04 \x01(\x08\x12\x13\n\x0blocation_id\x18\x05 \x01(\x03\x12\x13\n\x0bpostal_code\x18\x06 \x01(\t\"-\n\x0eShippingWeight\x12\r\n\x05value\x18\x01 \x01(\x01\x12\x0c\n\x04unit\x18\x02 \x01(\t\"0\n\x11ShippingDimension\x12\r\n\x05value\x18\x01 \x01(\x01\x12\x0c\n\x04unit\x18\x02 \x01(\t\"5\n\x16UnitPricingBaseMeasure\x12\r\n\x05value\x18\x01 \x01(\x03\x12\x0c\n\x04unit\x18\x02 \x01(\t\"1\n\x12UnitPricingMeasure\x12\r\n\x05value\x18\x01 \x01(\x01\x12\x0c\n\x04unit\x18\x02 \x01(\t\"\xa4\x01\n\x10SubscriptionCost\x12L\n\x06period\x18\x01 \x01(\x0e\x32<.google.shopping.merchant.products.v1beta.SubscriptionPeriod\x12\x15\n\rperiod_length\x18\x02 \x01(\x03\x12+\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x1b.google.shopping.type.Price\"\xbb\x01\n\x0bInstallment\x12\x0e\n\x06months\x18\x01 \x01(\x03\x12+\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x1b.google.shopping.type.Price\x12\x35\n\x0b\x64ownpayment\x18\x03 \x01(\x0b\x32\x1b.google.shopping.type.PriceH\x00\x88\x01\x01\x12\x18\n\x0b\x63redit_type\x18\x04 \x01(\tH\x01\x88\x01\x01\x42\x0e\n\x0c_downpaymentB\x0e\n\x0c_credit_type\"B\n\rLoyaltyPoints\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0cpoints_value\x18\x02 \x01(\x03\x12\r\n\x05ratio\x18\x03 \x01(\x01\"\xc1\x03\n\x0eLoyaltyProgram\x12\x1a\n\rprogram_label\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x17\n\ntier_label\x18\x02 \x01(\tH\x01\x88\x01\x01\x12/\n\x05price\x18\x03 \x01(\x0b\x32\x1b.google.shopping.type.PriceH\x02\x88\x01\x01\x12\x41\n\x17\x63\x61shback_for_future_use\x18\x04 \x01(\x0b\x32\x1b.google.shopping.type.PriceH\x03\x88\x01\x01\x12\x1b\n\x0eloyalty_points\x18\x05 \x01(\x03H\x04\x88\x01\x01\x12?\n\x1bmember_price_effective_date\x18\x06 \x01(\x0b\x32\x15.google.type.IntervalH\x05\x88\x01\x01\x12\x1b\n\x0eshipping_label\x18\x07 \x01(\tH\x06\x88\x01\x01\x42\x10\n\x0e_program_labelB\r\n\x0b_tier_labelB\x08\n\x06_priceB\x1a\n\x18_cashback_for_future_useB\x11\n\x0f_loyalty_pointsB\x1e\n\x1c_member_price_effective_dateB\x11\n\x0f_shipping_label\"\x83\x03\n\x08Shipping\x12*\n\x05price\x18\x01 \x01(\x0b\x32\x1b.google.shopping.type.Price\x12\x0f\n\x07\x63ountry\x18\x02 \x01(\t\x12\x0e\n\x06region\x18\x03 \x01(\t\x12\x0f\n\x07service\x18\x04 \x01(\t\x12\x13\n\x0blocation_id\x18\x05 \x01(\x03\x12\x1b\n\x13location_group_name\x18\x06 \x01(\t\x12\x13\n\x0bpostal_code\x18\x07 \x01(\t\x12\x1e\n\x11min_handling_time\x18\x08 \x01(\x03H\x00\x88\x01\x01\x12\x1e\n\x11max_handling_time\x18\t \x01(\x03H\x01\x88\x01\x01\x12\x1d\n\x10min_transit_time\x18\n \x01(\x03H\x02\x88\x01\x01\x12\x1d\n\x10max_transit_time\x18\x0b \x01(\x03H\x03\x88\x01\x01\x42\x14\n\x12_min_handling_timeB\x14\n\x12_max_handling_timeB\x13\n\x11_min_transit_timeB\x13\n\x11_max_transit_time\"\x88\x01\n\x15\x46reeShippingThreshold\x12\x14\n\x07\x63ountry\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x39\n\x0fprice_threshold\x18\x02 \x01(\x0b\x32\x1b.google.shopping.type.PriceH\x01\x88\x01\x01\x42\n\n\x08_countryB\x12\n\x10_price_threshold\"V\n\rProductDetail\x12\x14\n\x0csection_name\x18\x01 \x01(\t\x12\x16\n\x0e\x61ttribute_name\x18\x02 \x01(\t\x12\x17\n\x0f\x61ttribute_value\x18\x03 \x01(\t\"\xfb\x01\n\rCertification\x12$\n\x17\x63\x65rtification_authority\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1f\n\x12\x63\x65rtification_name\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1f\n\x12\x63\x65rtification_code\x18\x03 \x01(\tH\x02\x88\x01\x01\x12 \n\x13\x63\x65rtification_value\x18\x04 \x01(\tH\x03\x88\x01\x01\x42\x1a\n\x18_certification_authorityB\x15\n\x13_certification_nameB\x15\n\x13_certification_codeB\x16\n\x14_certification_value\"t\n\x16ProductStructuredTitle\x12 \n\x13\x64igital_source_type\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x63ontent\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x16\n\x14_digital_source_typeB\n\n\x08_content\"z\n\x1cProductStructuredDescription\x12 \n\x13\x64igital_source_type\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x14\n\x07\x63ontent\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\x16\n\x14_digital_source_typeB\n\n\x08_content\"9\n\x10ProductDimension\x12\x12\n\x05value\x18\x01 \x01(\x01\x42\x03\xe0\x41\x02\x12\x11\n\x04unit\x18\x02 \x01(\tB\x03\xe0\x41\x02\"6\n\rProductWeight\x12\x12\n\x05value\x18\x01 \x01(\x01\x42\x03\xe0\x41\x02\x12\x11\n\x04unit\x18\x02 \x01(\tB\x03\xe0\x41\x02\"\xf7\x07\n\rProductStatus\x12g\n\x14\x64\x65stination_statuses\x18\x03 \x03(\x0b\x32I.google.shopping.merchant.products.v1beta.ProductStatus.DestinationStatus\x12\x61\n\x11item_level_issues\x18\x04 \x03(\x0b\x32\x46.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue\x12\x31\n\rcreation_date\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x10last_update_date\x18\x06 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12:\n\x16google_expiration_date\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x1a\xc1\x01\n\x11\x44\x65stinationStatus\x12V\n\x11reporting_context\x18\x01 \x01(\x0e\x32;.google.shopping.type.ReportingContext.ReportingContextEnum\x12\x1a\n\x12\x61pproved_countries\x18\x02 \x03(\t\x12\x19\n\x11pending_countries\x18\x03 \x03(\t\x12\x1d\n\x15\x64isapproved_countries\x18\x04 \x03(\t\x1a\xb0\x03\n\x0eItemLevelIssue\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12\x61\n\x08severity\x18\x02 \x01(\x0e\x32O.google.shopping.merchant.products.v1beta.ProductStatus.ItemLevelIssue.Severity\x12\x12\n\nresolution\x18\x03 \x01(\t\x12\x11\n\tattribute\x18\x04 \x01(\t\x12V\n\x11reporting_context\x18\x05 \x01(\x0e\x32;.google.shopping.type.ReportingContext.ReportingContextEnum\x12\x13\n\x0b\x64\x65scription\x18\x06 \x01(\t\x12\x0e\n\x06\x64\x65tail\x18\x07 \x01(\t\x12\x15\n\rdocumentation\x18\x08 \x01(\t\x12\x1c\n\x14\x61pplicable_countries\x18\t \x03(\t\"T\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x10\n\x0cNOT_IMPACTED\x10\x01\x12\x0b\n\x07\x44\x45MOTED\x10\x02\x12\x0f\n\x0b\x44ISAPPROVED\x10\x03\"\xa5\x02\n\x1f\x43loudExportAdditionalProperties\x12\x1a\n\rproperty_name\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x12\n\ntext_value\x18\x02 \x03(\t\x12\x17\n\nbool_value\x18\x03 \x01(\x08H\x01\x88\x01\x01\x12\x11\n\tint_value\x18\x04 \x03(\x03\x12\x13\n\x0b\x66loat_value\x18\x05 \x03(\x02\x12\x16\n\tmin_value\x18\x06 \x01(\x02H\x02\x88\x01\x01\x12\x16\n\tmax_value\x18\x07 \x01(\x02H\x03\x88\x01\x01\x12\x16\n\tunit_code\x18\x08 \x01(\tH\x04\x88\x01\x01\x42\x10\n\x0e_property_nameB\r\n\x0b_bool_valueB\x0c\n\n_min_valueB\x0c\n\n_max_valueB\x0c\n\n_unit_code*N\n\x12SubscriptionPeriod\x12#\n\x1fSUBSCRIPTION_PERIOD_UNSPECIFIED\x10\x00\x12\t\n\x05MONTH\x10\x01\x12\x08\n\x04YEAR\x10\x02\x42\x95\x01\n,com.google.shopping.merchant.products.v1betaB\x13ProductsCommonProtoP\x01ZNcloud.google.com/go/shopping/merchant/products/apiv1beta/productspb;productspbb\x06proto3"
|
14
14
|
|
15
15
|
pool = Google::Protobuf::DescriptorPool.generated_pool
|
16
16
|
|
@@ -164,8 +164,28 @@ module Google
|
|
164
164
|
universe_domain: @config.universe_domain,
|
165
165
|
channel_args: @config.channel_args,
|
166
166
|
interceptors: @config.interceptors,
|
167
|
-
channel_pool_config: @config.channel_pool
|
167
|
+
channel_pool_config: @config.channel_pool,
|
168
|
+
logger: @config.logger
|
168
169
|
)
|
170
|
+
|
171
|
+
@products_service_stub.stub_logger&.info do |entry|
|
172
|
+
entry.set_system_name
|
173
|
+
entry.set_service
|
174
|
+
entry.message = "Created client for #{entry.service}"
|
175
|
+
entry.set_credentials_fields credentials
|
176
|
+
entry.set "customEndpoint", @config.endpoint if @config.endpoint
|
177
|
+
entry.set "defaultTimeout", @config.timeout if @config.timeout
|
178
|
+
entry.set "quotaProject", @quota_project_id if @quota_project_id
|
179
|
+
end
|
180
|
+
end
|
181
|
+
|
182
|
+
##
|
183
|
+
# The logger used for request/response debug logging.
|
184
|
+
#
|
185
|
+
# @return [Logger]
|
186
|
+
#
|
187
|
+
def logger
|
188
|
+
@products_service_stub.logger
|
169
189
|
end
|
170
190
|
|
171
191
|
# Service calls
|
@@ -194,6 +214,10 @@ module Google
|
|
194
214
|
# @param name [::String]
|
195
215
|
# Required. The name of the product to retrieve.
|
196
216
|
# Format: `accounts/{account}/products/{product}`
|
217
|
+
# where the last section `product` consists of 4 parts:
|
218
|
+
# channel~content_language~feed_label~offer_id
|
219
|
+
# example for product name is
|
220
|
+
# "accounts/123/products/online~en~US~sku123"
|
197
221
|
#
|
198
222
|
# @yield [response, operation] Access the result along with the RPC operation
|
199
223
|
# @yieldparam response [::Google::Shopping::Merchant::Products::V1beta::Product]
|
@@ -254,7 +278,6 @@ module Google
|
|
254
278
|
|
255
279
|
@products_service_stub.call_rpc :get_product, request, options: options do |response, operation|
|
256
280
|
yield response, operation if block_given?
|
257
|
-
return response
|
258
281
|
end
|
259
282
|
rescue ::GRPC::BadStatus => e
|
260
283
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -289,7 +312,7 @@ module Google
|
|
289
312
|
# @param page_size [::Integer]
|
290
313
|
# The maximum number of products to return. The service may return fewer than
|
291
314
|
# this value.
|
292
|
-
# The maximum value is
|
315
|
+
# The maximum value is 250; values above 250 will be coerced to 250.
|
293
316
|
# If unspecified, the maximum number of products will be returned.
|
294
317
|
# @param page_token [::String]
|
295
318
|
# A page token, received from a previous `ListProducts` call.
|
@@ -362,7 +385,7 @@ module Google
|
|
362
385
|
@products_service_stub.call_rpc :list_products, request, options: options do |response, operation|
|
363
386
|
response = ::Gapic::PagedEnumerable.new @products_service_stub, :list_products, request, response, operation, options
|
364
387
|
yield response, operation if block_given?
|
365
|
-
|
388
|
+
throw :response, response
|
366
389
|
end
|
367
390
|
rescue ::GRPC::BadStatus => e
|
368
391
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -451,6 +474,11 @@ module Google
|
|
451
474
|
# default endpoint URL. The default value of nil uses the environment
|
452
475
|
# universe (usually the default "googleapis.com" universe).
|
453
476
|
# @return [::String,nil]
|
477
|
+
# @!attribute [rw] logger
|
478
|
+
# A custom logger to use for request/response debug logging, or the value
|
479
|
+
# `:default` (the default) to construct a default logger, or `nil` to
|
480
|
+
# explicitly disable logging.
|
481
|
+
# @return [::Logger,:default,nil]
|
454
482
|
#
|
455
483
|
class Configuration
|
456
484
|
extend ::Gapic::Config
|
@@ -475,6 +503,7 @@ module Google
|
|
475
503
|
config_attr :retry_policy, nil, ::Hash, ::Proc, nil
|
476
504
|
config_attr :quota_project, nil, ::String, nil
|
477
505
|
config_attr :universe_domain, nil, ::String, nil
|
506
|
+
config_attr :logger, :default, ::Logger, nil, :default
|
478
507
|
|
479
508
|
# @private
|
480
509
|
def initialize parent_config = nil
|
@@ -157,8 +157,28 @@ module Google
|
|
157
157
|
endpoint: @config.endpoint,
|
158
158
|
endpoint_template: DEFAULT_ENDPOINT_TEMPLATE,
|
159
159
|
universe_domain: @config.universe_domain,
|
160
|
-
credentials: credentials
|
160
|
+
credentials: credentials,
|
161
|
+
logger: @config.logger
|
161
162
|
)
|
163
|
+
|
164
|
+
@products_service_stub.logger(stub: true)&.info do |entry|
|
165
|
+
entry.set_system_name
|
166
|
+
entry.set_service
|
167
|
+
entry.message = "Created client for #{entry.service}"
|
168
|
+
entry.set_credentials_fields credentials
|
169
|
+
entry.set "customEndpoint", @config.endpoint if @config.endpoint
|
170
|
+
entry.set "defaultTimeout", @config.timeout if @config.timeout
|
171
|
+
entry.set "quotaProject", @quota_project_id if @quota_project_id
|
172
|
+
end
|
173
|
+
end
|
174
|
+
|
175
|
+
##
|
176
|
+
# The logger used for request/response debug logging.
|
177
|
+
#
|
178
|
+
# @return [Logger]
|
179
|
+
#
|
180
|
+
def logger
|
181
|
+
@products_service_stub.logger
|
162
182
|
end
|
163
183
|
|
164
184
|
# Service calls
|
@@ -187,6 +207,10 @@ module Google
|
|
187
207
|
# @param name [::String]
|
188
208
|
# Required. The name of the product to retrieve.
|
189
209
|
# Format: `accounts/{account}/products/{product}`
|
210
|
+
# where the last section `product` consists of 4 parts:
|
211
|
+
# channel~content_language~feed_label~offer_id
|
212
|
+
# example for product name is
|
213
|
+
# "accounts/123/products/online~en~US~sku123"
|
190
214
|
# @yield [result, operation] Access the result along with the TransportOperation object
|
191
215
|
# @yieldparam result [::Google::Shopping::Merchant::Products::V1beta::Product]
|
192
216
|
# @yieldparam operation [::Gapic::Rest::TransportOperation]
|
@@ -240,7 +264,6 @@ module Google
|
|
240
264
|
|
241
265
|
@products_service_stub.get_product request, options do |result, operation|
|
242
266
|
yield result, operation if block_given?
|
243
|
-
return result
|
244
267
|
end
|
245
268
|
rescue ::Gapic::Rest::Error => e
|
246
269
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -275,7 +298,7 @@ module Google
|
|
275
298
|
# @param page_size [::Integer]
|
276
299
|
# The maximum number of products to return. The service may return fewer than
|
277
300
|
# this value.
|
278
|
-
# The maximum value is
|
301
|
+
# The maximum value is 250; values above 250 will be coerced to 250.
|
279
302
|
# If unspecified, the maximum number of products will be returned.
|
280
303
|
# @param page_token [::String]
|
281
304
|
# A page token, received from a previous `ListProducts` call.
|
@@ -341,7 +364,7 @@ module Google
|
|
341
364
|
@products_service_stub.list_products request, options do |result, operation|
|
342
365
|
result = ::Gapic::Rest::PagedEnumerable.new @products_service_stub, :list_products, "products", request, result, options
|
343
366
|
yield result, operation if block_given?
|
344
|
-
|
367
|
+
throw :response, result
|
345
368
|
end
|
346
369
|
rescue ::Gapic::Rest::Error => e
|
347
370
|
raise ::Google::Cloud::Error.from_error(e)
|
@@ -421,6 +444,11 @@ module Google
|
|
421
444
|
# default endpoint URL. The default value of nil uses the environment
|
422
445
|
# universe (usually the default "googleapis.com" universe).
|
423
446
|
# @return [::String,nil]
|
447
|
+
# @!attribute [rw] logger
|
448
|
+
# A custom logger to use for request/response debug logging, or the value
|
449
|
+
# `:default` (the default) to construct a default logger, or `nil` to
|
450
|
+
# explicitly disable logging.
|
451
|
+
# @return [::Logger,:default,nil]
|
424
452
|
#
|
425
453
|
class Configuration
|
426
454
|
extend ::Gapic::Config
|
@@ -442,6 +470,7 @@ module Google
|
|
442
470
|
config_attr :retry_policy, nil, ::Hash, ::Proc, nil
|
443
471
|
config_attr :quota_project, nil, ::String, nil
|
444
472
|
config_attr :universe_domain, nil, ::String, nil
|
473
|
+
config_attr :logger, :default, ::Logger, nil, :default
|
445
474
|
|
446
475
|
# @private
|
447
476
|
def initialize parent_config = nil
|
@@ -31,7 +31,8 @@ module Google
|
|
31
31
|
# including transcoding, making the REST call, and deserialing the response.
|
32
32
|
#
|
33
33
|
class ServiceStub
|
34
|
-
|
34
|
+
# @private
|
35
|
+
def initialize endpoint:, endpoint_template:, universe_domain:, credentials:, logger:
|
35
36
|
# These require statements are intentionally placed here to initialize
|
36
37
|
# the REST modules only when it's required.
|
37
38
|
require "gapic/rest"
|
@@ -41,7 +42,9 @@ module Google
|
|
41
42
|
universe_domain: universe_domain,
|
42
43
|
credentials: credentials,
|
43
44
|
numeric_enums: true,
|
44
|
-
|
45
|
+
service_name: self.class,
|
46
|
+
raise_faraday_errors: false,
|
47
|
+
logger: logger
|
45
48
|
end
|
46
49
|
|
47
50
|
##
|
@@ -62,6 +65,15 @@ module Google
|
|
62
65
|
@client_stub.endpoint
|
63
66
|
end
|
64
67
|
|
68
|
+
##
|
69
|
+
# The logger used for request/response debug logging.
|
70
|
+
#
|
71
|
+
# @return [Logger]
|
72
|
+
#
|
73
|
+
def logger stub: false
|
74
|
+
stub ? @client_stub.stub_logger : @client_stub.logger
|
75
|
+
end
|
76
|
+
|
65
77
|
##
|
66
78
|
# Baseline implementation for the get_product REST call
|
67
79
|
#
|
@@ -88,16 +100,18 @@ module Google
|
|
88
100
|
|
89
101
|
response = @client_stub.make_http_request(
|
90
102
|
verb,
|
91
|
-
uri:
|
92
|
-
body:
|
93
|
-
params:
|
103
|
+
uri: uri,
|
104
|
+
body: body || "",
|
105
|
+
params: query_string_params,
|
106
|
+
method_name: "get_product",
|
94
107
|
options: options
|
95
108
|
)
|
96
109
|
operation = ::Gapic::Rest::TransportOperation.new response
|
97
110
|
result = ::Google::Shopping::Merchant::Products::V1beta::Product.decode_json response.body, ignore_unknown_fields: true
|
98
|
-
|
99
|
-
|
100
|
-
|
111
|
+
catch :response do
|
112
|
+
yield result, operation if block_given?
|
113
|
+
result
|
114
|
+
end
|
101
115
|
end
|
102
116
|
|
103
117
|
##
|
@@ -126,16 +140,18 @@ module Google
|
|
126
140
|
|
127
141
|
response = @client_stub.make_http_request(
|
128
142
|
verb,
|
129
|
-
uri:
|
130
|
-
body:
|
131
|
-
params:
|
143
|
+
uri: uri,
|
144
|
+
body: body || "",
|
145
|
+
params: query_string_params,
|
146
|
+
method_name: "list_products",
|
132
147
|
options: options
|
133
148
|
)
|
134
149
|
operation = ::Gapic::Rest::TransportOperation.new response
|
135
150
|
result = ::Google::Shopping::Merchant::Products::V1beta::ListProductsResponse.decode_json response.body, ignore_unknown_fields: true
|
136
|
-
|
137
|
-
|
138
|
-
|
151
|
+
catch :response do
|
152
|
+
yield result, operation if block_given?
|
153
|
+
result
|
154
|
+
end
|
139
155
|
end
|
140
156
|
|
141
157
|
##
|
@@ -28,6 +28,9 @@ module Google
|
|
28
28
|
# @!attribute [rw] destinations
|
29
29
|
# @return [::Array<::Google::Api::ClientLibraryDestination>]
|
30
30
|
# The destination where API teams want this client library to be published.
|
31
|
+
# @!attribute [rw] selective_gapic_generation
|
32
|
+
# @return [::Google::Api::SelectiveGapicGeneration]
|
33
|
+
# Configuration for which RPCs should be generated in the GAPIC client.
|
31
34
|
class CommonLanguageSettings
|
32
35
|
include ::Google::Protobuf::MessageExts
|
33
36
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -212,6 +215,12 @@ module Google
|
|
212
215
|
# enabled. By default, asynchronous REST clients will not be generated.
|
213
216
|
# This feature will be enabled by default 1 month after launching the
|
214
217
|
# feature in preview packages.
|
218
|
+
# @!attribute [rw] protobuf_pythonic_types_enabled
|
219
|
+
# @return [::Boolean]
|
220
|
+
# Enables generation of protobuf code using new types that are more
|
221
|
+
# Pythonic which are included in `protobuf>=5.29.x`. This feature will be
|
222
|
+
# enabled by default 1 month after launching the feature in preview
|
223
|
+
# packages.
|
215
224
|
class ExperimentalFeatures
|
216
225
|
include ::Google::Protobuf::MessageExts
|
217
226
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -297,9 +306,28 @@ module Google
|
|
297
306
|
# @!attribute [rw] common
|
298
307
|
# @return [::Google::Api::CommonLanguageSettings]
|
299
308
|
# Some settings.
|
309
|
+
# @!attribute [rw] renamed_services
|
310
|
+
# @return [::Google::Protobuf::Map{::String => ::String}]
|
311
|
+
# Map of service names to renamed services. Keys are the package relative
|
312
|
+
# service names and values are the name to be used for the service client
|
313
|
+
# and call options.
|
314
|
+
#
|
315
|
+
# publishing:
|
316
|
+
# go_settings:
|
317
|
+
# renamed_services:
|
318
|
+
# Publisher: TopicAdmin
|
300
319
|
class GoSettings
|
301
320
|
include ::Google::Protobuf::MessageExts
|
302
321
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
322
|
+
|
323
|
+
# @!attribute [rw] key
|
324
|
+
# @return [::String]
|
325
|
+
# @!attribute [rw] value
|
326
|
+
# @return [::String]
|
327
|
+
class RenamedServicesEntry
|
328
|
+
include ::Google::Protobuf::MessageExts
|
329
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
330
|
+
end
|
303
331
|
end
|
304
332
|
|
305
333
|
# Describes the generator configuration for a method.
|
@@ -375,6 +403,17 @@ module Google
|
|
375
403
|
end
|
376
404
|
end
|
377
405
|
|
406
|
+
# This message is used to configure the generation of a subset of the RPCs in
|
407
|
+
# a service for client libraries.
|
408
|
+
# @!attribute [rw] methods
|
409
|
+
# @return [::Array<::String>]
|
410
|
+
# An allowlist of the fully qualified names of RPCs that should be included
|
411
|
+
# on public client surfaces.
|
412
|
+
class SelectiveGapicGeneration
|
413
|
+
include ::Google::Protobuf::MessageExts
|
414
|
+
extend ::Google::Protobuf::MessageExts::ClassMethods
|
415
|
+
end
|
416
|
+
|
378
417
|
# The organization for which the client libraries are being published.
|
379
418
|
# Affects the url where generated docs are published, etc.
|
380
419
|
module ClientLibraryOrganization
|
@@ -26,16 +26,16 @@ module Google
|
|
26
26
|
# processed product that you see in Merchant Center, in Shopping ads, or across
|
27
27
|
# Google surfaces. Product inputs, rules and supplemental data source data are
|
28
28
|
# combined to create the processed
|
29
|
-
#
|
29
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Product Product}.
|
30
30
|
#
|
31
31
|
# Required product input attributes to pass data validation checks are
|
32
32
|
# primarily defined in the [Products Data
|
33
33
|
# Specification](https://support.google.com/merchants/answer/188494).
|
34
34
|
#
|
35
35
|
# The following attributes are required:
|
36
|
-
#
|
37
|
-
#
|
38
|
-
# and
|
36
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Product#feed_label feedLabel},
|
37
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Product#content_language contentLanguage}
|
38
|
+
# and {::Google::Shopping::Merchant::Products::V1beta::Product#offer_id offerId}.
|
39
39
|
#
|
40
40
|
# After inserting, updating, or deleting a product input, it may take several
|
41
41
|
# minutes before the processed product can be retrieved.
|
@@ -48,6 +48,10 @@ module Google
|
|
48
48
|
# Identifier. The name of the product input.
|
49
49
|
# Format:
|
50
50
|
# `"{productinput.name=accounts/{account}/productInputs/{productinput}}"`
|
51
|
+
# where the last section `productinput` consists of 4 parts:
|
52
|
+
# channel~content_language~feed_label~offer_id
|
53
|
+
# example for product input name is
|
54
|
+
# "accounts/123/productInputs/online~en~US~sku123"
|
51
55
|
# @!attribute [r] product
|
52
56
|
# @return [::String]
|
53
57
|
# Output only. The name of the processed product.
|
@@ -136,6 +140,10 @@ module Google
|
|
136
140
|
# @return [::String]
|
137
141
|
# Required. The name of the product input resource to delete.
|
138
142
|
# Format: accounts/\\{account}/productInputs/\\{product}
|
143
|
+
# where the last section `product` consists of 4 parts:
|
144
|
+
# channel~content_language~feed_label~offer_id
|
145
|
+
# example for product name is
|
146
|
+
# "accounts/123/productInputs/online~en~US~sku123"
|
139
147
|
# @!attribute [rw] data_source
|
140
148
|
# @return [::String]
|
141
149
|
# Required. The primary or supplemental data source from which the product
|
@@ -23,10 +23,10 @@ module Google
|
|
23
23
|
module Products
|
24
24
|
module V1beta
|
25
25
|
# The processed product, built from multiple [product
|
26
|
-
# inputs][
|
27
|
-
# applying rules and supplemental data sources. This processed product
|
28
|
-
# what is shown in your Merchant Center account and in Shopping ads and
|
29
|
-
# surfaces across Google. Each product is built from exactly one primary
|
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 and in Shopping ads and
|
29
|
+
# other surfaces across Google. Each product is built from exactly one primary
|
30
30
|
# data source product input, and multiple supplemental data source inputs.
|
31
31
|
# After inserting, updating, or deleting a product input, it may take
|
32
32
|
# several minutes before the updated processed product can be retrieved.
|
@@ -39,7 +39,10 @@ module Google
|
|
39
39
|
# @return [::String]
|
40
40
|
# The name of the product.
|
41
41
|
# Format:
|
42
|
-
# `"{product.name=accounts/{account}/products/{product}}"`
|
42
|
+
# `"{product.name=accounts/{account}/products/{product}}"` where the last
|
43
|
+
# section `product` consists of 4 parts:
|
44
|
+
# channel~content_language~feed_label~offer_id
|
45
|
+
# example for product name is "accounts/123/products/online~en~US~sku123"
|
43
46
|
# @!attribute [r] channel
|
44
47
|
# @return [::Google::Shopping::Type::Channel::ChannelEnum]
|
45
48
|
# Output only. The
|
@@ -104,6 +107,10 @@ module Google
|
|
104
107
|
# @return [::String]
|
105
108
|
# Required. The name of the product to retrieve.
|
106
109
|
# Format: `accounts/{account}/products/{product}`
|
110
|
+
# where the last section `product` consists of 4 parts:
|
111
|
+
# channel~content_language~feed_label~offer_id
|
112
|
+
# example for product name is
|
113
|
+
# "accounts/123/products/online~en~US~sku123"
|
107
114
|
class GetProductRequest
|
108
115
|
include ::Google::Protobuf::MessageExts
|
109
116
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -118,7 +125,7 @@ module Google
|
|
118
125
|
# @return [::Integer]
|
119
126
|
# The maximum number of products to return. The service may return fewer than
|
120
127
|
# this value.
|
121
|
-
# The maximum value is
|
128
|
+
# The maximum value is 250; values above 250 will be coerced to 250.
|
122
129
|
# If unspecified, the maximum number of products will be returned.
|
123
130
|
# @!attribute [rw] page_token
|
124
131
|
# @return [::String]
|
@@ -101,10 +101,11 @@ module Google
|
|
101
101
|
# is currently no way to get back the auto assigned google product
|
102
102
|
# categories through the API.
|
103
103
|
# @!attribute [rw] gtin
|
104
|
-
# @return [::String]
|
105
|
-
# Global Trade Item
|
104
|
+
# @return [::Array<::String>]
|
105
|
+
# Global Trade Item Numbers
|
106
106
|
# ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the
|
107
107
|
# item.
|
108
|
+
# You can provide up to 10 GTINs.
|
108
109
|
# @!attribute [rw] item_group_id
|
109
110
|
# @return [::String]
|
110
111
|
# Shared identifier for all variants of the same product.
|
@@ -220,8 +221,7 @@ module Google
|
|
220
221
|
# Tax information.
|
221
222
|
# @!attribute [rw] tax_category
|
222
223
|
# @return [::String]
|
223
|
-
# The tax category of the product
|
224
|
-
# in account-level tax settings.
|
224
|
+
# The tax category of the product.
|
225
225
|
# @!attribute [rw] energy_efficiency_class
|
226
226
|
# @return [::String]
|
227
227
|
# The energy efficiency class as defined in EU directive 2010/30/EU.
|
@@ -531,6 +531,17 @@ module Google
|
|
531
531
|
# @!attribute [rw] loyalty_points
|
532
532
|
# @return [::Integer]
|
533
533
|
# The amount of loyalty points earned on a purchase.
|
534
|
+
# @!attribute [rw] member_price_effective_date
|
535
|
+
# @return [::Google::Type::Interval]
|
536
|
+
# A date range during which the item is eligible for member price. If not
|
537
|
+
# specified, the member price is always applicable. The date range is
|
538
|
+
# represented by a pair of ISO 8601 dates separated by a space,
|
539
|
+
# comma, or slash.
|
540
|
+
# @!attribute [rw] shipping_label
|
541
|
+
# @return [::String]
|
542
|
+
# The label of the shipping benefit. If the field has value, this offer has
|
543
|
+
# loyalty shipping benefit. If the field value isn't provided, the item is
|
544
|
+
# not eligible for loyalty shipping for the given loyalty tier.
|
534
545
|
class LoyaltyProgram
|
535
546
|
include ::Google::Protobuf::MessageExts
|
536
547
|
extend ::Google::Protobuf::MessageExts::ClassMethods
|
@@ -572,48 +583,48 @@ module Google
|
|
572
583
|
# Minimum handling time (inclusive) between when the order is received and
|
573
584
|
# shipped in business days. 0 means that the order is shipped on the same
|
574
585
|
# day as it is received if it happens before the cut-off time.
|
575
|
-
#
|
586
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Shipping#min_handling_time minHandlingTime}
|
576
587
|
# can only be present together with
|
577
|
-
#
|
588
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_handling_time maxHandlingTime};
|
578
589
|
# but it is not required if
|
579
|
-
#
|
590
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_handling_time maxHandlingTime}
|
580
591
|
# is present.
|
581
592
|
# @!attribute [rw] max_handling_time
|
582
593
|
# @return [::Integer]
|
583
594
|
# Maximum handling time (inclusive) between when the order is received and
|
584
595
|
# shipped in business days. 0 means that the order is shipped on the same
|
585
596
|
# day as it is received if it happens before the cut-off time. Both
|
586
|
-
#
|
597
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_handling_time maxHandlingTime}
|
587
598
|
# and
|
588
|
-
#
|
599
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_transit_time maxTransitTime}
|
589
600
|
# are required if providing shipping speeds.
|
590
|
-
#
|
601
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Shipping#min_handling_time minHandlingTime}
|
591
602
|
# is optional if
|
592
|
-
#
|
603
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_handling_time maxHandlingTime}
|
593
604
|
# is present.
|
594
605
|
# @!attribute [rw] min_transit_time
|
595
606
|
# @return [::Integer]
|
596
607
|
# Minimum transit time (inclusive) between when the order has shipped and
|
597
608
|
# when it is delivered in business days. 0 means that the order is
|
598
609
|
# delivered on the same day as it ships.
|
599
|
-
#
|
610
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Shipping#min_transit_time minTransitTime}
|
600
611
|
# can only be present together with
|
601
|
-
#
|
612
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_transit_time maxTransitTime};
|
602
613
|
# but it is not required if
|
603
|
-
#
|
614
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_transit_time maxTransitTime}
|
604
615
|
# is present.
|
605
616
|
# @!attribute [rw] max_transit_time
|
606
617
|
# @return [::Integer]
|
607
618
|
# Maximum transit time (inclusive) between when the order has shipped and
|
608
619
|
# when it is delivered in business days. 0 means that the order is
|
609
620
|
# delivered on the same day as it ships. Both
|
610
|
-
#
|
621
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_handling_time maxHandlingTime}
|
611
622
|
# and
|
612
|
-
#
|
623
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_transit_time maxTransitTime}
|
613
624
|
# are required if providing shipping speeds.
|
614
|
-
#
|
625
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Shipping#min_transit_time minTransitTime}
|
615
626
|
# is optional if
|
616
|
-
#
|
627
|
+
# {::Google::Shopping::Merchant::Products::V1beta::Shipping#max_transit_time maxTransitTime}
|
617
628
|
# is present.
|
618
629
|
class Shipping
|
619
630
|
include ::Google::Protobuf::MessageExts
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: google-shopping-merchant-products-v1beta
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Google LLC
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-
|
11
|
+
date: 2024-12-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gapic-common
|
@@ -16,7 +16,7 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.24.0
|
20
20
|
- - "<"
|
21
21
|
- !ruby/object:Gem::Version
|
22
22
|
version: 2.a
|
@@ -26,7 +26,7 @@ dependencies:
|
|
26
26
|
requirements:
|
27
27
|
- - ">="
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.
|
29
|
+
version: 0.24.0
|
30
30
|
- - "<"
|
31
31
|
- !ruby/object:Gem::Version
|
32
32
|
version: 2.a
|
@@ -64,10 +64,22 @@ dependencies:
|
|
64
64
|
- - "<"
|
65
65
|
- !ruby/object:Gem::Version
|
66
66
|
version: 2.a
|
67
|
-
description:
|
67
|
+
description: 'Merchant API consists of multiple Sub-APIs. Accounts Sub-API: Enables
|
68
|
+
you to programmatically manage your accounts. Conversions Sub-API: Enables you to
|
69
|
+
programmatically manage your conversion sources for a merchant account. Datasources
|
70
|
+
Sub-API: Enables you to programmatically manage your datasources. Inventories Sub-API:
|
71
|
+
This bundle enables you to programmatically manage your local and regional inventories.
|
72
|
+
Local Feeds Partnerships Sub-API: This bundle enables LFP partners to submit local
|
73
|
+
inventories for a merchant. Notifications Sub-API: This bundle enables you to programmatically
|
74
|
+
manage your notification subscriptions. Products Sub-API: This bundle enables you
|
75
|
+
to programmatically manage your products. Promotions Sub-API: This bundle enables
|
76
|
+
you to programmatically manage your promotions for products. Quota Sub-API: This
|
77
|
+
bundle enables you to list your quotas for all APIs you are using. Reports Sub-API:
|
78
|
+
This bundle enables you to programmatically retrieve reports and insights about
|
79
|
+
products, their performance and their competitive environment. Note that google-shopping-merchant-products-v1beta
|
68
80
|
is a version-specific client library. For most uses, we recommend installing the
|
69
81
|
main client library google-shopping-merchant-products instead. See the readme for
|
70
|
-
more details.
|
82
|
+
more details.'
|
71
83
|
email: googleapis-packages@google.com
|
72
84
|
executables: []
|
73
85
|
extensions: []
|
@@ -132,8 +144,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
132
144
|
- !ruby/object:Gem::Version
|
133
145
|
version: '0'
|
134
146
|
requirements: []
|
135
|
-
rubygems_version: 3.5.
|
147
|
+
rubygems_version: 3.5.23
|
136
148
|
signing_key:
|
137
149
|
specification_version: 4
|
138
|
-
summary: Programmatically manage your Merchant Center
|
150
|
+
summary: Programmatically manage your Merchant Center Accounts.
|
139
151
|
test_files: []
|