google-shopping-merchant-promotions-v1 0.a → 0.2.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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +154 -8
  5. data/lib/google/shopping/merchant/promotions/v1/promotions_common_pb.rb +62 -0
  6. data/lib/google/shopping/merchant/promotions/v1/promotions_pb.rb +57 -0
  7. data/lib/google/shopping/merchant/promotions/v1/promotions_service/client.rb +684 -0
  8. data/lib/google/shopping/merchant/promotions/v1/promotions_service/credentials.rb +49 -0
  9. data/lib/google/shopping/merchant/promotions/v1/promotions_service/paths.rb +52 -0
  10. data/lib/google/shopping/merchant/promotions/v1/promotions_service/rest/client.rb +637 -0
  11. data/lib/google/shopping/merchant/promotions/v1/promotions_service/rest/service_stub.rb +267 -0
  12. data/lib/google/shopping/merchant/promotions/v1/promotions_service/rest.rb +54 -0
  13. data/lib/google/shopping/merchant/promotions/v1/promotions_service.rb +57 -0
  14. data/lib/google/shopping/merchant/promotions/v1/promotions_services_pb.rb +60 -0
  15. data/lib/google/shopping/merchant/promotions/v1/rest.rb +39 -0
  16. data/lib/google/shopping/merchant/promotions/v1/version.rb +7 -2
  17. data/lib/google/shopping/merchant/promotions/v1.rb +47 -0
  18. data/lib/google-shopping-merchant-promotions-v1.rb +21 -0
  19. data/proto_docs/README.md +4 -0
  20. data/proto_docs/google/api/client.rb +473 -0
  21. data/proto_docs/google/api/field_behavior.rb +85 -0
  22. data/proto_docs/google/api/launch_stage.rb +71 -0
  23. data/proto_docs/google/api/resource.rb +227 -0
  24. data/proto_docs/google/protobuf/duration.rb +98 -0
  25. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  26. data/proto_docs/google/shopping/merchant/promotions/v1/promotions.rb +176 -0
  27. data/proto_docs/google/shopping/merchant/promotions/v1/promotions_common.rb +446 -0
  28. data/proto_docs/google/shopping/type/types.rb +210 -0
  29. data/proto_docs/google/type/interval.rb +45 -0
  30. metadata +88 -9
@@ -0,0 +1,446 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Shopping
22
+ module Merchant
23
+ module Promotions
24
+ module V1
25
+ # Attributes.
26
+ # @!attribute [rw] product_applicability
27
+ # @return [::Google::Shopping::Merchant::Promotions::V1::ProductApplicability]
28
+ # Required. Applicability of the promotion to either all products or
29
+ # [only specific
30
+ # products](https://support.google.com/merchants/answer/6396257?ref_topic=6396150&sjid=17642868584668136159-NC).
31
+ # @!attribute [rw] offer_type
32
+ # @return [::Google::Shopping::Merchant::Promotions::V1::OfferType]
33
+ # Required.
34
+ # [Type](https://support.google.com/merchants/answer/13837405?ref_topic=13773355&sjid=17642868584668136159-NC)
35
+ # of the promotion. Use this attribute to indicate whether or not customers
36
+ # need a coupon code to redeem your promotion.
37
+ # @!attribute [rw] generic_redemption_code
38
+ # @return [::String]
39
+ # Optional. Generic redemption code for the promotion. To be used with the
40
+ # `offerType` field and must meet the [minimum
41
+ # requirements](https://support.google.com/merchants/answer/13837405?ref_topic=13773355&sjid=17642868584668136159-NC).
42
+ # @!attribute [rw] long_title
43
+ # @return [::String]
44
+ # Required. [Long
45
+ # title](https://support.google.com/merchants/answer/13838102?ref_topic=13773355&sjid=17642868584668136159-NC)
46
+ # for the promotion.
47
+ # @!attribute [rw] coupon_value_type
48
+ # @return [::Google::Shopping::Merchant::Promotions::V1::CouponValueType]
49
+ # Required. The [coupon value type]
50
+ # (https://support.google.com/merchants/answer/13861986?ref_topic=13773355&sjid=17642868584668136159-NC)
51
+ # attribute to signal the type of promotion that you are running. Depending
52
+ # on type of the selected coupon value [some attributes are
53
+ # required](https://support.google.com/merchants/answer/6393006?ref_topic=7322920).
54
+ # @!attribute [rw] promotion_destinations
55
+ # @return [::Array<::Google::Shopping::Type::Destination::DestinationEnum>]
56
+ # Required. The list of destinations (also known as [Marketing
57
+ # methods](https://support.google.com/merchants/answer/15130232)) where the
58
+ # promotion applies to. If you don't specify a destination by including a
59
+ # supported value in your data source, your promotion will display in
60
+ # Shopping ads and free listings by default.
61
+ #
62
+ # You may have previously submitted the following values as destinations for
63
+ # your products: Shopping Actions, Surfaces across Google, Local surfaces
64
+ # across Google. To represent these values use `FREE_LISTINGS`,
65
+ # `FREE_LOCAL_LISTINGS`, `LOCAL_INVENTORY_ADS`. For more details see
66
+ # [Promotion
67
+ # destination](https://support.google.com/merchants/answer/13837465?sjid=5155774230887277618-NC)
68
+ # @!attribute [rw] item_id_inclusion
69
+ # @return [::Array<::String>]
70
+ # Optional. Product filter by [item
71
+ # ID](https://support.google.com/merchants/answer/13861565?ref_topic=13773355&sjid=17642868584668136159-NC)
72
+ # for the promotion. The product filter attributes only applies when the
73
+ # products eligible for promotion product applicability
74
+ # `product_applicability` attribute is set to
75
+ # [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).
76
+ # @!attribute [rw] brand_inclusion
77
+ # @return [::Array<::String>]
78
+ # Optional. Product filter by brand for the promotion. The product filter
79
+ # attributes only applies when the products eligible for promotion product
80
+ # applicability `product_applicability` attribute is set to
81
+ # [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).
82
+ # @!attribute [rw] item_group_id_inclusion
83
+ # @return [::Array<::String>]
84
+ # Optional. Product filter by item group ID for the promotion. The product
85
+ # filter attributes only applies when the products eligible for promotion
86
+ # product applicability [product_applicability] attribute is set to
87
+ # [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).
88
+ # @!attribute [rw] product_type_inclusion
89
+ # @return [::Array<::String>]
90
+ # Optional. Product filter by product type for the promotion. The product
91
+ # filter attributes only applies when the products eligible for promotion
92
+ # product applicability `product_applicability` attribute is set to
93
+ # [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).
94
+ # @!attribute [rw] item_id_exclusion
95
+ # @return [::Array<::String>]
96
+ # Optional. Product filter by [item ID
97
+ # exclusion](https://support.google.com/merchants/answer/13863524?ref_topic=13773355&sjid=17642868584668136159-NC)
98
+ # for the promotion. The product filter attributes only applies when the
99
+ # products eligible for promotion product applicability
100
+ # `product_applicability` attribute is set to
101
+ # [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).
102
+ # @!attribute [rw] brand_exclusion
103
+ # @return [::Array<::String>]
104
+ # Optional. Product filter by [brand
105
+ # exclusion](https://support.google.com/merchants/answer/13861679?ref_topic=13773355&sjid=17642868584668136159-NC)
106
+ # for the promotion. The product filter attributes only applies when the
107
+ # products eligible for promotion product applicability
108
+ # `product_applicability` attribute is set to
109
+ # [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).
110
+ # @!attribute [rw] item_group_id_exclusion
111
+ # @return [::Array<::String>]
112
+ # Optional. Product filter by [item group
113
+ # ID](https://support.google.com/merchants/answer/13837298?ref_topic=13773355&sjid=17642868584668136159-NC).
114
+ # The product filter attributes only applies when the products eligible for
115
+ # promotion product applicability `product_applicability` attribute is set to
116
+ # [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).
117
+ # exclusion for the promotion.
118
+ # @!attribute [rw] product_type_exclusion
119
+ # @return [::Array<::String>]
120
+ # Optional. Product filter by [product type
121
+ # exclusion](https://support.google.com/merchants/answer/13863746?ref_topic=13773355&sjid=17642868584668136159-NC)
122
+ # for the promotion. The product filter attributes only applies when the
123
+ # products eligible for promotion product applicability
124
+ # `product_applicability` attribute is set to
125
+ # [specific_products](https://support.google.com/merchants/answer/13837299?ref_topic=13773355&sjid=17642868584668136159-NC).
126
+ # @!attribute [rw] minimum_purchase_amount
127
+ # @return [::Google::Shopping::Type::Price]
128
+ # Optional. [Minimum purchase
129
+ # amount](https://support.google.com/merchants/answer/13837705?ref_topic=13773355&sjid=17642868584668136159-NC)
130
+ # for the promotion.
131
+ # @!attribute [rw] minimum_purchase_quantity
132
+ # @return [::Integer]
133
+ # @!attribute [rw] limit_quantity
134
+ # @return [::Integer]
135
+ # Optional. [Maximum purchase
136
+ # quantity](https://support.google.com/merchants/answer/13861564?ref_topic=13773355&sjid=17642868584668136159-NC)
137
+ # for the promotion.
138
+ # @!attribute [rw] limit_value
139
+ # @return [::Google::Shopping::Type::Price]
140
+ # Optional. [Maximum product
141
+ # price](https://support.google.com/merchants/answer/2906014) for
142
+ # promotion.
143
+ # @!attribute [rw] percent_off
144
+ # @return [::Integer]
145
+ # Optional. The [percentage
146
+ # discount](https://support.google.com/merchants/answer/13837404?sjid=17642868584668136159-NC)
147
+ # offered in the promotion.
148
+ # @!attribute [rw] money_off_amount
149
+ # @return [::Google::Shopping::Type::Price]
150
+ # Optional. The [money off
151
+ # amount](https://support.google.com/merchants/answer/13838101?ref_topic=13773355&sjid=17642868584668136159-NC)
152
+ # offered in the promotion.
153
+ # @!attribute [rw] get_this_quantity_discounted
154
+ # @return [::Integer]
155
+ # Optional. The number of items discounted in the promotion. The attribute is
156
+ # set when `couponValueType` is equal to `buy_m_get_n_money_off` or
157
+ # `buy_m_get_n_percent_off`.
158
+ # @!attribute [rw] free_gift_value
159
+ # @return [::Google::Shopping::Type::Price]
160
+ # Optional. [Free gift
161
+ # value](https://support.google.com/merchants/answer/13844477?ref_topic=13773355&sjid=17642868584668136159-NC)
162
+ # for the promotion.
163
+ # @!attribute [rw] free_gift_description
164
+ # @return [::String]
165
+ # Optional. [Free gift
166
+ # description](https://support.google.com/merchants/answer/13847245?ref_topic=13773355&sjid=17642868584668136159-NC)
167
+ # for the promotion.
168
+ # @!attribute [rw] free_gift_item_id
169
+ # @return [::String]
170
+ # Optional. [Free gift item
171
+ # ID](https://support.google.com/merchants/answer/13857152?ref_topic=13773355&sjid=17642868584668136159-NC)
172
+ # for the promotion.
173
+ # @!attribute [rw] promotion_effective_time_period
174
+ # @return [::Google::Type::Interval]
175
+ # Required. `TimePeriod` representation of the promotion's effective dates.
176
+ # This attribute specifies that the promotion can be tested on your online
177
+ # store during this time period.
178
+ # @!attribute [rw] promotion_display_time_period
179
+ # @return [::Google::Type::Interval]
180
+ # Optional. `TimePeriod` representation of the promotion's display dates.
181
+ # This attribute specifies the date and time frame when the promotion will be
182
+ # live on Google.com and Shopping ads. If the display time period for
183
+ # promotion `promotion_display_time_period` attribute is not specified, the
184
+ # promotion effective time period `promotion_effective_time_period`
185
+ # determines the date and time frame when the promotion will be live on
186
+ # Google.com and Shopping ads.
187
+ # @!attribute [rw] store_applicability
188
+ # @return [::Google::Shopping::Merchant::Promotions::V1::StoreApplicability]
189
+ # Optional. Whether the promotion applies to [all stores, or only specified
190
+ # stores](https://support.google.com/merchants/answer/13857563?sjid=17642868584668136159-NC).
191
+ # Local Inventory ads promotions throw an error if no store applicability is
192
+ # included. An `INVALID_ARGUMENT` error is thrown if `store_applicability` is
193
+ # set to `ALL_STORES` and `store_codes_inclusion` or `score_code_exclusion`
194
+ # is set to a value.
195
+ # @!attribute [rw] store_codes_inclusion
196
+ # @return [::Array<::String>]
197
+ # Optional. [Store codes to
198
+ # include](https://support.google.com/merchants/answer/13857470?ref_topic=13773355&sjid=17642868584668136159-NC)
199
+ # for the promotion. The store filter attributes only applies when the
200
+ # `store_applicability` attribute is set to
201
+ # [specific_stores](https://support.google.com/merchants/answer/13857563?ref_topic=13773355&sjid=17642868584668136159-NC).
202
+ #
203
+ # Store code (the store ID from
204
+ # your Business Profile) of the physical store the product is sold in. See
205
+ # the [Local product inventory data
206
+ # specification](https://support.google.com/merchants/answer/3061342) for
207
+ # more information.
208
+ # @!attribute [rw] store_codes_exclusion
209
+ # @return [::Array<::String>]
210
+ # Optional. [Store codes to
211
+ # exclude](https://support.google.com/merchants/answer/13859586?ref_topic=13773355&sjid=17642868584668136159-NC)
212
+ # for the promotion. The store filter attributes only applies when the
213
+ # `store_applicability` attribute is set to
214
+ # [specific_stores](https://support.google.com/merchants/answer/13857563?ref_topic=13773355&sjid=17642868584668136159-NC).
215
+ # @!attribute [rw] promotion_url
216
+ # @return [::String]
217
+ # Optional. URL to the page on the merchant's site where the promotion shows.
218
+ # Local Inventory ads promotions throw an error if no `promotion_url` is
219
+ # included. URL is used to confirm that the promotion is valid and can be
220
+ # redeemed.
221
+ class Attributes
222
+ include ::Google::Protobuf::MessageExts
223
+ extend ::Google::Protobuf::MessageExts::ClassMethods
224
+ end
225
+
226
+ # The status of the promotion.
227
+ # @!attribute [r] destination_statuses
228
+ # @return [::Array<::Google::Shopping::Merchant::Promotions::V1::PromotionStatus::DestinationStatus>]
229
+ # Output only. The intended destinations for the promotion.
230
+ # @!attribute [r] item_level_issues
231
+ # @return [::Array<::Google::Shopping::Merchant::Promotions::V1::PromotionStatus::ItemLevelIssue>]
232
+ # Output only. A list of issues associated with the promotion.
233
+ # @!attribute [r] creation_date
234
+ # @return [::Google::Protobuf::Timestamp]
235
+ # Output only. Date on which the promotion has been created
236
+ # in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time,
237
+ # and offset, for example `2020-01-02T09:00:00+01:00` or
238
+ # `2020-01-02T09:00:00Z`
239
+ # @!attribute [r] last_update_date
240
+ # @return [::Google::Protobuf::Timestamp]
241
+ # Output only. Date on which the promotion status has been last updated
242
+ # in [ISO 8601](http://en.wikipedia.org/wiki/ISO_8601) format: Date, time,
243
+ # and offset, for example `2020-01-02T09:00:00+01:00` or
244
+ # `2020-01-02T09:00:00Z`
245
+ class PromotionStatus
246
+ include ::Google::Protobuf::MessageExts
247
+ extend ::Google::Protobuf::MessageExts::ClassMethods
248
+
249
+ # The status for the specified destination.
250
+ # @!attribute [r] reporting_context
251
+ # @return [::Google::Shopping::Type::ReportingContext::ReportingContextEnum]
252
+ # Output only. The name of the promotion destination.
253
+ # @!attribute [r] status
254
+ # @return [::Google::Shopping::Merchant::Promotions::V1::PromotionStatus::DestinationStatus::State]
255
+ # Output only. The status for the specified destination.
256
+ class DestinationStatus
257
+ include ::Google::Protobuf::MessageExts
258
+ extend ::Google::Protobuf::MessageExts::ClassMethods
259
+
260
+ # The current state of the promotion.
261
+ module State
262
+ # Unknown promotion state.
263
+ STATE_UNSPECIFIED = 0
264
+
265
+ # The promotion is under review.
266
+ IN_REVIEW = 1
267
+
268
+ # The promotion is disapproved.
269
+ REJECTED = 2
270
+
271
+ # The promotion is approved and active.
272
+ LIVE = 3
273
+
274
+ # The promotion is stopped by merchant.
275
+ STOPPED = 4
276
+
277
+ # The promotion is no longer active.
278
+ EXPIRED = 5
279
+
280
+ # The promotion is not stopped, and all reviews are approved, but the
281
+ # active date is in the future.
282
+ PENDING = 6
283
+ end
284
+ end
285
+
286
+ # The issue associated with the promotion.
287
+ # @!attribute [r] code
288
+ # @return [::String]
289
+ # Output only. The error code of the issue.
290
+ # @!attribute [r] severity
291
+ # @return [::Google::Shopping::Merchant::Promotions::V1::PromotionStatus::ItemLevelIssue::Severity]
292
+ # Output only. How this issue affects serving of the promotion.
293
+ # @!attribute [r] resolution
294
+ # @return [::String]
295
+ # Output only. Whether the issue can be resolved by the merchant.
296
+ # @!attribute [r] attribute
297
+ # @return [::String]
298
+ # Output only. The attribute's name, if the issue is caused by a single
299
+ # attribute.
300
+ # @!attribute [r] reporting_context
301
+ # @return [::Google::Shopping::Type::ReportingContext::ReportingContextEnum]
302
+ # Output only. The destination the issue applies to.
303
+ # @!attribute [r] description
304
+ # @return [::String]
305
+ # Output only. A short issue description in English.
306
+ # @!attribute [r] detail
307
+ # @return [::String]
308
+ # Output only. A detailed issue description in English.
309
+ # @!attribute [r] documentation
310
+ # @return [::String]
311
+ # Output only. The URL of a web page to help with resolving this issue.
312
+ # @!attribute [r] applicable_countries
313
+ # @return [::Array<::String>]
314
+ # Output only. List of country codes (ISO 3166-1 alpha-2) where issue
315
+ # applies to the offer.
316
+ class ItemLevelIssue
317
+ include ::Google::Protobuf::MessageExts
318
+ extend ::Google::Protobuf::MessageExts::ClassMethods
319
+
320
+ # The severity of the issue.
321
+ module Severity
322
+ # Not specified.
323
+ SEVERITY_UNSPECIFIED = 0
324
+
325
+ # This issue represents a warning and does not have a direct affect
326
+ # on the promotion.
327
+ NOT_IMPACTED = 1
328
+
329
+ # The promotion is demoted and most likely have limited performance
330
+ # in search results
331
+ DEMOTED = 2
332
+
333
+ # Issue disapproves the promotion.
334
+ DISAPPROVED = 3
335
+ end
336
+ end
337
+ end
338
+
339
+ # Which product or list of products the promotion applies to.
340
+ module ProductApplicability
341
+ # Which products the promotion applies to is unknown.
342
+ PRODUCT_APPLICABILITY_UNSPECIFIED = 0
343
+
344
+ # Applicable to all products.
345
+ ALL_PRODUCTS = 1
346
+
347
+ # Applicable to only a single product or list of products.
348
+ SPECIFIC_PRODUCTS = 2
349
+ end
350
+
351
+ # Store codes or list of store codes the promotion applies to. Only for
352
+ # Local inventory ads promotions.
353
+ module StoreApplicability
354
+ # Which store codes the promotion applies to is unknown.
355
+ STORE_APPLICABILITY_UNSPECIFIED = 0
356
+
357
+ # Promotion applies to all stores.
358
+ ALL_STORES = 1
359
+
360
+ # Promotion applies to only the specified stores.
361
+ SPECIFIC_STORES = 2
362
+ end
363
+
364
+ # Offer type of a promotion.
365
+ module OfferType
366
+ # Unknown offer type.
367
+ OFFER_TYPE_UNSPECIFIED = 0
368
+
369
+ # Offer type without a code.
370
+ NO_CODE = 1
371
+
372
+ # Offer type with a code. Generic redemption code for the promotion is
373
+ # required when `offerType` = `GENERIC_CODE`.
374
+ GENERIC_CODE = 2
375
+ end
376
+
377
+ # Channel of a promotion.
378
+ module RedemptionChannel
379
+ # Indicates that the channel is unspecified.
380
+ REDEMPTION_CHANNEL_UNSPECIFIED = 0
381
+
382
+ # Indicates that the channel is in store.
383
+ # This is same as `local` channel used for `products`.
384
+ IN_STORE = 1
385
+
386
+ # Indicates that the channel is online.
387
+ ONLINE = 2
388
+ end
389
+
390
+ # [Coupon value
391
+ # type](https://support.google.com/merchants/answer/13861986)
392
+ # of a promotion.
393
+ module CouponValueType
394
+ # Indicates that the coupon value type is unspecified.
395
+ COUPON_VALUE_TYPE_UNSPECIFIED = 0
396
+
397
+ # Money off coupon value type.
398
+ MONEY_OFF = 1
399
+
400
+ # Percent off coupon value type.
401
+ PERCENT_OFF = 2
402
+
403
+ # Buy M quantity, get N money off coupon value type.
404
+ # `minimum_purchase_quantity` and `get_this_quantity_discounted` must be
405
+ # present. `money_off_amount` must also be present.
406
+ BUY_M_GET_N_MONEY_OFF = 3
407
+
408
+ # Buy M quantity, get N percent off coupon value type.
409
+ # `minimum_purchase_quantity` and `get_this_quantity_discounted` must be
410
+ # present. `percent_off_percentage` must also be present.
411
+ BUY_M_GET_N_PERCENT_OFF = 4
412
+
413
+ # Buy M quantity, get money off. `minimum_purchase_quantity` and
414
+ # `money_off_amount` must be present.
415
+ BUY_M_GET_MONEY_OFF = 5
416
+
417
+ # Buy M quantity, get money off. `minimum_purchase_quantity` and
418
+ # `percent_off_percentage` must be present.
419
+ BUY_M_GET_PERCENT_OFF = 6
420
+
421
+ # Free gift with description only.
422
+ FREE_GIFT = 7
423
+
424
+ # Free gift with monetary value.
425
+ FREE_GIFT_WITH_VALUE = 8
426
+
427
+ # Free gift with item ID.
428
+ FREE_GIFT_WITH_ITEM_ID = 9
429
+
430
+ # Standard free shipping coupon value type. Only available for online
431
+ # promotions.
432
+ FREE_SHIPPING_STANDARD = 10
433
+
434
+ # Overnight free shipping coupon value type. Only available for online
435
+ # promotions.
436
+ FREE_SHIPPING_OVERNIGHT = 11
437
+
438
+ # Two day free shipping coupon value type. Only available for online
439
+ # promotions.
440
+ FREE_SHIPPING_TWO_DAY = 12
441
+ end
442
+ end
443
+ end
444
+ end
445
+ end
446
+ end
@@ -0,0 +1,210 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Shopping
22
+ module Type
23
+ # The weight represented as the value in string and the unit.
24
+ # @!attribute [rw] amount_micros
25
+ # @return [::Integer]
26
+ # Required. The weight represented as a number in micros (1 million micros is
27
+ # an equivalent to one's currency standard unit, for example, 1 kg = 1000000
28
+ # micros).
29
+ # This field can also be set as infinity by setting to -1.
30
+ # This field only support -1 and positive value.
31
+ # @!attribute [rw] unit
32
+ # @return [::Google::Shopping::Type::Weight::WeightUnit]
33
+ # Required. The weight unit.
34
+ # Acceptable values are: kg and lb
35
+ class Weight
36
+ include ::Google::Protobuf::MessageExts
37
+ extend ::Google::Protobuf::MessageExts::ClassMethods
38
+
39
+ # The weight unit.
40
+ module WeightUnit
41
+ # unit unspecified
42
+ WEIGHT_UNIT_UNSPECIFIED = 0
43
+
44
+ # lb unit.
45
+ POUND = 1
46
+
47
+ # kg unit.
48
+ KILOGRAM = 2
49
+ end
50
+ end
51
+
52
+ # The price represented as a number and currency.
53
+ # @!attribute [rw] amount_micros
54
+ # @return [::Integer]
55
+ # The price represented as a number in micros (1 million micros is an
56
+ # equivalent to one's currency standard unit, for example, 1 USD = 1000000
57
+ # micros).
58
+ # @!attribute [rw] currency_code
59
+ # @return [::String]
60
+ # The currency of the price using three-letter acronyms according to [ISO
61
+ # 4217](http://en.wikipedia.org/wiki/ISO_4217).
62
+ class Price
63
+ include ::Google::Protobuf::MessageExts
64
+ extend ::Google::Protobuf::MessageExts::ClassMethods
65
+ end
66
+
67
+ # A message that represents custom attributes. Exactly one of `value` or
68
+ # `group_values` must not be empty.
69
+ # @!attribute [rw] name
70
+ # @return [::String]
71
+ # The name of the attribute.
72
+ # @!attribute [rw] value
73
+ # @return [::String]
74
+ # The value of the attribute. If `value` is not empty, `group_values` must be
75
+ # empty.
76
+ # @!attribute [rw] group_values
77
+ # @return [::Array<::Google::Shopping::Type::CustomAttribute>]
78
+ # Subattributes within this attribute group. If
79
+ # `group_values` is not empty, `value` must be empty.
80
+ class CustomAttribute
81
+ include ::Google::Protobuf::MessageExts
82
+ extend ::Google::Protobuf::MessageExts::ClassMethods
83
+ end
84
+
85
+ # Destinations available for a product.
86
+ #
87
+ # Destinations are used in Merchant Center to allow you to control where the
88
+ # products from your data feed should be displayed.
89
+ class Destination
90
+ include ::Google::Protobuf::MessageExts
91
+ extend ::Google::Protobuf::MessageExts::ClassMethods
92
+
93
+ # Destination values.
94
+ module DestinationEnum
95
+ # Not specified.
96
+ DESTINATION_ENUM_UNSPECIFIED = 0
97
+
98
+ # [Shopping ads](https://support.google.com/google-ads/answer/2454022).
99
+ SHOPPING_ADS = 1
100
+
101
+ # [Display ads](https://support.google.com/merchants/answer/6069387).
102
+ DISPLAY_ADS = 2
103
+
104
+ # [Local inventory
105
+ # ads](https://support.google.com/merchants/answer/3057972).
106
+ LOCAL_INVENTORY_ADS = 3
107
+
108
+ # [Free listings](https://support.google.com/merchants/answer/9199328).
109
+ FREE_LISTINGS = 4
110
+
111
+ # [Free local product
112
+ # listings](https://support.google.com/merchants/answer/9825611).
113
+ FREE_LOCAL_LISTINGS = 5
114
+
115
+ # [YouTube Shopping](https://support.google.com/merchants/answer/12362804).
116
+ YOUTUBE_SHOPPING = 6
117
+ end
118
+ end
119
+
120
+ # Reporting contexts that your account and product issues apply to.
121
+ #
122
+ # Reporting contexts are groups of surfaces and formats for product results on
123
+ # Google. They can represent the entire destination (for example, [Shopping
124
+ # ads](https://support.google.com/merchants/answer/6149970)) or a subset of
125
+ # formats within a destination (for example, [Demand Gen
126
+ # ads](https://support.google.com/merchants/answer/13389785)).
127
+ class ReportingContext
128
+ include ::Google::Protobuf::MessageExts
129
+ extend ::Google::Protobuf::MessageExts::ClassMethods
130
+
131
+ # Reporting context values.
132
+ module ReportingContextEnum
133
+ # Not specified.
134
+ REPORTING_CONTEXT_ENUM_UNSPECIFIED = 0
135
+
136
+ # [Shopping ads](https://support.google.com/merchants/answer/6149970).
137
+ SHOPPING_ADS = 1
138
+
139
+ # Deprecated: Use `DEMAND_GEN_ADS` instead.
140
+ # [Discovery and Demand Gen
141
+ # ads](https://support.google.com/merchants/answer/13389785).
142
+ DISCOVERY_ADS = 2
143
+
144
+ # [Demand Gen ads](https://support.google.com/merchants/answer/13389785).
145
+ DEMAND_GEN_ADS = 13
146
+
147
+ # [Demand Gen ads on Discover
148
+ # surface](https://support.google.com/merchants/answer/13389785).
149
+ DEMAND_GEN_ADS_DISCOVER_SURFACE = 14
150
+
151
+ # [Video ads](https://support.google.com/google-ads/answer/6340491).
152
+ VIDEO_ADS = 3
153
+
154
+ # [Display ads](https://support.google.com/merchants/answer/6069387).
155
+ DISPLAY_ADS = 4
156
+
157
+ # [Local inventory
158
+ # ads](https://support.google.com/merchants/answer/3271956).
159
+ LOCAL_INVENTORY_ADS = 5
160
+
161
+ # [Vehicle inventory
162
+ # ads](https://support.google.com/merchants/answer/11544533).
163
+ VEHICLE_INVENTORY_ADS = 6
164
+
165
+ # [Free product
166
+ # listings](https://support.google.com/merchants/answer/9199328).
167
+ FREE_LISTINGS = 7
168
+
169
+ # [Free local product
170
+ # listings](https://support.google.com/merchants/answer/9825611).
171
+ FREE_LOCAL_LISTINGS = 8
172
+
173
+ # [Free local vehicle
174
+ # listings](https://support.google.com/merchants/answer/11544533).
175
+ FREE_LOCAL_VEHICLE_LISTINGS = 9
176
+
177
+ # [YouTube
178
+ # Shopping](https://support.google.com/merchants/answer/13478370).
179
+ YOUTUBE_SHOPPING = 10
180
+
181
+ # [Cloud retail](https://cloud.google.com/solutions/retail).
182
+ CLOUD_RETAIL = 11
183
+
184
+ # [Local cloud retail](https://cloud.google.com/solutions/retail).
185
+ LOCAL_CLOUD_RETAIL = 12
186
+ end
187
+ end
188
+
189
+ # [Channel](https://support.google.com/merchants/answer/7361332) of a product.
190
+ #
191
+ # Channel is used to distinguish between online and local products.
192
+ class Channel
193
+ include ::Google::Protobuf::MessageExts
194
+ extend ::Google::Protobuf::MessageExts::ClassMethods
195
+
196
+ # Channel values.
197
+ module ChannelEnum
198
+ # Not specified.
199
+ CHANNEL_ENUM_UNSPECIFIED = 0
200
+
201
+ # Online product.
202
+ ONLINE = 1
203
+
204
+ # Local product.
205
+ LOCAL = 2
206
+ end
207
+ end
208
+ end
209
+ end
210
+ end