google-shopping-merchant-products-v1beta 0.1.2 → 0.3.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 +33 -22
- data/lib/google/shopping/merchant/products/v1beta/product_inputs_service/client.rb +38 -3
- data/lib/google/shopping/merchant/products/v1beta/product_inputs_service/rest/client.rb +38 -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 +40 -4
- data/lib/google/shopping/merchant/products/v1beta/products_service/rest/client.rb +40 -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 +21 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5370f5cc5e0fa7aeffd1296a11855f41a23d6821d0d7a7b5b519fcd3ff3a927f
|
4
|
+
data.tar.gz: f3f2ec563e68c23f082399d09fe36754d09b96dcf6b0a8275df30489d9d0b35c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b1a54e35cac6c9cb67fa0f0d0eb9c0f200a08e545ede69b45a72fdfdd88e7f4f58e134007d189c5796a680f3d67f5bf106899433972fa9002038df49a3cc12c1
|
7
|
+
data.tar.gz: 814ef424d25d9818afc68c04949c40fb467cacb172dfbc881729a325711f11eeff734cc6c6214ce4a8d1bf7ed6c4516fe9b985d47f405d39a9dc6ff57b1620e6
|
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,40 +43,50 @@ 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).
|
75
86
|
|
76
87
|
## Supported Ruby Versions
|
77
88
|
|
78
|
-
This library is supported on Ruby
|
89
|
+
This library is supported on Ruby 3.0+.
|
79
90
|
|
80
91
|
Google provides official support for Ruby versions that are actively supported
|
81
92
|
by Ruby Core—that is, Ruby versions that are either in normal maintenance or
|
@@ -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)
|
@@ -407,6 +429,13 @@ module Google
|
|
407
429
|
# * (`GRPC::Core::Channel`) a gRPC channel with included credentials
|
408
430
|
# * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
|
409
431
|
# * (`nil`) indicating no credentials
|
432
|
+
#
|
433
|
+
# Warning: If you accept a credential configuration (JSON file or Hash) from an
|
434
|
+
# external source for authentication to Google Cloud, you must validate it before
|
435
|
+
# providing it to a Google API client library. Providing an unvalidated credential
|
436
|
+
# configuration to Google APIs can compromise the security of your systems and data.
|
437
|
+
# For more information, refer to [Validate credential configurations from external
|
438
|
+
# sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
|
410
439
|
# @return [::Object]
|
411
440
|
# @!attribute [rw] scope
|
412
441
|
# The OAuth scopes
|
@@ -446,6 +475,11 @@ module Google
|
|
446
475
|
# default endpoint URL. The default value of nil uses the environment
|
447
476
|
# universe (usually the default "googleapis.com" universe).
|
448
477
|
# @return [::String,nil]
|
478
|
+
# @!attribute [rw] logger
|
479
|
+
# A custom logger to use for request/response debug logging, or the value
|
480
|
+
# `:default` (the default) to construct a default logger, or `nil` to
|
481
|
+
# explicitly disable logging.
|
482
|
+
# @return [::Logger,:default,nil]
|
449
483
|
#
|
450
484
|
class Configuration
|
451
485
|
extend ::Gapic::Config
|
@@ -470,6 +504,7 @@ module Google
|
|
470
504
|
config_attr :retry_policy, nil, ::Hash, ::Proc, nil
|
471
505
|
config_attr :quota_project, nil, ::String, nil
|
472
506
|
config_attr :universe_domain, nil, ::String, nil
|
507
|
+
config_attr :logger, :default, ::Logger, nil, :default
|
473
508
|
|
474
509
|
# @private
|
475
510
|
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)
|
@@ -384,6 +406,13 @@ module Google
|
|
384
406
|
# * (`Signet::OAuth2::Client`) A signet oauth2 client object
|
385
407
|
# (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
|
386
408
|
# * (`nil`) indicating no credentials
|
409
|
+
#
|
410
|
+
# Warning: If you accept a credential configuration (JSON file or Hash) from an
|
411
|
+
# external source for authentication to Google Cloud, you must validate it before
|
412
|
+
# providing it to a Google API client library. Providing an unvalidated credential
|
413
|
+
# configuration to Google APIs can compromise the security of your systems and data.
|
414
|
+
# For more information, refer to [Validate credential configurations from external
|
415
|
+
# sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
|
387
416
|
# @return [::Object]
|
388
417
|
# @!attribute [rw] scope
|
389
418
|
# The OAuth scopes
|
@@ -416,6 +445,11 @@ module Google
|
|
416
445
|
# default endpoint URL. The default value of nil uses the environment
|
417
446
|
# universe (usually the default "googleapis.com" universe).
|
418
447
|
# @return [::String,nil]
|
448
|
+
# @!attribute [rw] logger
|
449
|
+
# A custom logger to use for request/response debug logging, or the value
|
450
|
+
# `:default` (the default) to construct a default logger, or `nil` to
|
451
|
+
# explicitly disable logging.
|
452
|
+
# @return [::Logger,:default,nil]
|
419
453
|
#
|
420
454
|
class Configuration
|
421
455
|
extend ::Gapic::Config
|
@@ -437,6 +471,7 @@ module Google
|
|
437
471
|
config_attr :retry_policy, nil, ::Hash, ::Proc, nil
|
438
472
|
config_attr :quota_project, nil, ::String, nil
|
439
473
|
config_attr :universe_domain, nil, ::String, nil
|
474
|
+
config_attr :logger, :default, ::Logger, nil, :default
|
440
475
|
|
441
476
|
# @private
|
442
477
|
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)
|
@@ -412,6 +435,13 @@ module Google
|
|
412
435
|
# * (`GRPC::Core::Channel`) a gRPC channel with included credentials
|
413
436
|
# * (`GRPC::Core::ChannelCredentials`) a gRPC credentails object
|
414
437
|
# * (`nil`) indicating no credentials
|
438
|
+
#
|
439
|
+
# Warning: If you accept a credential configuration (JSON file or Hash) from an
|
440
|
+
# external source for authentication to Google Cloud, you must validate it before
|
441
|
+
# providing it to a Google API client library. Providing an unvalidated credential
|
442
|
+
# configuration to Google APIs can compromise the security of your systems and data.
|
443
|
+
# For more information, refer to [Validate credential configurations from external
|
444
|
+
# sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
|
415
445
|
# @return [::Object]
|
416
446
|
# @!attribute [rw] scope
|
417
447
|
# The OAuth scopes
|
@@ -451,6 +481,11 @@ module Google
|
|
451
481
|
# default endpoint URL. The default value of nil uses the environment
|
452
482
|
# universe (usually the default "googleapis.com" universe).
|
453
483
|
# @return [::String,nil]
|
484
|
+
# @!attribute [rw] logger
|
485
|
+
# A custom logger to use for request/response debug logging, or the value
|
486
|
+
# `:default` (the default) to construct a default logger, or `nil` to
|
487
|
+
# explicitly disable logging.
|
488
|
+
# @return [::Logger,:default,nil]
|
454
489
|
#
|
455
490
|
class Configuration
|
456
491
|
extend ::Gapic::Config
|
@@ -475,6 +510,7 @@ module Google
|
|
475
510
|
config_attr :retry_policy, nil, ::Hash, ::Proc, nil
|
476
511
|
config_attr :quota_project, nil, ::String, nil
|
477
512
|
config_attr :universe_domain, nil, ::String, nil
|
513
|
+
config_attr :logger, :default, ::Logger, nil, :default
|
478
514
|
|
479
515
|
# @private
|
480
516
|
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)
|
@@ -389,6 +412,13 @@ module Google
|
|
389
412
|
# * (`Signet::OAuth2::Client`) A signet oauth2 client object
|
390
413
|
# (see the [signet docs](https://rubydoc.info/gems/signet/Signet/OAuth2/Client))
|
391
414
|
# * (`nil`) indicating no credentials
|
415
|
+
#
|
416
|
+
# Warning: If you accept a credential configuration (JSON file or Hash) from an
|
417
|
+
# external source for authentication to Google Cloud, you must validate it before
|
418
|
+
# providing it to a Google API client library. Providing an unvalidated credential
|
419
|
+
# configuration to Google APIs can compromise the security of your systems and data.
|
420
|
+
# For more information, refer to [Validate credential configurations from external
|
421
|
+
# sources](https://cloud.google.com/docs/authentication/external/externally-sourced-credentials).
|
392
422
|
# @return [::Object]
|
393
423
|
# @!attribute [rw] scope
|
394
424
|
# The OAuth scopes
|
@@ -421,6 +451,11 @@ module Google
|
|
421
451
|
# default endpoint URL. The default value of nil uses the environment
|
422
452
|
# universe (usually the default "googleapis.com" universe).
|
423
453
|
# @return [::String,nil]
|
454
|
+
# @!attribute [rw] logger
|
455
|
+
# A custom logger to use for request/response debug logging, or the value
|
456
|
+
# `:default` (the default) to construct a default logger, or `nil` to
|
457
|
+
# explicitly disable logging.
|
458
|
+
# @return [::Logger,:default,nil]
|
424
459
|
#
|
425
460
|
class Configuration
|
426
461
|
extend ::Gapic::Config
|
@@ -442,6 +477,7 @@ module Google
|
|
442
477
|
config_attr :retry_policy, nil, ::Hash, ::Proc, nil
|
443
478
|
config_attr :quota_project, nil, ::String, nil
|
444
479
|
config_attr :universe_domain, nil, ::String, nil
|
480
|
+
config_attr :logger, :default, ::Logger, nil, :default
|
445
481
|
|
446
482
|
# @private
|
447
483
|
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,13 @@
|
|
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.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Google LLC
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-01-29 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: gapic-common
|
@@ -16,7 +15,7 @@ dependencies:
|
|
16
15
|
requirements:
|
17
16
|
- - ">="
|
18
17
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
18
|
+
version: 0.25.0
|
20
19
|
- - "<"
|
21
20
|
- !ruby/object:Gem::Version
|
22
21
|
version: 2.a
|
@@ -26,7 +25,7 @@ dependencies:
|
|
26
25
|
requirements:
|
27
26
|
- - ">="
|
28
27
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.
|
28
|
+
version: 0.25.0
|
30
29
|
- - "<"
|
31
30
|
- !ruby/object:Gem::Version
|
32
31
|
version: 2.a
|
@@ -64,10 +63,22 @@ dependencies:
|
|
64
63
|
- - "<"
|
65
64
|
- !ruby/object:Gem::Version
|
66
65
|
version: 2.a
|
67
|
-
description:
|
66
|
+
description: 'Merchant API consists of multiple Sub-APIs. Accounts Sub-API: Enables
|
67
|
+
you to programmatically manage your accounts. Conversions Sub-API: Enables you to
|
68
|
+
programmatically manage your conversion sources for a merchant account. Datasources
|
69
|
+
Sub-API: Enables you to programmatically manage your datasources. Inventories Sub-API:
|
70
|
+
This bundle enables you to programmatically manage your local and regional inventories.
|
71
|
+
Local Feeds Partnerships Sub-API: This bundle enables LFP partners to submit local
|
72
|
+
inventories for a merchant. Notifications Sub-API: This bundle enables you to programmatically
|
73
|
+
manage your notification subscriptions. Products Sub-API: This bundle enables you
|
74
|
+
to programmatically manage your products. Promotions Sub-API: This bundle enables
|
75
|
+
you to programmatically manage your promotions for products. Quota Sub-API: This
|
76
|
+
bundle enables you to list your quotas for all APIs you are using. Reports Sub-API:
|
77
|
+
This bundle enables you to programmatically retrieve reports and insights about
|
78
|
+
products, their performance and their competitive environment. Note that google-shopping-merchant-products-v1beta
|
68
79
|
is a version-specific client library. For most uses, we recommend installing the
|
69
80
|
main client library google-shopping-merchant-products instead. See the readme for
|
70
|
-
more details.
|
81
|
+
more details.'
|
71
82
|
email: googleapis-packages@google.com
|
72
83
|
executables: []
|
73
84
|
extensions: []
|
@@ -117,7 +128,6 @@ homepage: https://github.com/googleapis/google-cloud-ruby
|
|
117
128
|
licenses:
|
118
129
|
- Apache-2.0
|
119
130
|
metadata: {}
|
120
|
-
post_install_message:
|
121
131
|
rdoc_options: []
|
122
132
|
require_paths:
|
123
133
|
- lib
|
@@ -125,15 +135,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
125
135
|
requirements:
|
126
136
|
- - ">="
|
127
137
|
- !ruby/object:Gem::Version
|
128
|
-
version: '
|
138
|
+
version: '3.0'
|
129
139
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
130
140
|
requirements:
|
131
141
|
- - ">="
|
132
142
|
- !ruby/object:Gem::Version
|
133
143
|
version: '0'
|
134
144
|
requirements: []
|
135
|
-
rubygems_version: 3.
|
136
|
-
signing_key:
|
145
|
+
rubygems_version: 3.6.2
|
137
146
|
specification_version: 4
|
138
|
-
summary: Programmatically manage your Merchant Center
|
147
|
+
summary: Programmatically manage your Merchant Center Accounts.
|
139
148
|
test_files: []
|