google-shopping-merchant-products-v1 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c2f8a84a0d07d83a1966c6d02b185056586de2e32294e170fb0593449dc1fb5f
4
- data.tar.gz: 9ed18a2b296edcd932c54786379152e58742c359c3bfe1c3354ca73e5268f56f
3
+ metadata.gz: 07bb952a518c500b55609f43d92babf7a493d0865b3e87044c5e2c4c726bfba5
4
+ data.tar.gz: 2d1cd17243f50ef74dd2c29c559cb789594004714b54cebcab17d31f8f2f9bb4
5
5
  SHA512:
6
- metadata.gz: f59d24885371d409705c633910c424c6846912786f60e04f4ce6b2ba677c0c5e0f60ba4d72088e14f06cab0ce1cd01190ff4c3772e40c0917485a25e4d39730b
7
- data.tar.gz: 74fe4295ace2961ca7b15b074edff4f9fa2b009b831e9e9788849c033abfb64e874b57bd7abd17254c9960991fb1a60d07413a047eda71b833e535113bfd4f75
6
+ metadata.gz: 2976f1d0cb98579febda799ef7be95582ee95a69801bad62e5c2e65ef83602c7b96809b01c57c51ab9d1e8ea046986a86adbf3e9bc15215b7cc938c282fafc35
7
+ data.tar.gz: aff60f2cb054e8aa1615b363d8865ffa2bd8d97e8ae403a422690e632476d008f6dc9b29347ec5a74b44e5032966e2e2c4c81cf334b465a459a0cd625cbdb3f0
@@ -191,11 +191,11 @@ module Google
191
191
 
192
192
  ##
193
193
  # [Uploads a product input to your Merchant Center
194
- # account](/merchant/api/guides/products/overview#upload-product-input). You
194
+ # account](/merchant/api/guides/products/add-manage#add_a_product). You
195
195
  # must have a products [data
196
- # source](/merchant/api/guides/data-sources/overview) to be able to insert a
197
- # product. The unique identifier of the data source is passed as a query
198
- # parameter in the request URL.
196
+ # source](/merchant/api/guides/data-sources/api-sources#create-primary-data-source)
197
+ # to be able to insert a product. The unique identifier of the data source is
198
+ # passed as a query parameter in the request URL.
199
199
  #
200
200
  # If a product input with the same contentLanguage, offerId, and dataSource
201
201
  # already exists, then the product input inserted by this method replaces
@@ -228,8 +228,8 @@ module Google
228
228
  # Required. The primary or supplemental product data source name. If the
229
229
  # product already exists and data source provided is different, then the
230
230
  # product will be moved to a new data source. For more information, see
231
- # [Overview of Data sources
232
- # sub-API](/merchant/api/guides/data-sources/overview).
231
+ # [Create a primary data
232
+ # source](/merchant/api/guides/data-sources/api-sources#create-primary-data-source).
233
233
  #
234
234
  # Only API data sources are supported.
235
235
  #
@@ -316,7 +316,7 @@ module Google
316
316
  # @param options [::Gapic::CallOptions, ::Hash]
317
317
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
318
318
  #
319
- # @overload update_product_input(product_input: nil, update_mask: nil, data_source: nil)
319
+ # @overload update_product_input(product_input: nil, update_mask: nil, data_source: nil, product_id_base64_url_encoded: nil)
320
320
  # Pass arguments to `update_product_input` via keyword arguments. Note that at
321
321
  # least one keyword argument is required. To specify no parameters, or to keep all
322
322
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -348,6 +348,18 @@ module Google
348
348
  #
349
349
  # Format: `accounts/{account}/dataSources/{datasource}`. For example,
350
350
  # `accounts/123456/dataSources/104628`.
351
+ # @param product_id_base64_url_encoded [::Boolean]
352
+ # Optional. If true, the `{productInput}` in the `name` field of the request
353
+ # will be interpreted as unpadded base64url-encoded and decoded during
354
+ # request processing to match the decoded value. Default value is `false`.
355
+ # Use this if your `{productInput}` contains special characters, such as
356
+ # forward slash
357
+ # `/` or other characters that are unpadded base64url-encoded (as per RFC
358
+ # 7515: https://datatracker.ietf.org/doc/html/rfc7515#section-2).
359
+ #
360
+ # Note that future versions of the API will only accept unpadded
361
+ # base64url-encoded product ids, so we strongly recommend proactively setting
362
+ # this to `true` and encoding the product ids.
351
363
  #
352
364
  # @yield [response, operation] Access the result along with the RPC operation
353
365
  # @yieldparam response [::Google::Shopping::Merchant::Products::V1::ProductInput]
@@ -429,7 +441,7 @@ module Google
429
441
  # @param options [::Gapic::CallOptions, ::Hash]
430
442
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
431
443
  #
432
- # @overload delete_product_input(name: nil, data_source: nil)
444
+ # @overload delete_product_input(name: nil, data_source: nil, product_id_base64_url_encoded: nil)
433
445
  # Pass arguments to `delete_product_input` via keyword arguments. Note that at
434
446
  # least one keyword argument is required. To specify no parameters, or to keep all
435
447
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -446,6 +458,18 @@ module Google
446
458
  # input should be deleted. Format:
447
459
  # `accounts/{account}/dataSources/{datasource}`. For example,
448
460
  # `accounts/123456/dataSources/104628`.
461
+ # @param product_id_base64_url_encoded [::Boolean]
462
+ # Optional. If true, the `{productInput}` in the `name` field of the request
463
+ # will be interpreted as unpadded base64url-encoded and decoded during
464
+ # request processing to match the decoded value. Default value is `false`.
465
+ # Use this if your `{productInput}` contains special characters, such as
466
+ # forward slash
467
+ # `/` or other characters that are unpadded base64url-encoded (as per RFC
468
+ # 7515: https://datatracker.ietf.org/doc/html/rfc7515#section-2).
469
+ #
470
+ # Note that future versions of the API will only accept unpadded
471
+ # base64url-encoded product ids, so we strongly recommend proactively setting
472
+ # this to `true` and encoding the product ids.
449
473
  #
450
474
  # @yield [response, operation] Access the result along with the RPC operation
451
475
  # @yieldparam response [::Google::Protobuf::Empty]
@@ -184,11 +184,11 @@ module Google
184
184
 
185
185
  ##
186
186
  # [Uploads a product input to your Merchant Center
187
- # account](/merchant/api/guides/products/overview#upload-product-input). You
187
+ # account](/merchant/api/guides/products/add-manage#add_a_product). You
188
188
  # must have a products [data
189
- # source](/merchant/api/guides/data-sources/overview) to be able to insert a
190
- # product. The unique identifier of the data source is passed as a query
191
- # parameter in the request URL.
189
+ # source](/merchant/api/guides/data-sources/api-sources#create-primary-data-source)
190
+ # to be able to insert a product. The unique identifier of the data source is
191
+ # passed as a query parameter in the request URL.
192
192
  #
193
193
  # If a product input with the same contentLanguage, offerId, and dataSource
194
194
  # already exists, then the product input inserted by this method replaces
@@ -221,8 +221,8 @@ module Google
221
221
  # Required. The primary or supplemental product data source name. If the
222
222
  # product already exists and data source provided is different, then the
223
223
  # product will be moved to a new data source. For more information, see
224
- # [Overview of Data sources
225
- # sub-API](/merchant/api/guides/data-sources/overview).
224
+ # [Create a primary data
225
+ # source](/merchant/api/guides/data-sources/api-sources#create-primary-data-source).
226
226
  #
227
227
  # Only API data sources are supported.
228
228
  #
@@ -302,7 +302,7 @@ module Google
302
302
  # @param options [::Gapic::CallOptions, ::Hash]
303
303
  # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
304
304
  #
305
- # @overload update_product_input(product_input: nil, update_mask: nil, data_source: nil)
305
+ # @overload update_product_input(product_input: nil, update_mask: nil, data_source: nil, product_id_base64_url_encoded: nil)
306
306
  # Pass arguments to `update_product_input` via keyword arguments. Note that at
307
307
  # least one keyword argument is required. To specify no parameters, or to keep all
308
308
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -334,6 +334,18 @@ module Google
334
334
  #
335
335
  # Format: `accounts/{account}/dataSources/{datasource}`. For example,
336
336
  # `accounts/123456/dataSources/104628`.
337
+ # @param product_id_base64_url_encoded [::Boolean]
338
+ # Optional. If true, the `{productInput}` in the `name` field of the request
339
+ # will be interpreted as unpadded base64url-encoded and decoded during
340
+ # request processing to match the decoded value. Default value is `false`.
341
+ # Use this if your `{productInput}` contains special characters, such as
342
+ # forward slash
343
+ # `/` or other characters that are unpadded base64url-encoded (as per RFC
344
+ # 7515: https://datatracker.ietf.org/doc/html/rfc7515#section-2).
345
+ #
346
+ # Note that future versions of the API will only accept unpadded
347
+ # base64url-encoded product ids, so we strongly recommend proactively setting
348
+ # this to `true` and encoding the product ids.
337
349
  # @yield [result, operation] Access the result along with the TransportOperation object
338
350
  # @yieldparam result [::Google::Shopping::Merchant::Products::V1::ProductInput]
339
351
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -408,7 +420,7 @@ module Google
408
420
  # @param options [::Gapic::CallOptions, ::Hash]
409
421
  # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
410
422
  #
411
- # @overload delete_product_input(name: nil, data_source: nil)
423
+ # @overload delete_product_input(name: nil, data_source: nil, product_id_base64_url_encoded: nil)
412
424
  # Pass arguments to `delete_product_input` via keyword arguments. Note that at
413
425
  # least one keyword argument is required. To specify no parameters, or to keep all
414
426
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -425,6 +437,18 @@ module Google
425
437
  # input should be deleted. Format:
426
438
  # `accounts/{account}/dataSources/{datasource}`. For example,
427
439
  # `accounts/123456/dataSources/104628`.
440
+ # @param product_id_base64_url_encoded [::Boolean]
441
+ # Optional. If true, the `{productInput}` in the `name` field of the request
442
+ # will be interpreted as unpadded base64url-encoded and decoded during
443
+ # request processing to match the decoded value. Default value is `false`.
444
+ # Use this if your `{productInput}` contains special characters, such as
445
+ # forward slash
446
+ # `/` or other characters that are unpadded base64url-encoded (as per RFC
447
+ # 7515: https://datatracker.ietf.org/doc/html/rfc7515#section-2).
448
+ #
449
+ # Note that future versions of the API will only accept unpadded
450
+ # base64url-encoded product ids, so we strongly recommend proactively setting
451
+ # this to `true` and encoding the product ids.
428
452
  # @yield [result, operation] Access the result along with the TransportOperation object
429
453
  # @yieldparam result [::Google::Protobuf::Empty]
430
454
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -14,7 +14,7 @@ require 'google/shopping/merchant/products/v1/products_common_pb'
14
14
  require 'google/shopping/type/types_pb'
15
15
 
16
16
 
17
- descriptor_data = "\n8google/shopping/merchant/products/v1/productinputs.proto\x12$google.shopping.merchant.products.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a:google/shopping/merchant/products/v1/products_common.proto\x1a google/shopping/type/types.proto\"\xff\x03\n\x0cProductInput\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x14\n\x07product\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x19\n\x0clegacy_local\x18\n \x01(\x08\x42\x03\xe0\x41\x05\x12\x18\n\x08offer_id\x18\x04 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x05\x12 \n\x10\x63ontent_language\x18\x05 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x05\x12\x1a\n\nfeed_label\x18\x06 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x05\x12#\n\x0eversion_number\x18\x07 \x01(\x03\x42\x06\xe0\x41\x01\xe0\x41\x05H\x00\x88\x01\x01\x12X\n\x12product_attributes\x18\x0b \x01(\x0b\x32\x37.google.shopping.merchant.products.v1.ProductAttributesB\x03\xe0\x41\x01\x12\x45\n\x11\x63ustom_attributes\x18\t \x03(\x0b\x32%.google.shopping.type.CustomAttributeB\x03\xe0\x41\x01:z\xea\x41w\n\'merchantapi.googleapis.com/ProductInput\x12/accounts/{account}/productInputs/{productinput}*\rproductInputs2\x0cproductInputB\x11\n\x0f_version_number\"\xc1\x01\n\x19InsertProductInputRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"merchantapi.googleapis.com/Product\x12N\n\rproduct_input\x18\x02 \x01(\x0b\x32\x32.google.shopping.merchant.products.v1.ProductInputB\x03\xe0\x41\x02\x12\x18\n\x0b\x64\x61ta_source\x18\x03 \x01(\tB\x03\xe0\x41\x02\"\xbb\x01\n\x19UpdateProductInputRequest\x12N\n\rproduct_input\x18\x01 \x01(\x0b\x32\x32.google.shopping.merchant.products.v1.ProductInputB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12\x18\n\x0b\x64\x61ta_source\x18\x03 \x01(\tB\x03\xe0\x41\x02\"t\n\x19\x44\x65leteProductInputRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'merchantapi.googleapis.com/ProductInput\x12\x18\n\x0b\x64\x61ta_source\x18\x02 \x01(\tB\x03\xe0\x41\x02\x32\xe5\x05\n\x14ProductInputsService\x12\xd7\x01\n\x12InsertProductInput\x12?.google.shopping.merchant.products.v1.InsertProductInputRequest\x1a\x32.google.shopping.merchant.products.v1.ProductInput\"L\x82\xd3\xe4\x93\x02\x46\"5/products/v1/{parent=accounts/*}/productInputs:insert:\rproduct_input\x12\xfa\x01\n\x12UpdateProductInput\x12?.google.shopping.merchant.products.v1.UpdateProductInputRequest\x1a\x32.google.shopping.merchant.products.v1.ProductInput\"o\xda\x41\x19product_input,update_mask\x82\xd3\xe4\x93\x02M2</products/v1/{product_input.name=accounts/*/productInputs/*}:\rproduct_input\x12\xac\x01\n\x12\x44\x65leteProductInput\x12?.google.shopping.merchant.products.v1.DeleteProductInputRequest\x1a\x16.google.protobuf.Empty\"=\xda\x41\x04name\x82\xd3\xe4\x93\x02\x30*./products/v1/{name=accounts/*/productInputs/*}\x1aG\xca\x41\x1amerchantapi.googleapis.com\xd2\x41\'https://www.googleapis.com/auth/contentB\x85\x02\n(com.google.shopping.merchant.products.v1B\x12ProductInputsProtoP\x01ZJcloud.google.com/go/shopping/merchant/products/apiv1/productspb;productspb\xaa\x02$Google.Shopping.Merchant.Products.V1\xca\x02$Google\\Shopping\\Merchant\\Products\\V1\xea\x02(Google::Shopping::Merchant::Products::V1b\x06proto3"
17
+ descriptor_data = "\n8google/shopping/merchant/products/v1/productinputs.proto\x12$google.shopping.merchant.products.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a:google/shopping/merchant/products/v1/products_common.proto\x1a google/shopping/type/types.proto\"\xff\x03\n\x0cProductInput\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x14\n\x07product\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x19\n\x0clegacy_local\x18\n \x01(\x08\x42\x03\xe0\x41\x05\x12\x18\n\x08offer_id\x18\x04 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x05\x12 \n\x10\x63ontent_language\x18\x05 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x05\x12\x1a\n\nfeed_label\x18\x06 \x01(\tB\x06\xe0\x41\x02\xe0\x41\x05\x12#\n\x0eversion_number\x18\x07 \x01(\x03\x42\x06\xe0\x41\x01\xe0\x41\x05H\x00\x88\x01\x01\x12X\n\x12product_attributes\x18\x0b \x01(\x0b\x32\x37.google.shopping.merchant.products.v1.ProductAttributesB\x03\xe0\x41\x01\x12\x45\n\x11\x63ustom_attributes\x18\t \x03(\x0b\x32%.google.shopping.type.CustomAttributeB\x03\xe0\x41\x01:z\xea\x41w\n\'merchantapi.googleapis.com/ProductInput\x12/accounts/{account}/productInputs/{productinput}*\rproductInputs2\x0cproductInputB\x11\n\x0f_version_number\"\xc1\x01\n\x19InsertProductInputRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"merchantapi.googleapis.com/Product\x12N\n\rproduct_input\x18\x02 \x01(\x0b\x32\x32.google.shopping.merchant.products.v1.ProductInputB\x03\xe0\x41\x02\x12\x18\n\x0b\x64\x61ta_source\x18\x03 \x01(\tB\x03\xe0\x41\x02\"\xe7\x01\n\x19UpdateProductInputRequest\x12N\n\rproduct_input\x18\x01 \x01(\x0b\x32\x32.google.shopping.merchant.products.v1.ProductInputB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x01\x12\x18\n\x0b\x64\x61ta_source\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12*\n\x1dproduct_id_base64_url_encoded\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\"\xa0\x01\n\x19\x44\x65leteProductInputRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'merchantapi.googleapis.com/ProductInput\x12\x18\n\x0b\x64\x61ta_source\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12*\n\x1dproduct_id_base64_url_encoded\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x32\xe5\x05\n\x14ProductInputsService\x12\xd7\x01\n\x12InsertProductInput\x12?.google.shopping.merchant.products.v1.InsertProductInputRequest\x1a\x32.google.shopping.merchant.products.v1.ProductInput\"L\x82\xd3\xe4\x93\x02\x46\"5/products/v1/{parent=accounts/*}/productInputs:insert:\rproduct_input\x12\xfa\x01\n\x12UpdateProductInput\x12?.google.shopping.merchant.products.v1.UpdateProductInputRequest\x1a\x32.google.shopping.merchant.products.v1.ProductInput\"o\xda\x41\x19product_input,update_mask\x82\xd3\xe4\x93\x02M2</products/v1/{product_input.name=accounts/*/productInputs/*}:\rproduct_input\x12\xac\x01\n\x12\x44\x65leteProductInput\x12?.google.shopping.merchant.products.v1.DeleteProductInputRequest\x1a\x16.google.protobuf.Empty\"=\xda\x41\x04name\x82\xd3\xe4\x93\x02\x30*./products/v1/{name=accounts/*/productInputs/*}\x1aG\xca\x41\x1amerchantapi.googleapis.com\xd2\x41\'https://www.googleapis.com/auth/contentB\x85\x02\n(com.google.shopping.merchant.products.v1B\x12ProductInputsProtoP\x01ZJcloud.google.com/go/shopping/merchant/products/apiv1/productspb;productspb\xaa\x02$Google.Shopping.Merchant.Products.V1\xca\x02$Google\\Shopping\\Merchant\\Products\\V1\xea\x02(Google::Shopping::Merchant::Products::V1b\x06proto3"
18
18
 
19
19
  pool = Google::Protobuf::DescriptorPool.generated_pool
20
20
 
@@ -35,11 +35,11 @@ module Google
35
35
  self.service_name = 'google.shopping.merchant.products.v1.ProductInputsService'
36
36
 
37
37
  # [Uploads a product input to your Merchant Center
38
- # account](/merchant/api/guides/products/overview#upload-product-input). You
38
+ # account](/merchant/api/guides/products/add-manage#add_a_product). You
39
39
  # must have a products [data
40
- # source](/merchant/api/guides/data-sources/overview) to be able to insert a
41
- # product. The unique identifier of the data source is passed as a query
42
- # parameter in the request URL.
40
+ # source](/merchant/api/guides/data-sources/api-sources#create-primary-data-source)
41
+ # to be able to insert a product. The unique identifier of the data source is
42
+ # passed as a query parameter in the request URL.
43
43
  #
44
44
  # If a product input with the same contentLanguage, offerId, and dataSource
45
45
  # already exists, then the product input inserted by this method replaces
@@ -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/v1/products_common.proto\x12$google.shopping.merchant.products.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a google/shopping/type/types.proto\x1a\x1agoogle/type/interval.proto\"\xf3@\n\x11ProductAttributes\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\x46\n\tage_group\x18\x12 \x01(\x0e\x32..google.shopping.merchant.products.v1.AgeGroupH\t\x88\x01\x01\x12M\n\x0c\x61vailability\x18\x13 \x01(\x0e\x32\x32.google.shopping.merchant.products.v1.AvailabilityH\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\x12G\n\tcondition\x18\x17 \x01(\x0e\x32/.google.shopping.merchant.products.v1.ConditionH\r\x88\x01\x01\x12\x41\n\x06gender\x18\x18 \x01(\x0e\x32,.google.shopping.merchant.products.v1.GenderH\x0e\x88\x01\x01\x12$\n\x17google_product_category\x18\x19 \x01(\tH\x0f\x88\x01\x01\x12\x0e\n\x05gtins\x18\x8c\x01 \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\x12:\n\x14maximum_retail_price\x18\x8b\x01 \x01(\x0b\x32\x1b.google.shopping.type.Price\x12M\n\x0binstallment\x18 \x01(\x0b\x32\x38.google.shopping.merchant.products.v1.ProductInstallment\x12Q\n\x11subscription_cost\x18! \x01(\x0b\x32\x36.google.shopping.merchant.products.v1.SubscriptionCost\x12K\n\x0eloyalty_points\x18\" \x01(\x0b\x32\x33.google.shopping.merchant.products.v1.LoyaltyPoints\x12O\n\x10loyalty_programs\x18\x88\x01 \x03(\x0b\x32\x34.google.shopping.merchant.products.v1.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\x12N\n\x0eproduct_height\x18w \x01(\x0b\x32\x36.google.shopping.merchant.products.v1.ProductDimension\x12N\n\x0eproduct_length\x18x \x01(\x0b\x32\x36.google.shopping.merchant.products.v1.ProductDimension\x12M\n\rproduct_width\x18y \x01(\x0b\x32\x36.google.shopping.merchant.products.v1.ProductDimension\x12K\n\x0eproduct_weight\x18z \x01(\x0b\x32\x33.google.shopping.merchant.products.v1.ProductWeight\x12@\n\x08shipping\x18\' \x03(\x0b\x32..google.shopping.merchant.products.v1.Shipping\x12\x62\n\x10\x63\x61rrier_shipping\x18\x8e\x01 \x03(\x0b\x32G.google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping\x12]\n\x17\x66ree_shipping_threshold\x18\x87\x01 \x03(\x0b\x32;.google.shopping.merchant.products.v1.FreeShippingThreshold\x12M\n\x0fshipping_weight\x18( \x01(\x0b\x32\x34.google.shopping.merchant.products.v1.ShippingWeight\x12P\n\x0fshipping_length\x18) \x01(\x0b\x32\x37.google.shopping.merchant.products.v1.ShippingDimension\x12O\n\x0eshipping_width\x18* \x01(\x0b\x32\x37.google.shopping.merchant.products.v1.ShippingDimension\x12P\n\x0fshipping_height\x18+ \x01(\x0b\x32\x37.google.shopping.merchant.products.v1.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\x12J\n\x0bsize_system\x18\x31 \x01(\x0e\x32\x30.google.shopping.merchant.products.v1.SizeSystemH\x1a\x88\x01\x01\x12\x42\n\nsize_types\x18\x32 \x03(\x0e\x32..google.shopping.merchant.products.v1.SizeType\x12\x61\n\x17\x65nergy_efficiency_class\x18\x35 \x01(\x0e\x32;.google.shopping.merchant.products.v1.EnergyEfficiencyClassH\x1b\x88\x01\x01\x12\x65\n\x1bmin_energy_efficiency_class\x18\x36 \x01(\x0e\x32;.google.shopping.merchant.products.v1.EnergyEfficiencyClassH\x1c\x88\x01\x01\x12\x65\n\x1bmax_energy_efficiency_class\x18\x37 \x01(\x0e\x32;.google.shopping.merchant.products.v1.EnergyEfficiencyClassH\x1d\x88\x01\x01\x12V\n\x14unit_pricing_measure\x18\x38 \x01(\x0b\x32\x38.google.shopping.merchant.products.v1.UnitPricingMeasure\x12_\n\x19unit_pricing_base_measure\x18\x39 \x01(\x0b\x32<.google.shopping.merchant.products.v1.UnitPricingBaseMeasure\x12\x16\n\tmultipack\x18: \x01(\x03H\x1e\x88\x01\x01\x12\x19\n\x0c\x61\x64s_grouping\x18; \x01(\tH\x1f\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\x12L\n\x0fproduct_details\x18? \x03(\x0b\x32\x33.google.shopping.merchant.products.v1.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\x12N\n\rpickup_method\x18P \x01(\x0e\x32\x32.google.shopping.merchant.products.v1.PickupMethodH%\x88\x01\x01\x12H\n\npickup_sla\x18Q \x01(\x0e\x32/.google.shopping.merchant.products.v1.PickupSlaH&\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\x12P\n\x15included_destinations\x18L \x03(\x0e\x32\x31.google.shopping.type.Destination.DestinationEnum\x12P\n\x15\x65xcluded_destinations\x18M \x03(\x0e\x32\x31.google.shopping.type.Destination.DestinationEnum\x12\'\n\x1fshopping_ads_excluded_countries\x18N \x03(\t\x12\x1f\n\x12\x65xternal_seller_id\x18\x01 \x01(\tH.\x88\x01\x01\x12?\n\x05pause\x18\r \x01(\x0e\x32+.google.shopping.merchant.products.v1.PauseH/\x88\x01\x01\x12\x1d\n\x15lifestyle_image_links\x18\x0e \x03(\t\x12q\n\"cloud_export_additional_properties\x18T \x03(\x0b\x32\x45.google.shopping.merchant.products.v1.CloudExportAdditionalProperties\x12 \n\x12virtual_model_link\x18\x82\x01 \x01(\tH0\x88\x01\x01\x12R\n\x0e\x63\x65rtifications\x18{ \x03(\x0b\x32:.google.shopping.merchant.products.v1.ProductCertification\x12U\n\x10structured_title\x18\x84\x01 \x01(\x0b\x32\x35.google.shopping.merchant.products.v1.StructuredTitleH1\x88\x01\x01\x12\x61\n\x16structured_description\x18\x85\x01 \x01(\x0b\x32;.google.shopping.merchant.products.v1.StructuredDescriptionH2\x88\x01\x01\x12;\n\x16\x61uto_pricing_min_price\x18| \x01(\x0b\x32\x1b.google.shopping.type.Price\x12h\n\x19sustainability_incentives\x18\x8a\x01 \x03(\x0b\x32\x44.google.shopping.merchant.products.v1.ProductSustainabilityIncentive\x1a\xa1\x07\n\x0f\x43\x61rrierShipping\x12\x14\n\x07\x63ountry\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06region\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0bpostal_code\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x1f\n\x12origin_postal_code\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x34\n\nflat_price\x18\x05 \x01(\x0b\x32\x1b.google.shopping.type.PriceH\x04\x88\x01\x01\x12\x66\n\rcarrier_price\x18\x06 \x01(\x0e\x32J.google.shopping.merchant.products.v1.ProductAttributes.CarrierPriceOptionH\x05\x88\x01\x01\x12G\n\x1d\x63\x61rrier_price_flat_adjustment\x18\x07 \x01(\x0b\x32\x1b.google.shopping.type.PriceH\x06\x88\x01\x01\x12\x30\n#carrier_price_percentage_adjustment\x18\x08 \x01(\x01H\x07\x88\x01\x01\x12\x1e\n\x11min_handling_time\x18\t \x01(\x03H\x08\x88\x01\x01\x12\x1e\n\x11max_handling_time\x18\n \x01(\x03H\t\x88\x01\x01\x12#\n\x16\x66ixed_min_transit_time\x18\x0b \x01(\x03H\n\x88\x01\x01\x12#\n\x16\x66ixed_max_transit_time\x18\x0c \x01(\x03H\x0b\x88\x01\x01\x12\x61\n\x14\x63\x61rrier_transit_time\x18\r \x01(\x0e\x32>.google.shopping.merchant.products.v1.CarrierTransitTimeOptionH\x0c\x88\x01\x01\x42\n\n\x08_countryB\t\n\x07_regionB\x0e\n\x0c_postal_codeB\x15\n\x13_origin_postal_codeB\r\n\x0b_flat_priceB\x10\n\x0e_carrier_priceB \n\x1e_carrier_price_flat_adjustmentB&\n$_carrier_price_percentage_adjustmentB\x14\n\x12_min_handling_timeB\x14\n\x12_max_handling_timeB\x19\n\x17_fixed_min_transit_timeB\x19\n\x17_fixed_max_transit_timeB\x17\n\x15_carrier_transit_time\"\x88\x0c\n\x12\x43\x61rrierPriceOption\x12$\n CARRIER_PRICE_OPTION_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x41USTRALIA_POST_REGULAR\x10\x01\x12\x1a\n\x16\x41USTRALIA_POST_EXPRESS\x10\x02\x12\x1c\n\x18\x41USTRALIA_POST_REGULAR_S\x10\x03\x12\x1c\n\x18\x41USTRALIA_POST_REGULAR_M\x10\x04\x12\x1c\n\x18\x41USTRALIA_POST_REGULAR_L\x10\x05\x12\x1d\n\x19\x41USTRALIA_POST_REGULAR_XL\x10\x06\x12\x1c\n\x18\x41USTRALIA_POST_EXPRESS_S\x10\x07\x12\x1c\n\x18\x41USTRALIA_POST_EXPRESS_M\x10\x08\x12\x1c\n\x18\x41USTRALIA_POST_EXPRESS_L\x10\t\x12\x1d\n\x19\x41USTRALIA_POST_EXPRESS_XL\x10\n\x12\x14\n\x10TNT_ROAD_EXPRESS\x10\x0b\x12\x19\n\x15TNT_OVERNIGHT_EXPRESS\x10\x0c\x12\x16\n\x12TOLL_ROAD_DELIVERY\x10\r\x12\x1b\n\x17TOLL_OVERNIGHT_PRIORITY\x10\x0e\x12\r\n\tDHL_PAKET\x10\x0f\x12\x10\n\x0c\x44HL_PACKCHEN\x10\x10\x12\x12\n\x0e\x44PD_EXPRESS_12\x10\x11\x12\x0f\n\x0b\x44PD_EXPRESS\x10\x12\x12\x16\n\x12\x44PD_CLASSIC_PARCEL\x10\x13\x12\x13\n\x0fHERMES_PACKCHEN\x10\x14\x12\x18\n\x14HERMES_PAKETKLASSE_S\x10\x15\x12\x18\n\x14HERMES_PAKETKLASSE_M\x10\x16\x12\x18\n\x14HERMES_PAKETKLASSE_L\x10\x17\x12\x0f\n\x0bUPS_EXPRESS\x10\x18\x12\x15\n\x11UPS_EXPRESS_SAVER\x10\x19\x12\x18\n\x14UPS_EXPRESS_STANDARD\x10\x1a\x12\x0f\n\x0b\x44HL_EXPRESS\x10\x1b\x12\x12\n\x0e\x44HL_EXPRESS_12\x10\x1c\x12\x10\n\x0c\x44PD_NEXT_DAY\x10\x1d\x12\x19\n\x15\x44PD_STANDARD_NEXT_DAY\x10\x1e\x12\x18\n\x14\x44PD_STANDARD_TWO_DAY\x10\x1f\x12\x17\n\x13RMG_1ST_CLASS_SMALL\x10 \x12\x18\n\x14RMG_1ST_CLASS_MEDIUM\x10!\x12\x17\n\x13RMG_2ND_CLASS_SMALL\x10\"\x12\x18\n\x14RMG_2ND_CLASS_MEDIUM\x10#\x12\x0f\n\x0bTNT_EXPRESS\x10$\x12\x12\n\x0eTNT_EXPRESS_10\x10%\x12\x12\n\x0eTNT_EXPRESS_12\x10&\x12\x12\n\x0eYODEL_B2C_48HR\x10\'\x12\x12\n\x0eYODEL_B2C_72HR\x10(\x12\x14\n\x10YODEL_B2C_PACKET\x10)\x12\x10\n\x0c\x46\x45\x44\x45X_GROUND\x10*\x12\x17\n\x13\x46\x45\x44\x45X_HOME_DELIVERY\x10+\x12\x17\n\x13\x46\x45\x44\x45X_EXPRESS_SAVER\x10,\x12\x19\n\x15\x46\x45\x44\x45X_FIRST_OVERNIGHT\x10-\x12\x1c\n\x18\x46\x45\x44\x45X_PRIORITY_OVERNIGHT\x10.\x12\x1c\n\x18\x46\x45\x44\x45X_STANDARD_OVERNIGHT\x10/\x12\x0e\n\nFEDEX_2DAY\x10\x30\x12\x10\n\x0cUPS_STANDARD\x10\x31\x12\x13\n\x0fUPS_2ND_DAY_AIR\x10\x32\x12\x12\n\x0eUPS_2ND_DAY_AM\x10\x33\x12\x14\n\x10UPS_3_DAY_SELECT\x10\x34\x12\x0e\n\nUPS_GROUND\x10\x35\x12\x14\n\x10UPS_NEXT_DAY_AIR\x10\x36\x12\x1d\n\x19UPS_NEXT_DAY_AIR_EARLY_AM\x10\x37\x12\x1a\n\x16UPS_NEXT_DAY_AIR_SAVER\x10\x38\x12\x1e\n\x1aUSPS_PRIORITY_MAIL_EXPRESS\x10\x39\x12\x13\n\x0fUSPS_MEDIA_MAIL\x10:\x12 \n\x1cUSPS_GROUND_ADVANTAGE_RETAIL\x10;\x12\x16\n\x12USPS_PRIORITY_MAIL\x10<\x12$\n USPS_GROUND_ADVANTAGE_COMMERCIAL\x10=B\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\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\"-\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\"\xa0\x01\n\x10SubscriptionCost\x12H\n\x06period\x18\x01 \x01(\x0e\x32\x38.google.shopping.merchant.products.v1.SubscriptionPeriod\x12\x15\n\rperiod_length\x18\x02 \x01(\x03\x12+\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x1b.google.shopping.type.Price\"\xf4\x01\n\x12ProductInstallment\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\x12J\n\x0b\x63redit_type\x18\x04 \x01(\x0e\x32\x30.google.shopping.merchant.products.v1.CreditTypeH\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\"\xf9\x02\n\x14ProductCertification\x12\x62\n\x17\x63\x65rtification_authority\x18\x01 \x01(\x0e\x32<.google.shopping.merchant.products.v1.CertificationAuthorityH\x00\x88\x01\x01\x12X\n\x12\x63\x65rtification_name\x18\x02 \x01(\x0e\x32\x37.google.shopping.merchant.products.v1.CertificationNameH\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\"\xa6\x01\n\x0fStructuredTitle\x12Y\n\x13\x64igital_source_type\x18\x01 \x01(\x0e\x32\x37.google.shopping.merchant.products.v1.DigitalSourceTypeH\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\"\xac\x01\n\x15StructuredDescription\x12Y\n\x13\x64igital_source_type\x18\x01 \x01(\x0e\x32\x37.google.shopping.merchant.products.v1.DigitalSourceTypeH\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\"\xeb\x07\n\rProductStatus\x12\x63\n\x14\x64\x65stination_statuses\x18\x03 \x03(\x0b\x32\x45.google.shopping.merchant.products.v1.ProductStatus.DestinationStatus\x12]\n\x11item_level_issues\x18\x04 \x03(\x0b\x32\x42.google.shopping.merchant.products.v1.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\xac\x03\n\x0eItemLevelIssue\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12]\n\x08severity\x18\x02 \x01(\x0e\x32K.google.shopping.merchant.products.v1.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\"\x9d\x02\n\x1eProductSustainabilityIncentive\x12-\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x1b.google.shopping.type.PriceH\x00\x12\x14\n\npercentage\x18\x03 \x01(\x01H\x00\x12\\\n\x04type\x18\x01 \x01(\x0e\x32I.google.shopping.merchant.products.v1.ProductSustainabilityIncentive.TypeH\x01\x88\x01\x01\"F\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x11\n\rEV_TAX_CREDIT\x10\x01\x12\x15\n\x11\x45V_PRICE_DISCOUNT\x10\x02\x42\x07\n\x05valueB\x07\n\x05_type\"\xb4\x01\n\x12\x41utomatedDiscounts\x12\x30\n\x0bprior_price\x18\x01 \x01(\x0b\x32\x1b.google.shopping.type.Price\x12<\n\x17prior_price_progressive\x18\x02 \x01(\x0b\x32\x1b.google.shopping.type.Price\x12.\n\tgad_price\x18\x03 \x01(\x0b\x32\x1b.google.shopping.type.Price*N\n\x12SubscriptionPeriod\x12#\n\x1fSUBSCRIPTION_PERIOD_UNSPECIFIED\x10\x00\x12\t\n\x05MONTH\x10\x01\x12\x08\n\x04YEAR\x10\x02*`\n\x08\x41geGroup\x12\x19\n\x15\x41GE_GROUP_UNSPECIFIED\x10\x00\x12\t\n\x05\x41\x44ULT\x10\x01\x12\x08\n\x04KIDS\x10\x02\x12\x0b\n\x07TODDLER\x10\x03\x12\n\n\x06INFANT\x10\x04\x12\x0b\n\x07NEWBORN\x10\x05*\x83\x01\n\x0c\x41vailability\x12\x1c\n\x18\x41VAILABILITY_UNSPECIFIED\x10\x00\x12\x0c\n\x08IN_STOCK\x10\x01\x12\x10\n\x0cOUT_OF_STOCK\x10\x02\x12\x0c\n\x08PREORDER\x10\x03\x12\x18\n\x14LIMITED_AVAILABILITY\x10\x04\x12\r\n\tBACKORDER\x10\x05*J\n\tCondition\x12\x19\n\x15\x43ONDITION_UNSPECIFIED\x10\x00\x12\x07\n\x03NEW\x10\x01\x12\x08\n\x04USED\x10\x02\x12\x0f\n\x0bREFURBISHED\x10\x03*B\n\x06Gender\x12\x16\n\x12GENDER_UNSPECIFIED\x10\x00\x12\x08\n\x04MALE\x10\x01\x12\n\n\x06\x46\x45MALE\x10\x02\x12\n\n\x06UNISEX\x10\x03*A\n\nCreditType\x12\x1b\n\x17\x43REDIT_TYPE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x46INANCE\x10\x01\x12\t\n\x05LEASE\x10\x02*\x82\x01\n\nSizeSystem\x12\x1b\n\x17SIZE_SYSTEM_UNSPECIFIED\x10\x00\x12\x06\n\x02\x41U\x10\x01\x12\x06\n\x02\x42R\x10\x02\x12\x06\n\x02\x43N\x10\x03\x12\x06\n\x02\x44\x45\x10\x04\x12\x06\n\x02\x45U\x10\x05\x12\x06\n\x02\x46R\x10\x06\x12\x06\n\x02IT\x10\x07\x12\x06\n\x02JP\x10\x08\x12\x07\n\x03MEX\x10\t\x12\x06\n\x02UK\x10\n\x12\x06\n\x02US\x10\x0b*j\n\x08SizeType\x12\x19\n\x15SIZE_TYPE_UNSPECIFIED\x10\x00\x12\x0b\n\x07REGULAR\x10\x01\x12\n\n\x06PETITE\x10\x02\x12\r\n\tMATERNITY\x10\x03\x12\x07\n\x03\x42IG\x10\x04\x12\x08\n\x04TALL\x10\x05\x12\x08\n\x04PLUS\x10\x06*\x8c\x01\n\x15\x45nergyEfficiencyClass\x12\'\n#ENERGY_EFFICIENCY_CLASS_UNSPECIFIED\x10\x00\x12\x08\n\x04\x41PPP\x10\x01\x12\x07\n\x03\x41PP\x10\x02\x12\x06\n\x02\x41P\x10\x03\x12\x05\n\x01\x41\x10\x04\x12\x05\n\x01\x42\x10\x05\x12\x05\n\x01\x43\x10\x06\x12\x05\n\x01\x44\x10\x07\x12\x05\n\x01\x45\x10\x08\x12\x05\n\x01\x46\x10\t\x12\x05\n\x01G\x10\n*i\n\x0cPickupMethod\x12\x1d\n\x19PICKUP_METHOD_UNSPECIFIED\x10\x00\x12\x11\n\rNOT_SUPPORTED\x10\x01\x12\x07\n\x03\x42UY\x10\x02\x12\x0b\n\x07RESERVE\x10\x03\x12\x11\n\rSHIP_TO_STORE\x10\x04*\x98\x01\n\tPickupSla\x12\x1a\n\x16PICKUP_SLA_UNSPECIFIED\x10\x00\x12\x0c\n\x08SAME_DAY\x10\x01\x12\x0c\n\x08NEXT_DAY\x10\x02\x12\x0b\n\x07TWO_DAY\x10\x03\x12\r\n\tTHREE_DAY\x10\x04\x12\x0c\n\x08\x46OUR_DAY\x10\x05\x12\x0c\n\x08\x46IVE_DAY\x10\x06\x12\x0b\n\x07SIX_DAY\x10\x07\x12\x0e\n\nMULTI_WEEK\x10\x08*0\n\x05Pause\x12\x15\n\x11PAUSE_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41\x44S\x10\x01\x12\x07\n\x03\x41LL\x10\x02*g\n\x16\x43\x65rtificationAuthority\x12\'\n#CERTIFICATION_AUTHORITY_UNSPECIFIED\x10\x00\x12\t\n\x05\x41\x44\x45ME\x10\x01\x12\x08\n\x04\x42MWK\x10\x02\x12\x07\n\x03\x45PA\x10\x03\x12\x06\n\x02\x45\x43\x10\x04*\xd5\x01\n\x11\x43\x65rtificationName\x12\"\n\x1e\x43\x45RTIFICATION_NAME_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x45NERGY_STAR\x10\x01\x12\x1e\n\x1a\x45NERGY_STAR_MOST_EFFICIENT\x10\x02\x12\t\n\x05\x45PREL\x10\x03\x12\x0f\n\x0b\x45U_ECOLABEL\x10\x04\x12\x1d\n\x19VEHICLE_ENERGY_EFFICIENCY\x10\x05\x12\x30\n,VEHICLE_ENERGY_EFFICIENCY_DISCHARGED_BATTERY\x10\x06*d\n\x11\x44igitalSourceType\x12#\n\x1f\x44IGITAL_SOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19TRAINED_ALGORITHMIC_MEDIA\x10\x01\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x02*\xc8\x07\n\x18\x43\x61rrierTransitTimeOption\x12+\n\'CARRIER_TRANSIT_TIME_OPTION_UNSPECIFIED\x10\x00\x12\r\n\tDHL_PAKET\x10\x01\x12\x10\n\x0c\x44HL_PACKCHEN\x10\x02\x12\x13\n\x0f\x44HL_EXPRESSEASY\x10\x03\x12\x0f\n\x0b\x44PD_EXPRESS\x10\x04\x12\x16\n\x12\x44PD_CLASSIC_PARCEL\x10\x05\x12\x12\n\x0eHERMES_HAUSTUR\x10\x06\x12\x14\n\x10HERMES_PAKETSHOP\x10\x07\x12\x10\n\x0cGLS_BUSINESS\x10\x08\x12\x0f\n\x0bGLS_EXPRESS\x10\t\x12\x0f\n\x0bGLS_PRIVATE\x10\n\x12\x16\n\x12\x43OLISSIMO_DOMICILE\x10\x0b\x12\x14\n\x10\x44HL_EXPRESS_12AM\x10\x0c\x12\x13\n\x0f\x44HL_EXPRESS_9AM\x10\r\x12\x12\n\x0eGEODIS_EXPRESS\x10\x0e\x12\x12\n\x0eGEODIS_PACK_30\x10\x0f\x12\x13\n\x0fGEODIS_SAME_DAY\x10\x10\x12\x11\n\rGEODIS_TOP_24\x10\x11\x12\x15\n\x11TNT_ESSENTIEL_24H\x10\x12\x12\x1d\n\x19TNT_ESSENTIEL_FLEXIBILITE\x10\x13\x12\x10\n\x0c\x46\x45\x44\x45X_GROUND\x10\x14\x12\x17\n\x13\x46\x45\x44\x45X_HOME_DELIVERY\x10\x15\x12\x17\n\x13\x46\x45\x44\x45X_EXPRESS_SAVER\x10\x16\x12\x19\n\x15\x46\x45\x44\x45X_FIRST_OVERNIGHT\x10\x17\x12\x1c\n\x18\x46\x45\x44\x45X_PRIORITY_OVERNIGHT\x10\x18\x12\x1c\n\x18\x46\x45\x44\x45X_STANDARD_OVERNIGHT\x10\x19\x12\x0e\n\nFEDEX_2DAY\x10\x1a\x12\x13\n\x0fUPS_2ND_DAY_AIR\x10\x1b\x12\x12\n\x0eUPS_2ND_DAY_AM\x10\x1c\x12\x14\n\x10UPS_3_DAY_SELECT\x10\x1d\x12\x0e\n\nUPS_GROUND\x10\x1e\x12\x14\n\x10UPS_NEXT_DAY_AIR\x10\x1f\x12\x1d\n\x19UPS_NEXT_DAY_AIR_EARLY_AM\x10 \x12\x1a\n\x16UPS_NEXT_DAY_AIR_SAVER\x10!\x12\x1e\n\x1aUSPS_PRIORITY_MAIL_EXPRESS\x10\"\x12\x13\n\x0fUSPS_MEDIA_MAIL\x10#\x12 \n\x1cUSPS_GROUND_ADVANTAGE_RETAIL\x10$\x12\x16\n\x12USPS_PRIORITY_MAIL\x10%\x12$\n USPS_GROUND_ADVANTAGE_COMMERCIAL\x10&\x12\x19\n\x15USPS_FIRST_CLASS_MAIL\x10\'B\x86\x02\n(com.google.shopping.merchant.products.v1B\x13ProductsCommonProtoP\x01ZJcloud.google.com/go/shopping/merchant/products/apiv1/productspb;productspb\xaa\x02$Google.Shopping.Merchant.Products.V1\xca\x02$Google\\Shopping\\Merchant\\Products\\V1\xea\x02(Google::Shopping::Merchant::Products::V1b\x06proto3"
13
+ descriptor_data = "\n:google/shopping/merchant/products/v1/products_common.proto\x12$google.shopping.merchant.products.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a google/shopping/type/types.proto\x1a\x1agoogle/type/interval.proto\"\xb6\x44\n\x11ProductAttributes\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\x46\n\tage_group\x18\x12 \x01(\x0e\x32..google.shopping.merchant.products.v1.AgeGroupH\t\x88\x01\x01\x12M\n\x0c\x61vailability\x18\x13 \x01(\x0e\x32\x32.google.shopping.merchant.products.v1.AvailabilityH\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\x12G\n\tcondition\x18\x17 \x01(\x0e\x32/.google.shopping.merchant.products.v1.ConditionH\r\x88\x01\x01\x12\x41\n\x06gender\x18\x18 \x01(\x0e\x32,.google.shopping.merchant.products.v1.GenderH\x0e\x88\x01\x01\x12$\n\x17google_product_category\x18\x19 \x01(\tH\x0f\x88\x01\x01\x12\x0e\n\x05gtins\x18\x8c\x01 \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\x12:\n\x14maximum_retail_price\x18\x8b\x01 \x01(\x0b\x32\x1b.google.shopping.type.Price\x12M\n\x0binstallment\x18 \x01(\x0b\x32\x38.google.shopping.merchant.products.v1.ProductInstallment\x12Q\n\x11subscription_cost\x18! \x01(\x0b\x32\x36.google.shopping.merchant.products.v1.SubscriptionCost\x12K\n\x0eloyalty_points\x18\" \x01(\x0b\x32\x33.google.shopping.merchant.products.v1.LoyaltyPoints\x12O\n\x10loyalty_programs\x18\x88\x01 \x03(\x0b\x32\x34.google.shopping.merchant.products.v1.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\x12N\n\x0eproduct_height\x18w \x01(\x0b\x32\x36.google.shopping.merchant.products.v1.ProductDimension\x12N\n\x0eproduct_length\x18x \x01(\x0b\x32\x36.google.shopping.merchant.products.v1.ProductDimension\x12M\n\rproduct_width\x18y \x01(\x0b\x32\x36.google.shopping.merchant.products.v1.ProductDimension\x12K\n\x0eproduct_weight\x18z \x01(\x0b\x32\x33.google.shopping.merchant.products.v1.ProductWeight\x12@\n\x08shipping\x18\' \x03(\x0b\x32..google.shopping.merchant.products.v1.Shipping\x12\x62\n\x10\x63\x61rrier_shipping\x18\x8e\x01 \x03(\x0b\x32G.google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping\x12]\n\x17\x66ree_shipping_threshold\x18\x87\x01 \x03(\x0b\x32;.google.shopping.merchant.products.v1.FreeShippingThreshold\x12M\n\x0fshipping_weight\x18( \x01(\x0b\x32\x34.google.shopping.merchant.products.v1.ShippingWeight\x12P\n\x0fshipping_length\x18) \x01(\x0b\x32\x37.google.shopping.merchant.products.v1.ShippingDimension\x12O\n\x0eshipping_width\x18* \x01(\x0b\x32\x37.google.shopping.merchant.products.v1.ShippingDimension\x12P\n\x0fshipping_height\x18+ \x01(\x0b\x32\x37.google.shopping.merchant.products.v1.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|\n\x1fshipping_handling_business_days\x18\x8f\x01 \x03(\x0b\x32R.google.shopping.merchant.products.v1.ProductAttributes.ShippingBusinessDaysConfig\x12{\n\x1eshipping_transit_business_days\x18\x90\x01 \x03(\x0b\x32R.google.shopping.merchant.products.v1.ProductAttributes.ShippingBusinessDaysConfig\x12X\n\x15handling_cutoff_times\x18\x8d\x01 \x03(\x0b\x32\x38.google.shopping.merchant.products.v1.HandlingCutoffTime\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\x12J\n\x0bsize_system\x18\x31 \x01(\x0e\x32\x30.google.shopping.merchant.products.v1.SizeSystemH\x1a\x88\x01\x01\x12\x42\n\nsize_types\x18\x32 \x03(\x0e\x32..google.shopping.merchant.products.v1.SizeType\x12\x61\n\x17\x65nergy_efficiency_class\x18\x35 \x01(\x0e\x32;.google.shopping.merchant.products.v1.EnergyEfficiencyClassH\x1b\x88\x01\x01\x12\x65\n\x1bmin_energy_efficiency_class\x18\x36 \x01(\x0e\x32;.google.shopping.merchant.products.v1.EnergyEfficiencyClassH\x1c\x88\x01\x01\x12\x65\n\x1bmax_energy_efficiency_class\x18\x37 \x01(\x0e\x32;.google.shopping.merchant.products.v1.EnergyEfficiencyClassH\x1d\x88\x01\x01\x12V\n\x14unit_pricing_measure\x18\x38 \x01(\x0b\x32\x38.google.shopping.merchant.products.v1.UnitPricingMeasure\x12_\n\x19unit_pricing_base_measure\x18\x39 \x01(\x0b\x32<.google.shopping.merchant.products.v1.UnitPricingBaseMeasure\x12\x16\n\tmultipack\x18: \x01(\x03H\x1e\x88\x01\x01\x12\x19\n\x0c\x61\x64s_grouping\x18; \x01(\tH\x1f\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\x12L\n\x0fproduct_details\x18? \x03(\x0b\x32\x33.google.shopping.merchant.products.v1.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\x12N\n\rpickup_method\x18P \x01(\x0e\x32\x32.google.shopping.merchant.products.v1.PickupMethodH%\x88\x01\x01\x12H\n\npickup_sla\x18Q \x01(\x0e\x32/.google.shopping.merchant.products.v1.PickupSlaH&\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\x12P\n\x15included_destinations\x18L \x03(\x0e\x32\x31.google.shopping.type.Destination.DestinationEnum\x12P\n\x15\x65xcluded_destinations\x18M \x03(\x0e\x32\x31.google.shopping.type.Destination.DestinationEnum\x12\'\n\x1fshopping_ads_excluded_countries\x18N \x03(\t\x12\x1f\n\x12\x65xternal_seller_id\x18\x01 \x01(\tH.\x88\x01\x01\x12?\n\x05pause\x18\r \x01(\x0e\x32+.google.shopping.merchant.products.v1.PauseH/\x88\x01\x01\x12\x1d\n\x15lifestyle_image_links\x18\x0e \x03(\t\x12q\n\"cloud_export_additional_properties\x18T \x03(\x0b\x32\x45.google.shopping.merchant.products.v1.CloudExportAdditionalProperties\x12 \n\x12virtual_model_link\x18\x82\x01 \x01(\tH0\x88\x01\x01\x12R\n\x0e\x63\x65rtifications\x18{ \x03(\x0b\x32:.google.shopping.merchant.products.v1.ProductCertification\x12U\n\x10structured_title\x18\x84\x01 \x01(\x0b\x32\x35.google.shopping.merchant.products.v1.StructuredTitleH1\x88\x01\x01\x12\x61\n\x16structured_description\x18\x85\x01 \x01(\x0b\x32;.google.shopping.merchant.products.v1.StructuredDescriptionH2\x88\x01\x01\x12;\n\x16\x61uto_pricing_min_price\x18| \x01(\x0b\x32\x1b.google.shopping.type.Price\x12h\n\x19sustainability_incentives\x18\x8a\x01 \x03(\x0b\x32\x44.google.shopping.merchant.products.v1.ProductSustainabilityIncentive\x1al\n\x1aShippingBusinessDaysConfig\x12\x14\n\x07\x63ountry\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x1a\n\rbusiness_days\x18\x02 \x01(\tH\x01\x88\x01\x01\x42\n\n\x08_countryB\x10\n\x0e_business_days\x1a\xa1\x07\n\x0f\x43\x61rrierShipping\x12\x14\n\x07\x63ountry\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x13\n\x06region\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x18\n\x0bpostal_code\x18\x03 \x01(\tH\x02\x88\x01\x01\x12\x1f\n\x12origin_postal_code\x18\x04 \x01(\tH\x03\x88\x01\x01\x12\x34\n\nflat_price\x18\x05 \x01(\x0b\x32\x1b.google.shopping.type.PriceH\x04\x88\x01\x01\x12\x66\n\rcarrier_price\x18\x06 \x01(\x0e\x32J.google.shopping.merchant.products.v1.ProductAttributes.CarrierPriceOptionH\x05\x88\x01\x01\x12G\n\x1d\x63\x61rrier_price_flat_adjustment\x18\x07 \x01(\x0b\x32\x1b.google.shopping.type.PriceH\x06\x88\x01\x01\x12\x30\n#carrier_price_percentage_adjustment\x18\x08 \x01(\x01H\x07\x88\x01\x01\x12\x1e\n\x11min_handling_time\x18\t \x01(\x03H\x08\x88\x01\x01\x12\x1e\n\x11max_handling_time\x18\n \x01(\x03H\t\x88\x01\x01\x12#\n\x16\x66ixed_min_transit_time\x18\x0b \x01(\x03H\n\x88\x01\x01\x12#\n\x16\x66ixed_max_transit_time\x18\x0c \x01(\x03H\x0b\x88\x01\x01\x12\x61\n\x14\x63\x61rrier_transit_time\x18\r \x01(\x0e\x32>.google.shopping.merchant.products.v1.CarrierTransitTimeOptionH\x0c\x88\x01\x01\x42\n\n\x08_countryB\t\n\x07_regionB\x0e\n\x0c_postal_codeB\x15\n\x13_origin_postal_codeB\r\n\x0b_flat_priceB\x10\n\x0e_carrier_priceB \n\x1e_carrier_price_flat_adjustmentB&\n$_carrier_price_percentage_adjustmentB\x14\n\x12_min_handling_timeB\x14\n\x12_max_handling_timeB\x19\n\x17_fixed_min_transit_timeB\x19\n\x17_fixed_max_transit_timeB\x17\n\x15_carrier_transit_time\"\x88\x0c\n\x12\x43\x61rrierPriceOption\x12$\n CARRIER_PRICE_OPTION_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x41USTRALIA_POST_REGULAR\x10\x01\x12\x1a\n\x16\x41USTRALIA_POST_EXPRESS\x10\x02\x12\x1c\n\x18\x41USTRALIA_POST_REGULAR_S\x10\x03\x12\x1c\n\x18\x41USTRALIA_POST_REGULAR_M\x10\x04\x12\x1c\n\x18\x41USTRALIA_POST_REGULAR_L\x10\x05\x12\x1d\n\x19\x41USTRALIA_POST_REGULAR_XL\x10\x06\x12\x1c\n\x18\x41USTRALIA_POST_EXPRESS_S\x10\x07\x12\x1c\n\x18\x41USTRALIA_POST_EXPRESS_M\x10\x08\x12\x1c\n\x18\x41USTRALIA_POST_EXPRESS_L\x10\t\x12\x1d\n\x19\x41USTRALIA_POST_EXPRESS_XL\x10\n\x12\x14\n\x10TNT_ROAD_EXPRESS\x10\x0b\x12\x19\n\x15TNT_OVERNIGHT_EXPRESS\x10\x0c\x12\x16\n\x12TOLL_ROAD_DELIVERY\x10\r\x12\x1b\n\x17TOLL_OVERNIGHT_PRIORITY\x10\x0e\x12\r\n\tDHL_PAKET\x10\x0f\x12\x10\n\x0c\x44HL_PACKCHEN\x10\x10\x12\x12\n\x0e\x44PD_EXPRESS_12\x10\x11\x12\x0f\n\x0b\x44PD_EXPRESS\x10\x12\x12\x16\n\x12\x44PD_CLASSIC_PARCEL\x10\x13\x12\x13\n\x0fHERMES_PACKCHEN\x10\x14\x12\x18\n\x14HERMES_PAKETKLASSE_S\x10\x15\x12\x18\n\x14HERMES_PAKETKLASSE_M\x10\x16\x12\x18\n\x14HERMES_PAKETKLASSE_L\x10\x17\x12\x0f\n\x0bUPS_EXPRESS\x10\x18\x12\x15\n\x11UPS_EXPRESS_SAVER\x10\x19\x12\x18\n\x14UPS_EXPRESS_STANDARD\x10\x1a\x12\x0f\n\x0b\x44HL_EXPRESS\x10\x1b\x12\x12\n\x0e\x44HL_EXPRESS_12\x10\x1c\x12\x10\n\x0c\x44PD_NEXT_DAY\x10\x1d\x12\x19\n\x15\x44PD_STANDARD_NEXT_DAY\x10\x1e\x12\x18\n\x14\x44PD_STANDARD_TWO_DAY\x10\x1f\x12\x17\n\x13RMG_1ST_CLASS_SMALL\x10 \x12\x18\n\x14RMG_1ST_CLASS_MEDIUM\x10!\x12\x17\n\x13RMG_2ND_CLASS_SMALL\x10\"\x12\x18\n\x14RMG_2ND_CLASS_MEDIUM\x10#\x12\x0f\n\x0bTNT_EXPRESS\x10$\x12\x12\n\x0eTNT_EXPRESS_10\x10%\x12\x12\n\x0eTNT_EXPRESS_12\x10&\x12\x12\n\x0eYODEL_B2C_48HR\x10\'\x12\x12\n\x0eYODEL_B2C_72HR\x10(\x12\x14\n\x10YODEL_B2C_PACKET\x10)\x12\x10\n\x0c\x46\x45\x44\x45X_GROUND\x10*\x12\x17\n\x13\x46\x45\x44\x45X_HOME_DELIVERY\x10+\x12\x17\n\x13\x46\x45\x44\x45X_EXPRESS_SAVER\x10,\x12\x19\n\x15\x46\x45\x44\x45X_FIRST_OVERNIGHT\x10-\x12\x1c\n\x18\x46\x45\x44\x45X_PRIORITY_OVERNIGHT\x10.\x12\x1c\n\x18\x46\x45\x44\x45X_STANDARD_OVERNIGHT\x10/\x12\x0e\n\nFEDEX_2DAY\x10\x30\x12\x10\n\x0cUPS_STANDARD\x10\x31\x12\x13\n\x0fUPS_2ND_DAY_AIR\x10\x32\x12\x12\n\x0eUPS_2ND_DAY_AM\x10\x33\x12\x14\n\x10UPS_3_DAY_SELECT\x10\x34\x12\x0e\n\nUPS_GROUND\x10\x35\x12\x14\n\x10UPS_NEXT_DAY_AIR\x10\x36\x12\x1d\n\x19UPS_NEXT_DAY_AIR_EARLY_AM\x10\x37\x12\x1a\n\x16UPS_NEXT_DAY_AIR_SAVER\x10\x38\x12\x1e\n\x1aUSPS_PRIORITY_MAIL_EXPRESS\x10\x39\x12\x13\n\x0fUSPS_MEDIA_MAIL\x10:\x12 \n\x1cUSPS_GROUND_ADVANTAGE_RETAIL\x10;\x12\x16\n\x12USPS_PRIORITY_MAIL\x10<\x12$\n USPS_GROUND_ADVANTAGE_COMMERCIAL\x10=B\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\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\"-\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\"\xa0\x01\n\x10SubscriptionCost\x12H\n\x06period\x18\x01 \x01(\x0e\x32\x38.google.shopping.merchant.products.v1.SubscriptionPeriod\x12\x15\n\rperiod_length\x18\x02 \x01(\x03\x12+\n\x06\x61mount\x18\x03 \x01(\x0b\x32\x1b.google.shopping.type.Price\"\xf4\x01\n\x12ProductInstallment\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\x12J\n\x0b\x63redit_type\x18\x04 \x01(\x0e\x32\x30.google.shopping.merchant.products.v1.CreditTypeH\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\x04\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\x12!\n\x14handling_cutoff_time\x18\x0c \x01(\tH\x04\x88\x01\x01\x12%\n\x18handling_cutoff_timezone\x18\r \x01(\tH\x05\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_timeB\x17\n\x15_handling_cutoff_timeB\x1b\n\x19_handling_cutoff_timezone\"\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\"\xf9\x02\n\x14ProductCertification\x12\x62\n\x17\x63\x65rtification_authority\x18\x01 \x01(\x0e\x32<.google.shopping.merchant.products.v1.CertificationAuthorityH\x00\x88\x01\x01\x12X\n\x12\x63\x65rtification_name\x18\x02 \x01(\x0e\x32\x37.google.shopping.merchant.products.v1.CertificationNameH\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\"\xa6\x01\n\x0fStructuredTitle\x12Y\n\x13\x64igital_source_type\x18\x01 \x01(\x0e\x32\x37.google.shopping.merchant.products.v1.DigitalSourceTypeH\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\"\xac\x01\n\x15StructuredDescription\x12Y\n\x13\x64igital_source_type\x18\x01 \x01(\x0e\x32\x37.google.shopping.merchant.products.v1.DigitalSourceTypeH\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\"\xeb\x07\n\rProductStatus\x12\x63\n\x14\x64\x65stination_statuses\x18\x03 \x03(\x0b\x32\x45.google.shopping.merchant.products.v1.ProductStatus.DestinationStatus\x12]\n\x11item_level_issues\x18\x04 \x03(\x0b\x32\x42.google.shopping.merchant.products.v1.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\xac\x03\n\x0eItemLevelIssue\x12\x0c\n\x04\x63ode\x18\x01 \x01(\t\x12]\n\x08severity\x18\x02 \x01(\x0e\x32K.google.shopping.merchant.products.v1.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\"\x9d\x02\n\x1eProductSustainabilityIncentive\x12-\n\x06\x61mount\x18\x02 \x01(\x0b\x32\x1b.google.shopping.type.PriceH\x00\x12\x14\n\npercentage\x18\x03 \x01(\x01H\x00\x12\\\n\x04type\x18\x01 \x01(\x0e\x32I.google.shopping.merchant.products.v1.ProductSustainabilityIncentive.TypeH\x01\x88\x01\x01\"F\n\x04Type\x12\x14\n\x10TYPE_UNSPECIFIED\x10\x00\x12\x11\n\rEV_TAX_CREDIT\x10\x01\x12\x15\n\x11\x45V_PRICE_DISCOUNT\x10\x02\x42\x07\n\x05valueB\x07\n\x05_type\"\xb4\x01\n\x12\x41utomatedDiscounts\x12\x30\n\x0bprior_price\x18\x01 \x01(\x0b\x32\x1b.google.shopping.type.Price\x12<\n\x17prior_price_progressive\x18\x02 \x01(\x0b\x32\x1b.google.shopping.type.Price\x12.\n\tgad_price\x18\x03 \x01(\x0b\x32\x1b.google.shopping.type.Price\"\xe0\x01\n\x12HandlingCutoffTime\x12\x14\n\x07\x63ountry\x18\x01 \x01(\tH\x00\x88\x01\x01\x12\x18\n\x0b\x63utoff_time\x18\x02 \x01(\tH\x01\x88\x01\x01\x12\x1c\n\x0f\x63utoff_timezone\x18\x03 \x01(\tH\x02\x88\x01\x01\x12*\n\x1d\x64isable_delivery_after_cutoff\x18\x04 \x01(\x08H\x03\x88\x01\x01\x42\n\n\x08_countryB\x0e\n\x0c_cutoff_timeB\x12\n\x10_cutoff_timezoneB \n\x1e_disable_delivery_after_cutoff*N\n\x12SubscriptionPeriod\x12#\n\x1fSUBSCRIPTION_PERIOD_UNSPECIFIED\x10\x00\x12\t\n\x05MONTH\x10\x01\x12\x08\n\x04YEAR\x10\x02*`\n\x08\x41geGroup\x12\x19\n\x15\x41GE_GROUP_UNSPECIFIED\x10\x00\x12\t\n\x05\x41\x44ULT\x10\x01\x12\x08\n\x04KIDS\x10\x02\x12\x0b\n\x07TODDLER\x10\x03\x12\n\n\x06INFANT\x10\x04\x12\x0b\n\x07NEWBORN\x10\x05*\x83\x01\n\x0c\x41vailability\x12\x1c\n\x18\x41VAILABILITY_UNSPECIFIED\x10\x00\x12\x0c\n\x08IN_STOCK\x10\x01\x12\x10\n\x0cOUT_OF_STOCK\x10\x02\x12\x0c\n\x08PREORDER\x10\x03\x12\x18\n\x14LIMITED_AVAILABILITY\x10\x04\x12\r\n\tBACKORDER\x10\x05*J\n\tCondition\x12\x19\n\x15\x43ONDITION_UNSPECIFIED\x10\x00\x12\x07\n\x03NEW\x10\x01\x12\x08\n\x04USED\x10\x02\x12\x0f\n\x0bREFURBISHED\x10\x03*B\n\x06Gender\x12\x16\n\x12GENDER_UNSPECIFIED\x10\x00\x12\x08\n\x04MALE\x10\x01\x12\n\n\x06\x46\x45MALE\x10\x02\x12\n\n\x06UNISEX\x10\x03*A\n\nCreditType\x12\x1b\n\x17\x43REDIT_TYPE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x46INANCE\x10\x01\x12\t\n\x05LEASE\x10\x02*\x82\x01\n\nSizeSystem\x12\x1b\n\x17SIZE_SYSTEM_UNSPECIFIED\x10\x00\x12\x06\n\x02\x41U\x10\x01\x12\x06\n\x02\x42R\x10\x02\x12\x06\n\x02\x43N\x10\x03\x12\x06\n\x02\x44\x45\x10\x04\x12\x06\n\x02\x45U\x10\x05\x12\x06\n\x02\x46R\x10\x06\x12\x06\n\x02IT\x10\x07\x12\x06\n\x02JP\x10\x08\x12\x07\n\x03MEX\x10\t\x12\x06\n\x02UK\x10\n\x12\x06\n\x02US\x10\x0b*j\n\x08SizeType\x12\x19\n\x15SIZE_TYPE_UNSPECIFIED\x10\x00\x12\x0b\n\x07REGULAR\x10\x01\x12\n\n\x06PETITE\x10\x02\x12\r\n\tMATERNITY\x10\x03\x12\x07\n\x03\x42IG\x10\x04\x12\x08\n\x04TALL\x10\x05\x12\x08\n\x04PLUS\x10\x06*\x8c\x01\n\x15\x45nergyEfficiencyClass\x12\'\n#ENERGY_EFFICIENCY_CLASS_UNSPECIFIED\x10\x00\x12\x08\n\x04\x41PPP\x10\x01\x12\x07\n\x03\x41PP\x10\x02\x12\x06\n\x02\x41P\x10\x03\x12\x05\n\x01\x41\x10\x04\x12\x05\n\x01\x42\x10\x05\x12\x05\n\x01\x43\x10\x06\x12\x05\n\x01\x44\x10\x07\x12\x05\n\x01\x45\x10\x08\x12\x05\n\x01\x46\x10\t\x12\x05\n\x01G\x10\n*i\n\x0cPickupMethod\x12\x1d\n\x19PICKUP_METHOD_UNSPECIFIED\x10\x00\x12\x11\n\rNOT_SUPPORTED\x10\x01\x12\x07\n\x03\x42UY\x10\x02\x12\x0b\n\x07RESERVE\x10\x03\x12\x11\n\rSHIP_TO_STORE\x10\x04*\x98\x01\n\tPickupSla\x12\x1a\n\x16PICKUP_SLA_UNSPECIFIED\x10\x00\x12\x0c\n\x08SAME_DAY\x10\x01\x12\x0c\n\x08NEXT_DAY\x10\x02\x12\x0b\n\x07TWO_DAY\x10\x03\x12\r\n\tTHREE_DAY\x10\x04\x12\x0c\n\x08\x46OUR_DAY\x10\x05\x12\x0c\n\x08\x46IVE_DAY\x10\x06\x12\x0b\n\x07SIX_DAY\x10\x07\x12\x0e\n\nMULTI_WEEK\x10\x08*0\n\x05Pause\x12\x15\n\x11PAUSE_UNSPECIFIED\x10\x00\x12\x07\n\x03\x41\x44S\x10\x01\x12\x07\n\x03\x41LL\x10\x02*g\n\x16\x43\x65rtificationAuthority\x12\'\n#CERTIFICATION_AUTHORITY_UNSPECIFIED\x10\x00\x12\t\n\x05\x41\x44\x45ME\x10\x01\x12\x08\n\x04\x42MWK\x10\x02\x12\x07\n\x03\x45PA\x10\x03\x12\x06\n\x02\x45\x43\x10\x04*\xd5\x01\n\x11\x43\x65rtificationName\x12\"\n\x1e\x43\x45RTIFICATION_NAME_UNSPECIFIED\x10\x00\x12\x0f\n\x0b\x45NERGY_STAR\x10\x01\x12\x1e\n\x1a\x45NERGY_STAR_MOST_EFFICIENT\x10\x02\x12\t\n\x05\x45PREL\x10\x03\x12\x0f\n\x0b\x45U_ECOLABEL\x10\x04\x12\x1d\n\x19VEHICLE_ENERGY_EFFICIENCY\x10\x05\x12\x30\n,VEHICLE_ENERGY_EFFICIENCY_DISCHARGED_BATTERY\x10\x06*d\n\x11\x44igitalSourceType\x12#\n\x1f\x44IGITAL_SOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x1d\n\x19TRAINED_ALGORITHMIC_MEDIA\x10\x01\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x02*\xc8\x07\n\x18\x43\x61rrierTransitTimeOption\x12+\n\'CARRIER_TRANSIT_TIME_OPTION_UNSPECIFIED\x10\x00\x12\r\n\tDHL_PAKET\x10\x01\x12\x10\n\x0c\x44HL_PACKCHEN\x10\x02\x12\x13\n\x0f\x44HL_EXPRESSEASY\x10\x03\x12\x0f\n\x0b\x44PD_EXPRESS\x10\x04\x12\x16\n\x12\x44PD_CLASSIC_PARCEL\x10\x05\x12\x12\n\x0eHERMES_HAUSTUR\x10\x06\x12\x14\n\x10HERMES_PAKETSHOP\x10\x07\x12\x10\n\x0cGLS_BUSINESS\x10\x08\x12\x0f\n\x0bGLS_EXPRESS\x10\t\x12\x0f\n\x0bGLS_PRIVATE\x10\n\x12\x16\n\x12\x43OLISSIMO_DOMICILE\x10\x0b\x12\x14\n\x10\x44HL_EXPRESS_12AM\x10\x0c\x12\x13\n\x0f\x44HL_EXPRESS_9AM\x10\r\x12\x12\n\x0eGEODIS_EXPRESS\x10\x0e\x12\x12\n\x0eGEODIS_PACK_30\x10\x0f\x12\x13\n\x0fGEODIS_SAME_DAY\x10\x10\x12\x11\n\rGEODIS_TOP_24\x10\x11\x12\x15\n\x11TNT_ESSENTIEL_24H\x10\x12\x12\x1d\n\x19TNT_ESSENTIEL_FLEXIBILITE\x10\x13\x12\x10\n\x0c\x46\x45\x44\x45X_GROUND\x10\x14\x12\x17\n\x13\x46\x45\x44\x45X_HOME_DELIVERY\x10\x15\x12\x17\n\x13\x46\x45\x44\x45X_EXPRESS_SAVER\x10\x16\x12\x19\n\x15\x46\x45\x44\x45X_FIRST_OVERNIGHT\x10\x17\x12\x1c\n\x18\x46\x45\x44\x45X_PRIORITY_OVERNIGHT\x10\x18\x12\x1c\n\x18\x46\x45\x44\x45X_STANDARD_OVERNIGHT\x10\x19\x12\x0e\n\nFEDEX_2DAY\x10\x1a\x12\x13\n\x0fUPS_2ND_DAY_AIR\x10\x1b\x12\x12\n\x0eUPS_2ND_DAY_AM\x10\x1c\x12\x14\n\x10UPS_3_DAY_SELECT\x10\x1d\x12\x0e\n\nUPS_GROUND\x10\x1e\x12\x14\n\x10UPS_NEXT_DAY_AIR\x10\x1f\x12\x1d\n\x19UPS_NEXT_DAY_AIR_EARLY_AM\x10 \x12\x1a\n\x16UPS_NEXT_DAY_AIR_SAVER\x10!\x12\x1e\n\x1aUSPS_PRIORITY_MAIL_EXPRESS\x10\"\x12\x13\n\x0fUSPS_MEDIA_MAIL\x10#\x12 \n\x1cUSPS_GROUND_ADVANTAGE_RETAIL\x10$\x12\x16\n\x12USPS_PRIORITY_MAIL\x10%\x12$\n USPS_GROUND_ADVANTAGE_COMMERCIAL\x10&\x12\x19\n\x15USPS_FIRST_CLASS_MAIL\x10\'B\x86\x02\n(com.google.shopping.merchant.products.v1B\x13ProductsCommonProtoP\x01ZJcloud.google.com/go/shopping/merchant/products/apiv1/productspb;productspb\xaa\x02$Google.Shopping.Merchant.Products.V1\xca\x02$Google\\Shopping\\Merchant\\Products\\V1\xea\x02(Google::Shopping::Merchant::Products::V1b\x06proto3"
14
14
 
15
15
  pool = Google::Protobuf::DescriptorPool.generated_pool
16
16
 
@@ -45,6 +45,7 @@ module Google
45
45
  module Products
46
46
  module V1
47
47
  ProductAttributes = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.shopping.merchant.products.v1.ProductAttributes").msgclass
48
+ ProductAttributes::ShippingBusinessDaysConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.shopping.merchant.products.v1.ProductAttributes.ShippingBusinessDaysConfig").msgclass
48
49
  ProductAttributes::CarrierShipping = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.shopping.merchant.products.v1.ProductAttributes.CarrierShipping").msgclass
49
50
  ProductAttributes::CarrierPriceOption = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.shopping.merchant.products.v1.ProductAttributes.CarrierPriceOption").enummodule
50
51
  ShippingWeight = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.shopping.merchant.products.v1.ShippingWeight").msgclass
@@ -71,6 +72,7 @@ module Google
71
72
  ProductSustainabilityIncentive = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.shopping.merchant.products.v1.ProductSustainabilityIncentive").msgclass
72
73
  ProductSustainabilityIncentive::Type = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.shopping.merchant.products.v1.ProductSustainabilityIncentive.Type").enummodule
73
74
  AutomatedDiscounts = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.shopping.merchant.products.v1.AutomatedDiscounts").msgclass
75
+ HandlingCutoffTime = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.shopping.merchant.products.v1.HandlingCutoffTime").msgclass
74
76
  SubscriptionPeriod = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.shopping.merchant.products.v1.SubscriptionPeriod").enummodule
75
77
  AgeGroup = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.shopping.merchant.products.v1.AgeGroup").enummodule
76
78
  Availability = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.shopping.merchant.products.v1.Availability").enummodule
@@ -12,7 +12,7 @@ require 'google/shopping/merchant/products/v1/products_common_pb'
12
12
  require 'google/shopping/type/types_pb'
13
13
 
14
14
 
15
- descriptor_data = "\n3google/shopping/merchant/products/v1/products.proto\x12$google.shopping.merchant.products.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a:google/shopping/merchant/products/v1/products_common.proto\x1a google/shopping/type/types.proto\"\xef\x04\n\x07Product\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x19\n\x0clegacy_local\x18\x0b \x01(\x08\x42\x03\xe0\x41\x03\x12\x15\n\x08offer_id\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x1d\n\x10\x63ontent_language\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x17\n\nfeed_label\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x61ta_source\x18\x06 \x01(\tB\x03\xe0\x41\x03\x12 \n\x0eversion_number\x18\x07 \x01(\x03\x42\x03\xe0\x41\x03H\x00\x88\x01\x01\x12X\n\x12product_attributes\x18\r \x01(\x0b\x32\x37.google.shopping.merchant.products.v1.ProductAttributesB\x03\xe0\x41\x03\x12\x45\n\x11\x63ustom_attributes\x18\t \x03(\x0b\x32%.google.shopping.type.CustomAttributeB\x03\xe0\x41\x03\x12P\n\x0eproduct_status\x18\n \x01(\x0b\x32\x33.google.shopping.merchant.products.v1.ProductStatusB\x03\xe0\x41\x03\x12Z\n\x13\x61utomated_discounts\x18\x0c \x01(\x0b\x32\x38.google.shopping.merchant.products.v1.AutomatedDiscountsB\x03\xe0\x41\x03:N\xea\x41K\n\"merchantapi.googleapis.com/Product\x12%accounts/{account}/products/{product}B\x11\n\x0f_version_number\"M\n\x11GetProductRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"merchantapi.googleapis.com/Product\"x\n\x13ListProductsRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"merchantapi.googleapis.com/Product\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"p\n\x14ListProductsResponse\x12?\n\x08products\x18\x01 \x03(\x0b\x32-.google.shopping.merchant.products.v1.Product\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t2\xcf\x03\n\x0fProductsService\x12\xae\x01\n\nGetProduct\x12\x37.google.shopping.merchant.products.v1.GetProductRequest\x1a-.google.shopping.merchant.products.v1.Product\"8\xda\x41\x04name\x82\xd3\xe4\x93\x02+\x12)/products/v1/{name=accounts/*/products/*}\x12\xc1\x01\n\x0cListProducts\x12\x39.google.shopping.merchant.products.v1.ListProductsRequest\x1a:.google.shopping.merchant.products.v1.ListProductsResponse\":\xda\x41\x06parent\x82\xd3\xe4\x93\x02+\x12)/products/v1/{parent=accounts/*}/products\x1aG\xca\x41\x1amerchantapi.googleapis.com\xd2\x41\'https://www.googleapis.com/auth/contentB\xbb\x02\n(com.google.shopping.merchant.products.v1B\rProductsProtoP\x01ZJcloud.google.com/go/shopping/merchant/products/apiv1/productspb;productspb\xaa\x02$Google.Shopping.Merchant.Products.V1\xca\x02$Google\\Shopping\\Merchant\\Products\\V1\xea\x02(Google::Shopping::Merchant::Products::V1\xea\x41\x38\n\"merchantapi.googleapis.com/Account\x12\x12\x61\x63\x63ounts/{account}b\x06proto3"
15
+ descriptor_data = "\n3google/shopping/merchant/products/v1/products.proto\x12$google.shopping.merchant.products.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a:google/shopping/merchant/products/v1/products_common.proto\x1a google/shopping/type/types.proto\"\xef\x04\n\x07Product\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x19\n\x0clegacy_local\x18\x0b \x01(\x08\x42\x03\xe0\x41\x03\x12\x15\n\x08offer_id\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x1d\n\x10\x63ontent_language\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x17\n\nfeed_label\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12\x18\n\x0b\x64\x61ta_source\x18\x06 \x01(\tB\x03\xe0\x41\x03\x12 \n\x0eversion_number\x18\x07 \x01(\x03\x42\x03\xe0\x41\x03H\x00\x88\x01\x01\x12X\n\x12product_attributes\x18\r \x01(\x0b\x32\x37.google.shopping.merchant.products.v1.ProductAttributesB\x03\xe0\x41\x03\x12\x45\n\x11\x63ustom_attributes\x18\t \x03(\x0b\x32%.google.shopping.type.CustomAttributeB\x03\xe0\x41\x03\x12P\n\x0eproduct_status\x18\n \x01(\x0b\x32\x33.google.shopping.merchant.products.v1.ProductStatusB\x03\xe0\x41\x03\x12Z\n\x13\x61utomated_discounts\x18\x0c \x01(\x0b\x32\x38.google.shopping.merchant.products.v1.AutomatedDiscountsB\x03\xe0\x41\x03:N\xea\x41K\n\"merchantapi.googleapis.com/Product\x12%accounts/{account}/products/{product}B\x11\n\x0f_version_number\"y\n\x11GetProductRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"merchantapi.googleapis.com/Product\x12*\n\x1dproduct_id_base64_url_encoded\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"x\n\x13ListProductsRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"merchantapi.googleapis.com/Product\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"p\n\x14ListProductsResponse\x12?\n\x08products\x18\x01 \x03(\x0b\x32-.google.shopping.merchant.products.v1.Product\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t2\xcf\x03\n\x0fProductsService\x12\xae\x01\n\nGetProduct\x12\x37.google.shopping.merchant.products.v1.GetProductRequest\x1a-.google.shopping.merchant.products.v1.Product\"8\xda\x41\x04name\x82\xd3\xe4\x93\x02+\x12)/products/v1/{name=accounts/*/products/*}\x12\xc1\x01\n\x0cListProducts\x12\x39.google.shopping.merchant.products.v1.ListProductsRequest\x1a:.google.shopping.merchant.products.v1.ListProductsResponse\":\xda\x41\x06parent\x82\xd3\xe4\x93\x02+\x12)/products/v1/{parent=accounts/*}/products\x1aG\xca\x41\x1amerchantapi.googleapis.com\xd2\x41\'https://www.googleapis.com/auth/contentB\xbb\x02\n(com.google.shopping.merchant.products.v1B\rProductsProtoP\x01ZJcloud.google.com/go/shopping/merchant/products/apiv1/productspb;productspb\xaa\x02$Google.Shopping.Merchant.Products.V1\xca\x02$Google\\Shopping\\Merchant\\Products\\V1\xea\x02(Google::Shopping::Merchant::Products::V1\xea\x41\x38\n\"merchantapi.googleapis.com/Account\x12\x12\x61\x63\x63ounts/{account}b\x06proto3"
16
16
 
17
17
  pool = Google::Protobuf::DescriptorPool.generated_pool
18
18
 
@@ -205,7 +205,7 @@ module Google
205
205
  # @param options [::Gapic::CallOptions, ::Hash]
206
206
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
207
207
  #
208
- # @overload get_product(name: nil)
208
+ # @overload get_product(name: nil, product_id_base64_url_encoded: nil)
209
209
  # Pass arguments to `get_product` via keyword arguments. Note that at
210
210
  # least one keyword argument is required. To specify no parameters, or to keep all
211
211
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -221,6 +221,17 @@ module Google
221
221
  # Note: For calls to the v1beta version, the `product` section consists
222
222
  # of: `channel~content_language~feed_label~offer_id`, for example:
223
223
  # `accounts/123/products/online~en~US~sku123`.
224
+ # @param product_id_base64_url_encoded [::Boolean]
225
+ # Optional. If true, the `{product}` in the `name` field of the request will
226
+ # be interpreted as unpadded base64url-encoded and decoded during request
227
+ # processing to match the decoded value. Default value is `false`. Use this
228
+ # if your `{product}` contains special characters, such as forward slash `/`
229
+ # or other characters that are unpadded base64url-encoded (as per RFC 7515:
230
+ # https://datatracker.ietf.org/doc/html/rfc7515#section-2).
231
+ #
232
+ # Note that future versions of the API will only accept unpadded
233
+ # base64url-encoded product ids, so we strongly recommend proactively setting
234
+ # this to `true` and encoding the product ids.
224
235
  #
225
236
  # @yield [response, operation] Access the result along with the RPC operation
226
237
  # @yieldparam response [::Google::Shopping::Merchant::Products::V1::Product]
@@ -198,7 +198,7 @@ module Google
198
198
  # @param options [::Gapic::CallOptions, ::Hash]
199
199
  # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
200
200
  #
201
- # @overload get_product(name: nil)
201
+ # @overload get_product(name: nil, product_id_base64_url_encoded: nil)
202
202
  # Pass arguments to `get_product` via keyword arguments. Note that at
203
203
  # least one keyword argument is required. To specify no parameters, or to keep all
204
204
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -214,6 +214,17 @@ module Google
214
214
  # Note: For calls to the v1beta version, the `product` section consists
215
215
  # of: `channel~content_language~feed_label~offer_id`, for example:
216
216
  # `accounts/123/products/online~en~US~sku123`.
217
+ # @param product_id_base64_url_encoded [::Boolean]
218
+ # Optional. If true, the `{product}` in the `name` field of the request will
219
+ # be interpreted as unpadded base64url-encoded and decoded during request
220
+ # processing to match the decoded value. Default value is `false`. Use this
221
+ # if your `{product}` contains special characters, such as forward slash `/`
222
+ # or other characters that are unpadded base64url-encoded (as per RFC 7515:
223
+ # https://datatracker.ietf.org/doc/html/rfc7515#section-2).
224
+ #
225
+ # Note that future versions of the API will only accept unpadded
226
+ # base64url-encoded product ids, so we strongly recommend proactively setting
227
+ # this to `true` and encoding the product ids.
217
228
  # @yield [result, operation] Access the result along with the TransportOperation object
218
229
  # @yieldparam result [::Google::Shopping::Merchant::Products::V1::Product]
219
230
  # @yieldparam operation [::Gapic::Rest::TransportOperation]
@@ -22,7 +22,7 @@ module Google
22
22
  module Merchant
23
23
  module Products
24
24
  module V1
25
- VERSION = "0.3.1"
25
+ VERSION = "0.4.0"
26
26
  end
27
27
  end
28
28
  end
@@ -144,8 +144,8 @@ module Google
144
144
  # Required. The primary or supplemental product data source name. If the
145
145
  # product already exists and data source provided is different, then the
146
146
  # product will be moved to a new data source. For more information, see
147
- # [Overview of Data sources
148
- # sub-API](/merchant/api/guides/data-sources/overview).
147
+ # [Create a primary data
148
+ # source](/merchant/api/guides/data-sources/api-sources#create-primary-data-source).
149
149
  #
150
150
  # Only API data sources are supported.
151
151
  #
@@ -190,6 +190,19 @@ module Google
190
190
  #
191
191
  # Format: `accounts/{account}/dataSources/{datasource}`. For example,
192
192
  # `accounts/123456/dataSources/104628`.
193
+ # @!attribute [rw] product_id_base64_url_encoded
194
+ # @return [::Boolean]
195
+ # Optional. If true, the `{productInput}` in the `name` field of the request
196
+ # will be interpreted as unpadded base64url-encoded and decoded during
197
+ # request processing to match the decoded value. Default value is `false`.
198
+ # Use this if your `{productInput}` contains special characters, such as
199
+ # forward slash
200
+ # `/` or other characters that are unpadded base64url-encoded (as per RFC
201
+ # 7515: https://datatracker.ietf.org/doc/html/rfc7515#section-2).
202
+ #
203
+ # Note that future versions of the API will only accept unpadded
204
+ # base64url-encoded product ids, so we strongly recommend proactively setting
205
+ # this to `true` and encoding the product ids.
193
206
  class UpdateProductInputRequest
194
207
  include ::Google::Protobuf::MessageExts
195
208
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -210,6 +223,19 @@ module Google
210
223
  # input should be deleted. Format:
211
224
  # `accounts/{account}/dataSources/{datasource}`. For example,
212
225
  # `accounts/123456/dataSources/104628`.
226
+ # @!attribute [rw] product_id_base64_url_encoded
227
+ # @return [::Boolean]
228
+ # Optional. If true, the `{productInput}` in the `name` field of the request
229
+ # will be interpreted as unpadded base64url-encoded and decoded during
230
+ # request processing to match the decoded value. Default value is `false`.
231
+ # Use this if your `{productInput}` contains special characters, such as
232
+ # forward slash
233
+ # `/` or other characters that are unpadded base64url-encoded (as per RFC
234
+ # 7515: https://datatracker.ietf.org/doc/html/rfc7515#section-2).
235
+ #
236
+ # Note that future versions of the API will only accept unpadded
237
+ # base64url-encoded product ids, so we strongly recommend proactively setting
238
+ # this to `true` and encoding the product ids.
213
239
  class DeleteProductInputRequest
214
240
  include ::Google::Protobuf::MessageExts
215
241
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -127,6 +127,18 @@ module Google
127
127
  # Note: For calls to the v1beta version, the `product` section consists
128
128
  # of: `channel~content_language~feed_label~offer_id`, for example:
129
129
  # `accounts/123/products/online~en~US~sku123`.
130
+ # @!attribute [rw] product_id_base64_url_encoded
131
+ # @return [::Boolean]
132
+ # Optional. If true, the `{product}` in the `name` field of the request will
133
+ # be interpreted as unpadded base64url-encoded and decoded during request
134
+ # processing to match the decoded value. Default value is `false`. Use this
135
+ # if your `{product}` contains special characters, such as forward slash `/`
136
+ # or other characters that are unpadded base64url-encoded (as per RFC 7515:
137
+ # https://datatracker.ietf.org/doc/html/rfc7515#section-2).
138
+ #
139
+ # Note that future versions of the API will only accept unpadded
140
+ # base64url-encoded product ids, so we strongly recommend proactively setting
141
+ # this to `true` and encoding the product ids.
130
142
  class GetProductRequest
131
143
  include ::Google::Protobuf::MessageExts
132
144
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -209,6 +209,17 @@ module Google
209
209
  # @!attribute [rw] min_handling_time
210
210
  # @return [::Integer]
211
211
  # Minimal product handling time (in business days).
212
+ # @!attribute [rw] shipping_handling_business_days
213
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::ShippingBusinessDaysConfig>]
214
+ # The business days during which orders can be handled. If not provided,
215
+ # Monday to Friday business days will be assumed.
216
+ # @!attribute [rw] shipping_transit_business_days
217
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1::ProductAttributes::ShippingBusinessDaysConfig>]
218
+ # The business days during which orders are in transit.
219
+ # If not provided, Monday to Friday business days will be assumed.
220
+ # @!attribute [rw] handling_cutoff_times
221
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1::HandlingCutoffTime>]
222
+ # The handling cutoff times for shipping.
212
223
  # @!attribute [rw] shipping_label
213
224
  # @return [::String]
214
225
  # The shipping label of the product, used to group product in account-level
@@ -420,6 +431,26 @@ module Google
420
431
  include ::Google::Protobuf::MessageExts
421
432
  extend ::Google::Protobuf::MessageExts::ClassMethods
422
433
 
434
+ # The business days during which orders are on their path to fulfillment.
435
+ # If not provided, Monday to Friday business days will be assumed.
436
+ # @!attribute [rw] country
437
+ # @return [::String]
438
+ # The [CLDR territory
439
+ # code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
440
+ # of the country to which an item will ship.
441
+ # @!attribute [rw] business_days
442
+ # @return [::String]
443
+ # Effective days of the week considered for the delivery time calculation.
444
+ # May not be empty. The more business days included the faster the
445
+ # delivery. Can be set through individual days (e.g. `MTWRF`), or day
446
+ # ranges (e.g. `Mon-Fri`). For more information about accepted formats,
447
+ # see [Shipping handling business
448
+ # days](https://support.google.com/merchants/answer/16072859).
449
+ class ShippingBusinessDaysConfig
450
+ include ::Google::Protobuf::MessageExts
451
+ extend ::Google::Protobuf::MessageExts::ClassMethods
452
+ end
453
+
423
454
  # Carrier-based shipping configuration. Allows for setting shipping speed or
424
455
  # shipping cost based on a carrier's provided info.
425
456
  # @!attribute [rw] country
@@ -949,6 +980,20 @@ module Google
949
980
  # is optional if
950
981
  # {::Google::Shopping::Merchant::Products::V1::Shipping#max_transit_time maxTransitTime}
951
982
  # is present.
983
+ # @!attribute [rw] handling_cutoff_time
984
+ # @return [::String]
985
+ # The handling cutoff time until which an order has to be placed to be
986
+ # processed in the same day. This is a string in format of HHMM (e.g.
987
+ # `1530`) for 3:30 PM. If not configured, the cutoff time will be defaulted
988
+ # to 8AM PST and `handling_cutoff_timezone` will be ignored.
989
+ # @!attribute [rw] handling_cutoff_timezone
990
+ # @return [::String]
991
+ # [Timezone
992
+ # identifier](https://developers.google.com/adwords/api/docs/appendix/codes-formats#timezone-ids)
993
+ # For example `Europe/Zurich`. This field only applies if
994
+ # `handling_cutoff_time` is set. If `handling_cutoff_time` is set but this
995
+ # field is not set, the shipping destination timezone will be used. If both
996
+ # fields are not set, the handling cutoff time will default to 8AM PST.
952
997
  class Shipping
953
998
  include ::Google::Protobuf::MessageExts
954
999
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -1268,6 +1313,35 @@ module Google
1268
1313
  extend ::Google::Protobuf::MessageExts::ClassMethods
1269
1314
  end
1270
1315
 
1316
+ # Configuration for offer or offer-country level shipping handling cutoff time.
1317
+ # @!attribute [rw] country
1318
+ # @return [::String]
1319
+ # The [CLDR territory
1320
+ # code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
1321
+ # of the country to which the handling cutoff time applies.
1322
+ # @!attribute [rw] cutoff_time
1323
+ # @return [::String]
1324
+ # The handling cutoff time until which an order has to be placed to be
1325
+ # processed in the same day. This is a string in format of HHMM (e.g. `1530`)
1326
+ # for 3:30 PM.
1327
+ # If not configured, the cutoff time will be defaulted to 8AM PST.
1328
+ # @!attribute [rw] cutoff_timezone
1329
+ # @return [::String]
1330
+ # [Timezone
1331
+ # identifier](https://developers.google.com/adwords/api/docs/appendix/codes-formats#timezone-ids)
1332
+ # For example 'Europe/Zurich'. If not set, the shipping destination
1333
+ # timezone will be used.
1334
+ # @!attribute [rw] disable_delivery_after_cutoff
1335
+ # @return [::Boolean]
1336
+ # This field only applies to same-day delivery. If true, prevents next-day
1337
+ # delivery from being shown for this offer after the cutoff time. This field
1338
+ # only applies to same-day delivery offers, for merchants who want to
1339
+ # explicitly disable it.
1340
+ class HandlingCutoffTime
1341
+ include ::Google::Protobuf::MessageExts
1342
+ extend ::Google::Protobuf::MessageExts::ClassMethods
1343
+ end
1344
+
1271
1345
  # The subscription period of the product.
1272
1346
  module SubscriptionPeriod
1273
1347
  # Indicates that the subscription period is unspecified.
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-shopping-merchant-products-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC