google-shopping-merchant-products-v1beta 0.a → 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (41) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +144 -8
  5. data/lib/google/shopping/merchant/products/v1beta/product_inputs_service/client.rb +547 -0
  6. data/lib/google/shopping/merchant/products/v1beta/product_inputs_service/credentials.rb +49 -0
  7. data/lib/google/shopping/merchant/products/v1beta/product_inputs_service/paths.rb +66 -0
  8. data/lib/google/shopping/merchant/products/v1beta/product_inputs_service/rest/client.rb +507 -0
  9. data/lib/google/shopping/merchant/products/v1beta/product_inputs_service/rest/service_stub.rb +190 -0
  10. data/lib/google/shopping/merchant/products/v1beta/product_inputs_service/rest.rb +55 -0
  11. data/lib/google/shopping/merchant/products/v1beta/product_inputs_service.rb +58 -0
  12. data/lib/google/shopping/merchant/products/v1beta/productinputs_pb.rb +56 -0
  13. data/lib/google/shopping/merchant/products/v1beta/productinputs_services_pb.rb +58 -0
  14. data/lib/google/shopping/merchant/products/v1beta/products_common_pb.rb +75 -0
  15. data/lib/google/shopping/merchant/products/v1beta/products_pb.rb +56 -0
  16. data/lib/google/shopping/merchant/products/v1beta/products_service/client.rb +552 -0
  17. data/lib/google/shopping/merchant/products/v1beta/products_service/credentials.rb +49 -0
  18. data/lib/google/shopping/merchant/products/v1beta/products_service/paths.rb +66 -0
  19. data/lib/google/shopping/merchant/products/v1beta/products_service/rest/client.rb +512 -0
  20. data/lib/google/shopping/merchant/products/v1beta/products_service/rest/service_stub.rb +189 -0
  21. data/lib/google/shopping/merchant/products/v1beta/products_service/rest.rb +55 -0
  22. data/lib/google/shopping/merchant/products/v1beta/products_service.rb +58 -0
  23. data/lib/google/shopping/merchant/products/v1beta/products_services_pb.rb +58 -0
  24. data/lib/google/shopping/merchant/products/v1beta/rest.rb +40 -0
  25. data/lib/google/shopping/merchant/products/v1beta/version.rb +7 -2
  26. data/lib/google/shopping/merchant/products/v1beta.rb +48 -0
  27. data/lib/google-shopping-merchant-products-v1beta.rb +21 -0
  28. data/proto_docs/README.md +4 -0
  29. data/proto_docs/google/api/client.rb +399 -0
  30. data/proto_docs/google/api/field_behavior.rb +85 -0
  31. data/proto_docs/google/api/launch_stage.rb +71 -0
  32. data/proto_docs/google/api/resource.rb +222 -0
  33. data/proto_docs/google/protobuf/duration.rb +98 -0
  34. data/proto_docs/google/protobuf/empty.rb +34 -0
  35. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  36. data/proto_docs/google/shopping/merchant/products/v1beta/productinputs.rb +152 -0
  37. data/proto_docs/google/shopping/merchant/products/v1beta/products.rb +152 -0
  38. data/proto_docs/google/shopping/merchant/products/v1beta/products_common.rb +899 -0
  39. data/proto_docs/google/shopping/type/types.rb +210 -0
  40. data/proto_docs/google/type/interval.rb +45 -0
  41. metadata +100 -10
@@ -0,0 +1,899 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2024 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Shopping
22
+ module Merchant
23
+ module Products
24
+ module V1beta
25
+ # Attributes.
26
+ # @!attribute [rw] identifier_exists
27
+ # @return [::Boolean]
28
+ # Set this value to false when the item does not have unique product
29
+ # identifiers appropriate to its category, such as GTIN, MPN, and brand.
30
+ # Defaults to true, if not provided.
31
+ # @!attribute [rw] is_bundle
32
+ # @return [::Boolean]
33
+ # Whether the item is a merchant-defined bundle. A bundle is a custom
34
+ # grouping of different products sold by a merchant for a single price.
35
+ # @!attribute [rw] title
36
+ # @return [::String]
37
+ # Title of the item.
38
+ # @!attribute [rw] description
39
+ # @return [::String]
40
+ # Description of the item.
41
+ # @!attribute [rw] link
42
+ # @return [::String]
43
+ # URL directly linking to your item's page on your online store.
44
+ # @!attribute [rw] mobile_link
45
+ # @return [::String]
46
+ # URL for the mobile-optimized version of your item's landing page.
47
+ # @!attribute [rw] canonical_link
48
+ # @return [::String]
49
+ # URL for the canonical version of your item's landing page.
50
+ # @!attribute [rw] image_link
51
+ # @return [::String]
52
+ # URL of an image of the item.
53
+ # @!attribute [rw] additional_image_links
54
+ # @return [::Array<::String>]
55
+ # Additional URLs of images of the item.
56
+ # @!attribute [rw] expiration_date
57
+ # @return [::Google::Protobuf::Timestamp]
58
+ # Date on which the item should expire, as specified upon insertion, in
59
+ # [ISO
60
+ # 8601](http://en.wikipedia.org/wiki/ISO_8601) format. The actual
61
+ # expiration date is exposed in `productstatuses` as
62
+ # [googleExpirationDate](https://support.google.com/merchants/answer/6324499)
63
+ # and might be earlier if `expirationDate` is too far in the future.
64
+ # @!attribute [rw] disclosure_date
65
+ # @return [::Google::Protobuf::Timestamp]
66
+ # The date time when an offer becomes visible in search results across
67
+ # Google’s YouTube surfaces, in [ISO
68
+ # 8601](http://en.wikipedia.org/wiki/ISO_8601) format. See [Disclosure date](
69
+ # https://support.google.com/merchants/answer/13034208) for more information.
70
+ # @!attribute [rw] adult
71
+ # @return [::Boolean]
72
+ # Set to true if the item is targeted towards adults.
73
+ # @!attribute [rw] age_group
74
+ # @return [::String]
75
+ # Target [age group](https://support.google.com/merchants/answer/6324463) of
76
+ # the item.
77
+ # @!attribute [rw] availability
78
+ # @return [::String]
79
+ # Availability status of the item.
80
+ # @!attribute [rw] availability_date
81
+ # @return [::Google::Protobuf::Timestamp]
82
+ # The day a pre-ordered product becomes available for delivery, in [ISO
83
+ # 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
84
+ # @!attribute [rw] brand
85
+ # @return [::String]
86
+ # Brand of the item.
87
+ # @!attribute [rw] color
88
+ # @return [::String]
89
+ # Color of the item.
90
+ # @!attribute [rw] condition
91
+ # @return [::String]
92
+ # Condition or state of the item.
93
+ # @!attribute [rw] gender
94
+ # @return [::String]
95
+ # Target gender of the item.
96
+ # @!attribute [rw] google_product_category
97
+ # @return [::String]
98
+ # Google's category of the item (see [Google product
99
+ # taxonomy](https://support.google.com/merchants/answer/1705911)). When
100
+ # querying products, this field will contain the user provided value. There
101
+ # is currently no way to get back the auto assigned google product
102
+ # categories through the API.
103
+ # @!attribute [rw] gtin
104
+ # @return [::String]
105
+ # Global Trade Item Number
106
+ # ([GTIN](https://support.google.com/merchants/answer/188494#gtin)) of the
107
+ # item.
108
+ # @!attribute [rw] item_group_id
109
+ # @return [::String]
110
+ # Shared identifier for all variants of the same product.
111
+ # @!attribute [rw] material
112
+ # @return [::String]
113
+ # The material of which the item is made.
114
+ # @!attribute [rw] mpn
115
+ # @return [::String]
116
+ # Manufacturer Part Number
117
+ # ([MPN](https://support.google.com/merchants/answer/188494#mpn)) of the
118
+ # item.
119
+ # @!attribute [rw] pattern
120
+ # @return [::String]
121
+ # The item's pattern (for example, polka dots).
122
+ # @!attribute [rw] price
123
+ # @return [::Google::Shopping::Type::Price]
124
+ # Price of the item.
125
+ # @!attribute [rw] installment
126
+ # @return [::Google::Shopping::Merchant::Products::V1beta::Installment]
127
+ # Number and amount of installments to pay for an item.
128
+ # @!attribute [rw] subscription_cost
129
+ # @return [::Google::Shopping::Merchant::Products::V1beta::SubscriptionCost]
130
+ # Number of periods (months or years) and amount of payment per period
131
+ # for an item with an associated subscription contract.
132
+ # @!attribute [rw] loyalty_points
133
+ # @return [::Google::Shopping::Merchant::Products::V1beta::LoyaltyPoints]
134
+ # Loyalty points that users receive after purchasing the item. Japan only.
135
+ # @!attribute [rw] loyalty_programs
136
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::LoyaltyProgram>]
137
+ # A list of loyalty program information that is used to surface loyalty
138
+ # benefits (for example, better pricing, points, etc) to the user of this
139
+ # item.
140
+ # @!attribute [rw] product_types
141
+ # @return [::Array<::String>]
142
+ # Categories of the item (formatted as in [product data
143
+ # specification](https://support.google.com/merchants/answer/188494#product_type)).
144
+ # @!attribute [rw] sale_price
145
+ # @return [::Google::Shopping::Type::Price]
146
+ # Advertised sale price of the item.
147
+ # @!attribute [rw] sale_price_effective_date
148
+ # @return [::Google::Type::Interval]
149
+ # Date range during which the item is on sale (see [product data
150
+ # specification](https://support.google.com/merchants/answer/188494#sale_price_effective_date)).
151
+ # @!attribute [rw] sell_on_google_quantity
152
+ # @return [::Integer]
153
+ # The quantity of the product that is available for selling on Google.
154
+ # Supported only for online products.
155
+ # @!attribute [rw] product_height
156
+ # @return [::Google::Shopping::Merchant::Products::V1beta::ProductDimension]
157
+ # The height of the product in the units provided. The value must be
158
+ # between
159
+ # 0 (exclusive) and 3000 (inclusive).
160
+ # @!attribute [rw] product_length
161
+ # @return [::Google::Shopping::Merchant::Products::V1beta::ProductDimension]
162
+ # The length of the product in the units provided. The value must be
163
+ # between 0 (exclusive) and 3000 (inclusive).
164
+ # @!attribute [rw] product_width
165
+ # @return [::Google::Shopping::Merchant::Products::V1beta::ProductDimension]
166
+ # The width of the product in the units provided. The value must be between
167
+ # 0 (exclusive) and 3000 (inclusive).
168
+ # @!attribute [rw] product_weight
169
+ # @return [::Google::Shopping::Merchant::Products::V1beta::ProductWeight]
170
+ # The weight of the product in the units provided. The value must be
171
+ # between 0 (exclusive) and 2000 (inclusive).
172
+ # @!attribute [rw] shipping
173
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::Shipping>]
174
+ # Shipping rules.
175
+ # @!attribute [rw] free_shipping_threshold
176
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::FreeShippingThreshold>]
177
+ # Conditions to be met for a product to have free shipping.
178
+ # @!attribute [rw] shipping_weight
179
+ # @return [::Google::Shopping::Merchant::Products::V1beta::ShippingWeight]
180
+ # Weight of the item for shipping.
181
+ # @!attribute [rw] shipping_length
182
+ # @return [::Google::Shopping::Merchant::Products::V1beta::ShippingDimension]
183
+ # Length of the item for shipping.
184
+ # @!attribute [rw] shipping_width
185
+ # @return [::Google::Shopping::Merchant::Products::V1beta::ShippingDimension]
186
+ # Width of the item for shipping.
187
+ # @!attribute [rw] shipping_height
188
+ # @return [::Google::Shopping::Merchant::Products::V1beta::ShippingDimension]
189
+ # Height of the item for shipping.
190
+ # @!attribute [rw] max_handling_time
191
+ # @return [::Integer]
192
+ # Maximal product handling time (in business days).
193
+ # @!attribute [rw] min_handling_time
194
+ # @return [::Integer]
195
+ # Minimal product handling time (in business days).
196
+ # @!attribute [rw] shipping_label
197
+ # @return [::String]
198
+ # The shipping label of the product, used to group product in account-level
199
+ # shipping rules.
200
+ # @!attribute [rw] transit_time_label
201
+ # @return [::String]
202
+ # The transit time label of the product, used to group product in
203
+ # account-level transit time tables.
204
+ # @!attribute [rw] size
205
+ # @return [::String]
206
+ # Size of the item. Only one value is allowed. For variants with different
207
+ # sizes, insert a separate product for each size with the same
208
+ # `itemGroupId` value (see
209
+ # [https://support.google.com/merchants/answer/6324492](size definition)).
210
+ # @!attribute [rw] size_system
211
+ # @return [::String]
212
+ # System in which the size is specified. Recommended for apparel items.
213
+ # @!attribute [rw] size_types
214
+ # @return [::Array<::String>]
215
+ # The cut of the item. It can be used to represent combined size types for
216
+ # apparel items. Maximum two of size types can be provided (see
217
+ # [https://support.google.com/merchants/answer/6324497](size type)).
218
+ # @!attribute [rw] taxes
219
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::Tax>]
220
+ # Tax information.
221
+ # @!attribute [rw] tax_category
222
+ # @return [::String]
223
+ # The tax category of the product, used to configure detailed tax nexus
224
+ # in account-level tax settings.
225
+ # @!attribute [rw] energy_efficiency_class
226
+ # @return [::String]
227
+ # The energy efficiency class as defined in EU directive 2010/30/EU.
228
+ # @!attribute [rw] min_energy_efficiency_class
229
+ # @return [::String]
230
+ # The energy efficiency class as defined in EU directive 2010/30/EU.
231
+ # @!attribute [rw] max_energy_efficiency_class
232
+ # @return [::String]
233
+ # The energy efficiency class as defined in EU directive 2010/30/EU.
234
+ # @!attribute [rw] unit_pricing_measure
235
+ # @return [::Google::Shopping::Merchant::Products::V1beta::UnitPricingMeasure]
236
+ # The measure and dimension of an item.
237
+ # @!attribute [rw] unit_pricing_base_measure
238
+ # @return [::Google::Shopping::Merchant::Products::V1beta::UnitPricingBaseMeasure]
239
+ # The preference of the denominator of the unit price.
240
+ # @!attribute [rw] multipack
241
+ # @return [::Integer]
242
+ # The number of identical products in a merchant-defined multipack.
243
+ # @!attribute [rw] ads_grouping
244
+ # @return [::String]
245
+ # Used to group items in an arbitrary way. Only for CPA%, discouraged
246
+ # otherwise.
247
+ # @!attribute [rw] ads_labels
248
+ # @return [::Array<::String>]
249
+ # Similar to ads_grouping, but only works on CPC.
250
+ # @!attribute [rw] ads_redirect
251
+ # @return [::String]
252
+ # Allows advertisers to override the item URL when the product is shown
253
+ # within the context of Product ads.
254
+ # @!attribute [rw] cost_of_goods_sold
255
+ # @return [::Google::Shopping::Type::Price]
256
+ # Cost of goods sold. Used for gross profit reporting.
257
+ # @!attribute [rw] product_details
258
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::ProductDetail>]
259
+ # Technical specification or additional product details.
260
+ # @!attribute [rw] product_highlights
261
+ # @return [::Array<::String>]
262
+ # Bullet points describing the most relevant highlights of a product.
263
+ # @!attribute [rw] display_ads_id
264
+ # @return [::String]
265
+ # An identifier for an item for dynamic remarketing campaigns.
266
+ # @!attribute [rw] display_ads_similar_ids
267
+ # @return [::Array<::String>]
268
+ # Advertiser-specified recommendations.
269
+ # @!attribute [rw] display_ads_title
270
+ # @return [::String]
271
+ # Title of an item for dynamic remarketing campaigns.
272
+ # @!attribute [rw] display_ads_link
273
+ # @return [::String]
274
+ # URL directly to your item's landing page for dynamic remarketing
275
+ # campaigns.
276
+ # @!attribute [rw] display_ads_value
277
+ # @return [::Float]
278
+ # Offer margin for dynamic remarketing campaigns.
279
+ # @!attribute [rw] promotion_ids
280
+ # @return [::Array<::String>]
281
+ # The unique ID of a promotion.
282
+ # @!attribute [rw] pickup_method
283
+ # @return [::String]
284
+ # The pick up option for the item.
285
+ # @!attribute [rw] pickup_sla
286
+ # @return [::String]
287
+ # Item store pickup timeline.
288
+ # @!attribute [rw] link_template
289
+ # @return [::String]
290
+ # Link template for merchant hosted local storefront.
291
+ # @!attribute [rw] mobile_link_template
292
+ # @return [::String]
293
+ # Link template for merchant hosted local storefront optimized for mobile
294
+ # devices.
295
+ # @!attribute [rw] custom_label_0
296
+ # @return [::String]
297
+ # Custom label 0 for custom grouping of items in a Shopping campaign.
298
+ # @!attribute [rw] custom_label_1
299
+ # @return [::String]
300
+ # Custom label 1 for custom grouping of items in a Shopping campaign.
301
+ # @!attribute [rw] custom_label_2
302
+ # @return [::String]
303
+ # Custom label 2 for custom grouping of items in a Shopping campaign.
304
+ # @!attribute [rw] custom_label_3
305
+ # @return [::String]
306
+ # Custom label 3 for custom grouping of items in a Shopping campaign.
307
+ # @!attribute [rw] custom_label_4
308
+ # @return [::String]
309
+ # Custom label 4 for custom grouping of items in a Shopping campaign.
310
+ # @!attribute [rw] included_destinations
311
+ # @return [::Array<::String>]
312
+ # The list of destinations to include for this target (corresponds to
313
+ # checked check boxes in Merchant Center). Default destinations are always
314
+ # included unless provided in `excludedDestinations`.
315
+ # @!attribute [rw] excluded_destinations
316
+ # @return [::Array<::String>]
317
+ # The list of destinations to exclude for this target (corresponds to
318
+ # unchecked check boxes in Merchant Center).
319
+ # @!attribute [rw] shopping_ads_excluded_countries
320
+ # @return [::Array<::String>]
321
+ # List of country codes (ISO 3166-1 alpha-2) to exclude the offer from
322
+ # Shopping Ads destination.
323
+ # Countries from this list are removed from countries configured
324
+ # in data source settings.
325
+ # @!attribute [rw] external_seller_id
326
+ # @return [::String]
327
+ # Required for multi-seller accounts. Use this attribute if you're a
328
+ # marketplace uploading products for various sellers to your multi-seller
329
+ # account.
330
+ # @!attribute [rw] pause
331
+ # @return [::String]
332
+ # Publication of this item will be temporarily
333
+ # [paused](https://support.google.com/merchants/answer/11909930).
334
+ # @!attribute [rw] lifestyle_image_links
335
+ # @return [::Array<::String>]
336
+ # Additional URLs of lifestyle images of the item, used to explicitly
337
+ # identify images that showcase your item in a real-world context. See the
338
+ # [Help Center article](https://support.google.com/merchants/answer/9103186)
339
+ # for more information.
340
+ # @!attribute [rw] cloud_export_additional_properties
341
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::CloudExportAdditionalProperties>]
342
+ # Extra fields to export to the Cloud Retail program.
343
+ # @!attribute [rw] virtual_model_link
344
+ # @return [::String]
345
+ # URL of the 3D image of the item. See the
346
+ # [Help Center article](https://support.google.com/merchants/answer/13674896)
347
+ # for more information.
348
+ # @!attribute [rw] certifications
349
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::Certification>]
350
+ # Product Certifications, for example for energy efficiency labeling of
351
+ # products recorded in the [EU EPREL](https://eprel.ec.europa.eu/screen/home)
352
+ # database. See the [Help
353
+ # Center](https://support.google.com/merchants/answer/13528839)
354
+ # article for more information.
355
+ # @!attribute [rw] structured_title
356
+ # @return [::Google::Shopping::Merchant::Products::V1beta::ProductStructuredTitle]
357
+ # Structured title, for algorithmically (AI)-generated titles.
358
+ # @!attribute [rw] structured_description
359
+ # @return [::Google::Shopping::Merchant::Products::V1beta::ProductStructuredDescription]
360
+ # Structured description, for algorithmically (AI)-generated descriptions.
361
+ # @!attribute [rw] auto_pricing_min_price
362
+ # @return [::Google::Shopping::Type::Price]
363
+ # A safeguard in the "Automated Discounts"
364
+ # (https://support.google.com/merchants/answer/10295759) and
365
+ # "Dynamic Promotions"
366
+ # (https://support.google.com/merchants/answer/13949249) projects,
367
+ # ensuring that discounts on merchants' offers do not fall below this value,
368
+ # thereby preserving the offer's value and profitability.
369
+ class Attributes
370
+ include ::Google::Protobuf::MessageExts
371
+ extend ::Google::Protobuf::MessageExts::ClassMethods
372
+ end
373
+
374
+ # The Tax of the product.
375
+ # @!attribute [rw] rate
376
+ # @return [::Float]
377
+ # The percentage of tax rate that applies to the item price.
378
+ # @!attribute [rw] country
379
+ # @return [::String]
380
+ # The country within which the item is taxed, specified as a [CLDR
381
+ # territory
382
+ # code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml).
383
+ # @!attribute [rw] region
384
+ # @return [::String]
385
+ # The geographic region to which the tax rate applies.
386
+ # @!attribute [rw] tax_ship
387
+ # @return [::Boolean]
388
+ # Set to true if tax is charged on shipping.
389
+ # @!attribute [rw] location_id
390
+ # @return [::Integer]
391
+ # The numeric ID of a location that the tax rate applies to as defined in
392
+ # the [AdWords
393
+ # API](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
394
+ # @!attribute [rw] postal_code
395
+ # @return [::String]
396
+ # The postal code range that the tax rate applies to, represented by
397
+ # a ZIP code, a ZIP code prefix using * wildcard, a range between two ZIP
398
+ # codes or two ZIP code prefixes of equal length.
399
+ # Examples: 94114, 94*, 94002-95460, 94*-95*.
400
+ class Tax
401
+ include ::Google::Protobuf::MessageExts
402
+ extend ::Google::Protobuf::MessageExts::ClassMethods
403
+ end
404
+
405
+ # The ShippingWeight of the product.
406
+ # @!attribute [rw] value
407
+ # @return [::Float]
408
+ # The weight of the product used to calculate the shipping cost of the
409
+ # item.
410
+ # @!attribute [rw] unit
411
+ # @return [::String]
412
+ # The unit of value.
413
+ class ShippingWeight
414
+ include ::Google::Protobuf::MessageExts
415
+ extend ::Google::Protobuf::MessageExts::ClassMethods
416
+ end
417
+
418
+ # The ShippingDimension of the product.
419
+ # @!attribute [rw] value
420
+ # @return [::Float]
421
+ # The dimension of the product used to calculate the shipping cost of the
422
+ # item.
423
+ # @!attribute [rw] unit
424
+ # @return [::String]
425
+ # The unit of value.
426
+ class ShippingDimension
427
+ include ::Google::Protobuf::MessageExts
428
+ extend ::Google::Protobuf::MessageExts::ClassMethods
429
+ end
430
+
431
+ # The UnitPricingBaseMeasure of the product.
432
+ # @!attribute [rw] value
433
+ # @return [::Integer]
434
+ # The denominator of the unit price.
435
+ # @!attribute [rw] unit
436
+ # @return [::String]
437
+ # The unit of the denominator.
438
+ class UnitPricingBaseMeasure
439
+ include ::Google::Protobuf::MessageExts
440
+ extend ::Google::Protobuf::MessageExts::ClassMethods
441
+ end
442
+
443
+ # The UnitPricingMeasure of the product.
444
+ # @!attribute [rw] value
445
+ # @return [::Float]
446
+ # The measure of an item.
447
+ # @!attribute [rw] unit
448
+ # @return [::String]
449
+ # The unit of the measure.
450
+ class UnitPricingMeasure
451
+ include ::Google::Protobuf::MessageExts
452
+ extend ::Google::Protobuf::MessageExts::ClassMethods
453
+ end
454
+
455
+ # The SubscriptionCost of the product.
456
+ # @!attribute [rw] period
457
+ # @return [::Google::Shopping::Merchant::Products::V1beta::SubscriptionPeriod]
458
+ # The type of subscription period.
459
+ # Supported values are:
460
+ # * "`month`"
461
+ # * "`year`"
462
+ # @!attribute [rw] period_length
463
+ # @return [::Integer]
464
+ # The number of subscription periods the buyer has to pay.
465
+ # @!attribute [rw] amount
466
+ # @return [::Google::Shopping::Type::Price]
467
+ # The amount the buyer has to pay per subscription period.
468
+ class SubscriptionCost
469
+ include ::Google::Protobuf::MessageExts
470
+ extend ::Google::Protobuf::MessageExts::ClassMethods
471
+ end
472
+
473
+ # A message that represents installment.
474
+ # @!attribute [rw] months
475
+ # @return [::Integer]
476
+ # The number of installments the buyer has to pay.
477
+ # @!attribute [rw] amount
478
+ # @return [::Google::Shopping::Type::Price]
479
+ # The amount the buyer has to pay per month.
480
+ # @!attribute [rw] downpayment
481
+ # @return [::Google::Shopping::Type::Price]
482
+ # The up-front down payment amount the buyer has to pay.
483
+ # @!attribute [rw] credit_type
484
+ # @return [::String]
485
+ # Type of installment payments.
486
+ # Supported values are:
487
+ # * "`finance`"
488
+ # * "`lease`"
489
+ class Installment
490
+ include ::Google::Protobuf::MessageExts
491
+ extend ::Google::Protobuf::MessageExts::ClassMethods
492
+ end
493
+
494
+ # A message that represents loyalty points.
495
+ # @!attribute [rw] name
496
+ # @return [::String]
497
+ # Name of loyalty points program. It is recommended to limit the name to
498
+ # 12 full-width characters or 24 Roman characters.
499
+ # @!attribute [rw] points_value
500
+ # @return [::Integer]
501
+ # The retailer's loyalty points in absolute value.
502
+ # @!attribute [rw] ratio
503
+ # @return [::Float]
504
+ # The ratio of a point when converted to currency. Google assumes currency
505
+ # based on Merchant Center settings. If ratio is left out, it defaults to
506
+ # 1.0.
507
+ class LoyaltyPoints
508
+ include ::Google::Protobuf::MessageExts
509
+ extend ::Google::Protobuf::MessageExts::ClassMethods
510
+ end
511
+
512
+ # A message that represents loyalty program.
513
+ # @!attribute [rw] program_label
514
+ # @return [::String]
515
+ # The label of the loyalty program. This is an internal label that uniquely
516
+ # identifies the relationship between a merchant entity and a loyalty
517
+ # program entity. The label must be provided so that the system can associate
518
+ # the assets below (for example, price and points) with a merchant. The
519
+ # corresponding program must be linked to the merchant account.
520
+ # @!attribute [rw] tier_label
521
+ # @return [::String]
522
+ # The label of the tier within the loyalty program.
523
+ # Must match one of the labels within the program.
524
+ # @!attribute [rw] price
525
+ # @return [::Google::Shopping::Type::Price]
526
+ # The price for members of the given tier, that is, the instant discount
527
+ # price. Must be smaller or equal to the regular price.
528
+ # @!attribute [rw] cashback_for_future_use
529
+ # @return [::Google::Shopping::Type::Price]
530
+ # The cashback that can be used for future purchases.
531
+ # @!attribute [rw] loyalty_points
532
+ # @return [::Integer]
533
+ # The amount of loyalty points earned on a purchase.
534
+ class LoyaltyProgram
535
+ include ::Google::Protobuf::MessageExts
536
+ extend ::Google::Protobuf::MessageExts::ClassMethods
537
+ end
538
+
539
+ # The Shipping of the product.
540
+ # @!attribute [rw] price
541
+ # @return [::Google::Shopping::Type::Price]
542
+ # Fixed shipping price, represented as a number.
543
+ # @!attribute [rw] country
544
+ # @return [::String]
545
+ # The [CLDR territory
546
+ # code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
547
+ # of the country to which an item will ship.
548
+ # @!attribute [rw] region
549
+ # @return [::String]
550
+ # The geographic region to which a shipping rate applies.
551
+ # See [region](https://support.google.com/merchants/answer/6324484) for more
552
+ # information.
553
+ # @!attribute [rw] service
554
+ # @return [::String]
555
+ # A free-form description of the service class or delivery speed.
556
+ # @!attribute [rw] location_id
557
+ # @return [::Integer]
558
+ # The numeric ID of a location that the shipping rate applies to as
559
+ # defined in the [AdWords
560
+ # API](https://developers.google.com/adwords/api/docs/appendix/geotargeting).
561
+ # @!attribute [rw] location_group_name
562
+ # @return [::String]
563
+ # The location where the shipping is applicable, represented by a
564
+ # location group name.
565
+ # @!attribute [rw] postal_code
566
+ # @return [::String]
567
+ # The postal code range that the shipping rate applies to, represented by
568
+ # a postal code, a postal code prefix followed by a * wildcard, a range
569
+ # between two postal codes or two postal code prefixes of equal length.
570
+ # @!attribute [rw] min_handling_time
571
+ # @return [::Integer]
572
+ # Minimum handling time (inclusive) between when the order is received and
573
+ # shipped in business days. 0 means that the order is shipped on the same
574
+ # day as it is received if it happens before the cut-off time.
575
+ # [minHandlingTime][google.shopping.content.bundles.Products.Shipping.min_handling_time]
576
+ # can only be present together with
577
+ # [maxHandlingTime][google.shopping.content.bundles.Products.Shipping.max_handling_time];
578
+ # but it is not required if
579
+ # [maxHandlingTime][google.shopping.content.bundles.Products.Shipping.max_handling_time]
580
+ # is present.
581
+ # @!attribute [rw] max_handling_time
582
+ # @return [::Integer]
583
+ # Maximum handling time (inclusive) between when the order is received and
584
+ # shipped in business days. 0 means that the order is shipped on the same
585
+ # day as it is received if it happens before the cut-off time. Both
586
+ # [maxHandlingTime][google.shopping.content.bundles.Products.Shipping.max_handling_time]
587
+ # and
588
+ # [maxTransitTime][google.shopping.content.bundles.Products.Shipping.max_transit_time]
589
+ # are required if providing shipping speeds.
590
+ # [minHandlingTime][google.shopping.content.bundles.Products.Shipping.min_handling_time]
591
+ # is optional if
592
+ # [maxHandlingTime][google.shopping.content.bundles.Products.Shipping.max_handling_time]
593
+ # is present.
594
+ # @!attribute [rw] min_transit_time
595
+ # @return [::Integer]
596
+ # Minimum transit time (inclusive) between when the order has shipped and
597
+ # when it is delivered in business days. 0 means that the order is
598
+ # delivered on the same day as it ships.
599
+ # [minTransitTime][google.shopping.content.bundles.Products.Shipping.min_transit_time]
600
+ # can only be present together with
601
+ # [maxTransitTime][google.shopping.content.bundles.Products.Shipping.max_transit_time];
602
+ # but it is not required if
603
+ # [maxTransitTime][google.shopping.content.bundles.Products.Shipping.max_transit_time]
604
+ # is present.
605
+ # @!attribute [rw] max_transit_time
606
+ # @return [::Integer]
607
+ # Maximum transit time (inclusive) between when the order has shipped and
608
+ # when it is delivered in business days. 0 means that the order is
609
+ # delivered on the same day as it ships. Both
610
+ # [maxHandlingTime][google.shopping.content.bundles.Products.Shipping.max_handling_time]
611
+ # and
612
+ # [maxTransitTime][google.shopping.content.bundles.Products.Shipping.max_transit_time]
613
+ # are required if providing shipping speeds.
614
+ # [minTransitTime][google.shopping.content.bundles.Products.Shipping.min_transit_time]
615
+ # is optional if
616
+ # [maxTransitTime][google.shopping.content.bundles.Products.Shipping.max_transit_time]
617
+ # is present.
618
+ class Shipping
619
+ include ::Google::Protobuf::MessageExts
620
+ extend ::Google::Protobuf::MessageExts::ClassMethods
621
+ end
622
+
623
+ # Conditions to be met for a product to have free shipping.
624
+ # @!attribute [rw] country
625
+ # @return [::String]
626
+ # The [CLDR territory
627
+ # code](http://www.unicode.org/repos/cldr/tags/latest/common/main/en.xml)
628
+ # of the country to which an item will ship.
629
+ # @!attribute [rw] price_threshold
630
+ # @return [::Google::Shopping::Type::Price]
631
+ # The minimum product price for the shipping cost to become free. Represented
632
+ # as a number.
633
+ class FreeShippingThreshold
634
+ include ::Google::Protobuf::MessageExts
635
+ extend ::Google::Protobuf::MessageExts::ClassMethods
636
+ end
637
+
638
+ # The product details.
639
+ # @!attribute [rw] section_name
640
+ # @return [::String]
641
+ # The section header used to group a set of product details.
642
+ # @!attribute [rw] attribute_name
643
+ # @return [::String]
644
+ # The name of the product detail.
645
+ # @!attribute [rw] attribute_value
646
+ # @return [::String]
647
+ # The value of the product detail.
648
+ class ProductDetail
649
+ include ::Google::Protobuf::MessageExts
650
+ extend ::Google::Protobuf::MessageExts::ClassMethods
651
+ end
652
+
653
+ # Product
654
+ # [certification](https://support.google.com/merchants/answer/13528839),
655
+ # initially introduced for EU energy efficiency labeling compliance using the
656
+ # EU EPREL database.
657
+ # @!attribute [rw] certification_authority
658
+ # @return [::String]
659
+ # The certification authority, for example "European_Commission".
660
+ # Maximum length is 2000 characters.
661
+ # @!attribute [rw] certification_name
662
+ # @return [::String]
663
+ # The name of the certification, for example "EPREL".
664
+ # Maximum length is 2000 characters.
665
+ # @!attribute [rw] certification_code
666
+ # @return [::String]
667
+ # The certification code.
668
+ # Maximum length is 2000 characters.
669
+ # @!attribute [rw] certification_value
670
+ # @return [::String]
671
+ # The certification value (also known as class, level or grade), for example
672
+ # "A+", "C", "gold".
673
+ # Maximum length is 2000 characters.
674
+ class Certification
675
+ include ::Google::Protobuf::MessageExts
676
+ extend ::Google::Protobuf::MessageExts::ClassMethods
677
+ end
678
+
679
+ # Structured title, for algorithmically (AI)-generated titles.
680
+ # @!attribute [rw] digital_source_type
681
+ # @return [::String]
682
+ # The digital source type, for example "trained_algorithmic_media".
683
+ # Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype).
684
+ # Maximum length is 40 characters.
685
+ # @!attribute [rw] content
686
+ # @return [::String]
687
+ # The title text
688
+ # Maximum length is 150 characters
689
+ class ProductStructuredTitle
690
+ include ::Google::Protobuf::MessageExts
691
+ extend ::Google::Protobuf::MessageExts::ClassMethods
692
+ end
693
+
694
+ # Structured description, for algorithmically (AI)-generated descriptions.
695
+ # @!attribute [rw] digital_source_type
696
+ # @return [::String]
697
+ # The digital source type, for example "trained_algorithmic_media".
698
+ # Following [IPTC](https://cv.iptc.org/newscodes/digitalsourcetype).
699
+ # Maximum length is 40 characters.
700
+ # @!attribute [rw] content
701
+ # @return [::String]
702
+ # The description text
703
+ # Maximum length is 5000 characters
704
+ class ProductStructuredDescription
705
+ include ::Google::Protobuf::MessageExts
706
+ extend ::Google::Protobuf::MessageExts::ClassMethods
707
+ end
708
+
709
+ # The dimension of the product.
710
+ # @!attribute [rw] value
711
+ # @return [::Float]
712
+ # Required. The dimension value represented as a number. The value can have a
713
+ # maximum precision of four decimal places.
714
+ # @!attribute [rw] unit
715
+ # @return [::String]
716
+ # Required. The dimension units.
717
+ # Acceptable values are:
718
+ # * "`in`"
719
+ # * "`cm`"
720
+ class ProductDimension
721
+ include ::Google::Protobuf::MessageExts
722
+ extend ::Google::Protobuf::MessageExts::ClassMethods
723
+ end
724
+
725
+ # The weight of the product.
726
+ # @!attribute [rw] value
727
+ # @return [::Float]
728
+ # Required. The weight represented as a number. The weight can have a maximum
729
+ # precision of four decimal places.
730
+ # @!attribute [rw] unit
731
+ # @return [::String]
732
+ # Required. The weight unit.
733
+ # Acceptable values are:
734
+ # * "`g`"
735
+ # * "`kg`"
736
+ # * "`oz`"
737
+ # * "`lb`"
738
+ class ProductWeight
739
+ include ::Google::Protobuf::MessageExts
740
+ extend ::Google::Protobuf::MessageExts::ClassMethods
741
+ end
742
+
743
+ # The status of a product, data validation issues, that is, information about
744
+ # a product computed asynchronously.
745
+ # @!attribute [rw] destination_statuses
746
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::ProductStatus::DestinationStatus>]
747
+ # The intended destinations for the product.
748
+ # @!attribute [rw] item_level_issues
749
+ # @return [::Array<::Google::Shopping::Merchant::Products::V1beta::ProductStatus::ItemLevelIssue>]
750
+ # A list of all issues associated with the product.
751
+ # @!attribute [rw] creation_date
752
+ # @return [::Google::Protobuf::Timestamp]
753
+ # Date on which the item has been created, in [ISO
754
+ # 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
755
+ # @!attribute [rw] last_update_date
756
+ # @return [::Google::Protobuf::Timestamp]
757
+ # Date on which the item has been last updated, in [ISO
758
+ # 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
759
+ # @!attribute [rw] google_expiration_date
760
+ # @return [::Google::Protobuf::Timestamp]
761
+ # Date on which the item expires, in [ISO
762
+ # 8601](http://en.wikipedia.org/wiki/ISO_8601) format.
763
+ class ProductStatus
764
+ include ::Google::Protobuf::MessageExts
765
+ extend ::Google::Protobuf::MessageExts::ClassMethods
766
+
767
+ # The destination status of the product status.
768
+ # @!attribute [rw] reporting_context
769
+ # @return [::Google::Shopping::Type::ReportingContext::ReportingContextEnum]
770
+ # The name of the reporting context.
771
+ # @!attribute [rw] approved_countries
772
+ # @return [::Array<::String>]
773
+ # List of country codes (ISO 3166-1 alpha-2) where the offer is approved.
774
+ # @!attribute [rw] pending_countries
775
+ # @return [::Array<::String>]
776
+ # List of country codes (ISO 3166-1 alpha-2) where the offer is pending
777
+ # approval.
778
+ # @!attribute [rw] disapproved_countries
779
+ # @return [::Array<::String>]
780
+ # List of country codes (ISO 3166-1 alpha-2) where the offer is
781
+ # disapproved.
782
+ class DestinationStatus
783
+ include ::Google::Protobuf::MessageExts
784
+ extend ::Google::Protobuf::MessageExts::ClassMethods
785
+ end
786
+
787
+ # The ItemLevelIssue of the product status.
788
+ # @!attribute [rw] code
789
+ # @return [::String]
790
+ # The error code of the issue.
791
+ # @!attribute [rw] severity
792
+ # @return [::Google::Shopping::Merchant::Products::V1beta::ProductStatus::ItemLevelIssue::Severity]
793
+ # How this issue affects serving of the offer.
794
+ # @!attribute [rw] resolution
795
+ # @return [::String]
796
+ # Whether the issue can be resolved by the merchant.
797
+ # @!attribute [rw] attribute
798
+ # @return [::String]
799
+ # The attribute's name, if the issue is caused by a single attribute.
800
+ # @!attribute [rw] reporting_context
801
+ # @return [::Google::Shopping::Type::ReportingContext::ReportingContextEnum]
802
+ # The reporting context the issue applies to.
803
+ # @!attribute [rw] description
804
+ # @return [::String]
805
+ # A short issue description in English.
806
+ # @!attribute [rw] detail
807
+ # @return [::String]
808
+ # A detailed issue description in English.
809
+ # @!attribute [rw] documentation
810
+ # @return [::String]
811
+ # The URL of a web page to help with resolving this issue.
812
+ # @!attribute [rw] applicable_countries
813
+ # @return [::Array<::String>]
814
+ # List of country codes (ISO 3166-1 alpha-2) where issue applies to the
815
+ # offer.
816
+ class ItemLevelIssue
817
+ include ::Google::Protobuf::MessageExts
818
+ extend ::Google::Protobuf::MessageExts::ClassMethods
819
+
820
+ # How the issue affects the serving of the product.
821
+ module Severity
822
+ # Not specified.
823
+ SEVERITY_UNSPECIFIED = 0
824
+
825
+ # This issue represents a warning and does not have a direct affect
826
+ # on the product.
827
+ NOT_IMPACTED = 1
828
+
829
+ # The product is demoted and most likely have limited performance
830
+ # in search results
831
+ DEMOTED = 2
832
+
833
+ # Issue disapproves the product.
834
+ DISAPPROVED = 3
835
+ end
836
+ end
837
+ end
838
+
839
+ # Product property for the Cloud Retail API.
840
+ # For example, properties for a TV product could be "Screen-Resolution" or
841
+ # "Screen-Size".
842
+ # @!attribute [rw] property_name
843
+ # @return [::String]
844
+ # Name of the given property. For example,
845
+ # "Screen-Resolution" for a TV product. Maximum string size is 256
846
+ # characters.
847
+ # @!attribute [rw] text_value
848
+ # @return [::Array<::String>]
849
+ # Text value of the given property. For example,
850
+ # "8K(UHD)" could be a text value for a TV product. Maximum
851
+ # repeatedness of this value is 400. Values are stored in an arbitrary but
852
+ # consistent order. Maximum string size is 256 characters.
853
+ # @!attribute [rw] bool_value
854
+ # @return [::Boolean]
855
+ # Boolean value of the given property. For example for a TV product,
856
+ # "True" or "False" if the screen is UHD.
857
+ # @!attribute [rw] int_value
858
+ # @return [::Array<::Integer>]
859
+ # Integer values of the given property. For example, 1080 for a TV
860
+ # product's Screen Resolution. Maximum repeatedness of this value
861
+ # is 400. Values are stored in an arbitrary but consistent order.
862
+ # @!attribute [rw] float_value
863
+ # @return [::Array<::Float>]
864
+ # Float values of the given property. For example for a TV product
865
+ # 1.2345. Maximum repeatedness of this value is 400. Values
866
+ # are stored in an arbitrary but consistent order.
867
+ # @!attribute [rw] min_value
868
+ # @return [::Float]
869
+ # Minimum float value of the given property. For example for a TV
870
+ # product 1.00.
871
+ # @!attribute [rw] max_value
872
+ # @return [::Float]
873
+ # Maximum float value of the given property. For example for a TV
874
+ # product 100.00.
875
+ # @!attribute [rw] unit_code
876
+ # @return [::String]
877
+ # Unit of the given property. For example, "Pixels" for a TV product. Maximum
878
+ # string size is 256B.
879
+ class CloudExportAdditionalProperties
880
+ include ::Google::Protobuf::MessageExts
881
+ extend ::Google::Protobuf::MessageExts::ClassMethods
882
+ end
883
+
884
+ # The subscription period of the product.
885
+ module SubscriptionPeriod
886
+ # Indicates that the subscription period is unspecified.
887
+ SUBSCRIPTION_PERIOD_UNSPECIFIED = 0
888
+
889
+ # Indicates that the subscription period is month.
890
+ MONTH = 1
891
+
892
+ # Indicates that the subscription period is year.
893
+ YEAR = 2
894
+ end
895
+ end
896
+ end
897
+ end
898
+ end
899
+ end