google-apis-retail_v2alpha 0.22.0 → 0.26.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -618,6 +618,26 @@ module Google
618
618
  end
619
619
  end
620
620
 
621
+ # Request for AddControl method.
622
+ class GoogleCloudRetailV2alphaAddControlRequest
623
+ include Google::Apis::Core::Hashable
624
+
625
+ # Required. The id of the control to apply. Assumed to be in the same catalog as
626
+ # the serving config - if id is not found a NOT_FOUND error is returned.
627
+ # Corresponds to the JSON property `controlId`
628
+ # @return [String]
629
+ attr_accessor :control_id
630
+
631
+ def initialize(**args)
632
+ update!(**args)
633
+ end
634
+
635
+ # Update properties of this object
636
+ def update!(**args)
637
+ @control_id = args[:control_id] if args.key?(:control_id)
638
+ end
639
+ end
640
+
621
641
  # Metadata related to the progress of the AddFulfillmentPlaces operation.
622
642
  # Currently empty because there is no meaningful metadata populated from the
623
643
  # AddFulfillmentPlaces method.
@@ -751,7 +771,7 @@ module Google
751
771
  alias_method :allow_missing?, :allow_missing
752
772
 
753
773
  # Required. A list of inventory information at difference places. Each place is
754
- # identified by its place ID. At most 1000 inventories are allowed per request.
774
+ # identified by its place ID. At most 3000 inventories are allowed per request.
755
775
  # Corresponds to the JSON property `localInventories`
756
776
  # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaLocalInventory>]
757
777
  attr_accessor :local_inventories
@@ -1108,6 +1128,153 @@ module Google
1108
1128
  end
1109
1129
  end
1110
1130
 
1131
+ # Metadata that is used to define a condition that triggers an action. A valid
1132
+ # condition must specify at least one of 'query_terms' or 'products_filter'. If
1133
+ # multiple fields are specified, the condition is met if all the fields are
1134
+ # satisfied e.g. if a set of query terms and product_filter are set, then only
1135
+ # items matching the product_filter for requests with a query matching the query
1136
+ # terms wil get boosted.
1137
+ class GoogleCloudRetailV2alphaCondition
1138
+ include Google::Apis::Core::Hashable
1139
+
1140
+ # Range of time(s) specifying when Condition is active. Condition true if any
1141
+ # time range matches.
1142
+ # Corresponds to the JSON property `activeTimeRange`
1143
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaConditionTimeRange>]
1144
+ attr_accessor :active_time_range
1145
+
1146
+ # A list (up to 10 entries) of terms to match the query on. If not specified,
1147
+ # match all queries. If many query terms are specified, the condition is matched
1148
+ # if any of the terms is a match (i.e. using the OR operator).
1149
+ # Corresponds to the JSON property `queryTerms`
1150
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaConditionQueryTerm>]
1151
+ attr_accessor :query_terms
1152
+
1153
+ def initialize(**args)
1154
+ update!(**args)
1155
+ end
1156
+
1157
+ # Update properties of this object
1158
+ def update!(**args)
1159
+ @active_time_range = args[:active_time_range] if args.key?(:active_time_range)
1160
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
1161
+ end
1162
+ end
1163
+
1164
+ # Query terms that we want to match on.
1165
+ class GoogleCloudRetailV2alphaConditionQueryTerm
1166
+ include Google::Apis::Core::Hashable
1167
+
1168
+ # Whether this is supposed to be a full or partial match.
1169
+ # Corresponds to the JSON property `fullMatch`
1170
+ # @return [Boolean]
1171
+ attr_accessor :full_match
1172
+ alias_method :full_match?, :full_match
1173
+
1174
+ # The value of the term to match on. Value cannot be empty. Value can have at
1175
+ # most 3 terms if specified as a partial match. Each space separated string is
1176
+ # considered as one term. Example) "a b c" is 3 terms and allowed, " a b c d" is
1177
+ # 4 terms and not allowed for partial match.
1178
+ # Corresponds to the JSON property `value`
1179
+ # @return [String]
1180
+ attr_accessor :value
1181
+
1182
+ def initialize(**args)
1183
+ update!(**args)
1184
+ end
1185
+
1186
+ # Update properties of this object
1187
+ def update!(**args)
1188
+ @full_match = args[:full_match] if args.key?(:full_match)
1189
+ @value = args[:value] if args.key?(:value)
1190
+ end
1191
+ end
1192
+
1193
+ # Used for time-dependent conditions. Example: Want to have rule applied for
1194
+ # week long sale.
1195
+ class GoogleCloudRetailV2alphaConditionTimeRange
1196
+ include Google::Apis::Core::Hashable
1197
+
1198
+ # End of time range. Range is inclusive.
1199
+ # Corresponds to the JSON property `endTime`
1200
+ # @return [String]
1201
+ attr_accessor :end_time
1202
+
1203
+ # Start of time range. Range is inclusive.
1204
+ # Corresponds to the JSON property `startTime`
1205
+ # @return [String]
1206
+ attr_accessor :start_time
1207
+
1208
+ def initialize(**args)
1209
+ update!(**args)
1210
+ end
1211
+
1212
+ # Update properties of this object
1213
+ def update!(**args)
1214
+ @end_time = args[:end_time] if args.key?(:end_time)
1215
+ @start_time = args[:start_time] if args.key?(:start_time)
1216
+ end
1217
+ end
1218
+
1219
+ # Configures dynamic serving time metadata that is used to pre and post process
1220
+ # search/recommendation model results.
1221
+ class GoogleCloudRetailV2alphaControl
1222
+ include Google::Apis::Core::Hashable
1223
+
1224
+ # Output only. List of serving configuration ids that that are associated with
1225
+ # this control. Note the association is managed via the ServingConfig, this is
1226
+ # an output only denormalizeed view. Assumed to be in the same catalog.
1227
+ # Corresponds to the JSON property `associatedServingConfigIds`
1228
+ # @return [Array<String>]
1229
+ attr_accessor :associated_serving_config_ids
1230
+
1231
+ # Required. The human readable control display name. Used in Retail UI. This
1232
+ # field must be a UTF-8 encoded string with a length limit of 128 characters.
1233
+ # Otherwise, an INVALID_ARGUMENT error is thrown.
1234
+ # Corresponds to the JSON property `displayName`
1235
+ # @return [String]
1236
+ attr_accessor :display_name
1237
+
1238
+ # A facet specification to perform faceted search.
1239
+ # Corresponds to the JSON property `facetSpec`
1240
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestFacetSpec]
1241
+ attr_accessor :facet_spec
1242
+
1243
+ # Immutable. Fully qualified name projects/*/locations/global/catalogs/*/
1244
+ # controls/*
1245
+ # Corresponds to the JSON property `name`
1246
+ # @return [String]
1247
+ attr_accessor :name
1248
+
1249
+ # A rule is a condition-action pair * A condition defines when a rule is to be
1250
+ # triggered. * An action specifies what occurs on that trigger. Currently only
1251
+ # boost rules are supported. Currently only supported by the search endpoint.
1252
+ # Corresponds to the JSON property `rule`
1253
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaRule]
1254
+ attr_accessor :rule
1255
+
1256
+ # Required. Immutable. The solution types that the serving config is used for.
1257
+ # Currently we support setting only one type of solution at creation time. Only `
1258
+ # SOLUTION_TYPE_SEARCH` value is supported at the moment.
1259
+ # Corresponds to the JSON property `solutionTypes`
1260
+ # @return [Array<String>]
1261
+ attr_accessor :solution_types
1262
+
1263
+ def initialize(**args)
1264
+ update!(**args)
1265
+ end
1266
+
1267
+ # Update properties of this object
1268
+ def update!(**args)
1269
+ @associated_serving_config_ids = args[:associated_serving_config_ids] if args.key?(:associated_serving_config_ids)
1270
+ @display_name = args[:display_name] if args.key?(:display_name)
1271
+ @facet_spec = args[:facet_spec] if args.key?(:facet_spec)
1272
+ @name = args[:name] if args.key?(:name)
1273
+ @rule = args[:rule] if args.key?(:rule)
1274
+ @solution_types = args[:solution_types] if args.key?(:solution_types)
1275
+ end
1276
+ end
1277
+
1111
1278
  # A custom attribute that is not explicitly modeled in Product.
1112
1279
  class GoogleCloudRetailV2alphaCustomAttribute
1113
1280
  include Google::Apis::Core::Hashable
@@ -1122,9 +1289,8 @@ module Google
1122
1289
  alias_method :indexable?, :indexable
1123
1290
 
1124
1291
  # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when
1125
- # the key is "lengths_cm". At most 400 values are allowed.Otherwise, an
1126
- # INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be
1127
- # set. Otherwise, an INVALID_ARGUMENT error is returned.
1292
+ # the key is "lengths_cm". Exactly one of text or numbers should be set.
1293
+ # Otherwise, an INVALID_ARGUMENT error is returned.
1128
1294
  # Corresponds to the JSON property `numbers`
1129
1295
  # @return [Array<Float>]
1130
1296
  attr_accessor :numbers
@@ -1138,11 +1304,8 @@ module Google
1138
1304
  alias_method :searchable?, :searchable
1139
1305
 
1140
1306
  # The textual values of this custom attribute. For example, `["yellow", "green"]`
1141
- # when the key is "color". At most 400 values are allowed. Empty values are not
1142
- # allowed. Each value must be a UTF-8 encoded string with a length limit of 256
1143
- # characters. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of
1144
- # text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is
1145
- # returned.
1307
+ # when the key is "color". Exactly one of text or numbers should be set.
1308
+ # Otherwise, an INVALID_ARGUMENT error is returned.
1146
1309
  # Corresponds to the JSON property `text`
1147
1310
  # @return [Array<String>]
1148
1311
  attr_accessor :text
@@ -1309,6 +1472,8 @@ module Google
1309
1472
  # recommendations-ai/docs/upload-catalog#mc). Supported values for user events
1310
1473
  # imports: * `user_event` (default): One JSON UserEvent per line. * `
1311
1474
  # user_event_ga360`: Using https://support.google.com/analytics/answer/3437719.
1475
+ # Supported values for control imports: * 'control' (default): One JSON Control
1476
+ # per line.
1312
1477
  # Corresponds to the JSON property `dataSchema`
1313
1478
  # @return [String]
1314
1479
  attr_accessor :data_schema
@@ -1737,6 +1902,31 @@ module Google
1737
1902
  end
1738
1903
  end
1739
1904
 
1905
+ # Response for ListControls method.
1906
+ class GoogleCloudRetailV2alphaListControlsResponse
1907
+ include Google::Apis::Core::Hashable
1908
+
1909
+ # All the Controls for a given catalog.
1910
+ # Corresponds to the JSON property `controls`
1911
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaControl>]
1912
+ attr_accessor :controls
1913
+
1914
+ # Pagination token, if not returned indicates the last page.
1915
+ # Corresponds to the JSON property `nextPageToken`
1916
+ # @return [String]
1917
+ attr_accessor :next_page_token
1918
+
1919
+ def initialize(**args)
1920
+ update!(**args)
1921
+ end
1922
+
1923
+ # Update properties of this object
1924
+ def update!(**args)
1925
+ @controls = args[:controls] if args.key?(:controls)
1926
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1927
+ end
1928
+ end
1929
+
1740
1930
  # Response message for ProductService.ListProducts method.
1741
1931
  class GoogleCloudRetailV2alphaListProductsResponse
1742
1932
  include Google::Apis::Core::Hashable
@@ -1772,18 +1962,45 @@ module Google
1772
1962
  end
1773
1963
  end
1774
1964
 
1965
+ # Response for ListServingConfigs method.
1966
+ class GoogleCloudRetailV2alphaListServingConfigsResponse
1967
+ include Google::Apis::Core::Hashable
1968
+
1969
+ # Pagination token, if not returned indicates the last page.
1970
+ # Corresponds to the JSON property `nextPageToken`
1971
+ # @return [String]
1972
+ attr_accessor :next_page_token
1973
+
1974
+ # All the ServingConfigs for a given catalog.
1975
+ # Corresponds to the JSON property `servingConfigs`
1976
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaServingConfig>]
1977
+ attr_accessor :serving_configs
1978
+
1979
+ def initialize(**args)
1980
+ update!(**args)
1981
+ end
1982
+
1983
+ # Update properties of this object
1984
+ def update!(**args)
1985
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
1986
+ @serving_configs = args[:serving_configs] if args.key?(:serving_configs)
1987
+ end
1988
+ end
1989
+
1775
1990
  # The inventory information at a place (e.g. a store) identified by a place ID.
1776
1991
  class GoogleCloudRetailV2alphaLocalInventory
1777
1992
  include Google::Apis::Core::Hashable
1778
1993
 
1779
1994
  # Additional local inventory attributes, for example, store name, promotion tags,
1780
- # etc. * At most 5 values are allowed. Otherwise, an INVALID_ARGUMENT error is
1781
- # returned. * The key must be a UTF-8 encoded string with a length limit of 10
1782
- # characters. * The key must match the pattern: `a-zA-Z0-9*`. For example,
1783
- # key0LikeThis or KEY_1_LIKE_THIS. * The attribute values must be of the same
1784
- # type (text or number). * The max number of values per attribute is 10. * For
1785
- # text values, the length limit is 10 UTF-8 characters. * The attribute does not
1786
- # support search. The `searchable` field should be unset or set to false.
1995
+ # etc. This field needs to pass all below criteria, otherwise an
1996
+ # INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The
1997
+ # key must be a UTF-8 encoded string with a length limit of 32 characters. * The
1998
+ # key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or
1999
+ # KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or
2000
+ # number). * The max number of values per attribute is 10. * For text values,
2001
+ # the length limit is 256 UTF-8 characters. * The attribute does not support
2002
+ # search. The `searchable` field should be unset or set to false. * The max
2003
+ # summed total bytes of custom attribute keys and values per product is 5MiB.
1787
2004
  # Corresponds to the JSON property `attributes`
1788
2005
  # @return [Hash<String,Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaCustomAttribute>]
1789
2006
  attr_accessor :attributes
@@ -1834,6 +2051,14 @@ module Google
1834
2051
  # @return [Array<String>]
1835
2052
  attr_accessor :destinations
1836
2053
 
2054
+ # Language of the title/description and other string attributes. Use language
2055
+ # tags defined by BCP 47. ISO 639-1. This specifies the language of offers in
2056
+ # Merchant Center that will be accepted. If empty no language filtering will be
2057
+ # performed.
2058
+ # Corresponds to the JSON property `languageCode`
2059
+ # @return [String]
2060
+ attr_accessor :language_code
2061
+
1837
2062
  # Required. The linked [Merchant center account id](https://developers.google.
1838
2063
  # com/shopping-content/guides/accountstatuses). The account must be a standalone
1839
2064
  # account or a sub-account of a MCA.
@@ -1841,6 +2066,14 @@ module Google
1841
2066
  # @return [Fixnum]
1842
2067
  attr_accessor :merchant_center_account_id
1843
2068
 
2069
+ # Region code of offers to accept. 2-letter Uppercase ISO 3166-1 alpha-2 code.
2070
+ # List of values can be found here under the `region` tag. [https://www.iana.org/
2071
+ # assignments/language-subtag-registry/language-subtag-registry]. If left blank
2072
+ # no region filtering will be performed. Ex. `US`.
2073
+ # Corresponds to the JSON property `regionCode`
2074
+ # @return [String]
2075
+ attr_accessor :region_code
2076
+
1844
2077
  def initialize(**args)
1845
2078
  update!(**args)
1846
2079
  end
@@ -1849,7 +2082,9 @@ module Google
1849
2082
  def update!(**args)
1850
2083
  @branch_id = args[:branch_id] if args.key?(:branch_id)
1851
2084
  @destinations = args[:destinations] if args.key?(:destinations)
2085
+ @language_code = args[:language_code] if args.key?(:language_code)
1852
2086
  @merchant_center_account_id = args[:merchant_center_account_id] if args.key?(:merchant_center_account_id)
2087
+ @region_code = args[:region_code] if args.key?(:region_code)
1853
2088
  end
1854
2089
  end
1855
2090
 
@@ -2072,8 +2307,8 @@ module Google
2072
2307
  attr_accessor :original_price
2073
2308
 
2074
2309
  # Price of the product. Google Merchant Center property [price](https://support.
2075
- # google.com/merchants/answer/6324371). Schema.org property [Offer.
2076
- # priceSpecification](https://schema.org/priceSpecification).
2310
+ # google.com/merchants/answer/6324371). Schema.org property [Offer.price](https:/
2311
+ # /schema.org/price).
2077
2312
  # Corresponds to the JSON property `price`
2078
2313
  # @return [Float]
2079
2314
  attr_accessor :price
@@ -2161,7 +2396,10 @@ module Google
2161
2396
  # INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must
2162
2397
  # be a UTF-8 encoded string with a length limit of 128 characters. * For
2163
2398
  # indexable attribute, the key must match the pattern: `a-zA-Z0-9*`. For example,
2164
- # key0LikeThis or KEY_1_LIKE_THIS.
2399
+ # `key0LikeThis` or `KEY_1_LIKE_THIS`. * For text attributes, at most 400
2400
+ # values are allowed. Empty values are not allowed. Each value must be a UTF-8
2401
+ # encoded string with a length limit of 256 characters. * For number attributes,
2402
+ # at most 400 values are allowed.
2165
2403
  # Corresponds to the JSON property `attributes`
2166
2404
  # @return [Hash<String,Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaCustomAttribute>]
2167
2405
  attr_accessor :attributes
@@ -2172,9 +2410,9 @@ module Google
2172
2410
  attr_accessor :audience
2173
2411
 
2174
2412
  # The online availability of the Product. Default to Availability.IN_STOCK.
2175
- # Google Merchant Center Property [availability](https://support.google.com/
2176
- # merchants/answer/6324448). Schema.org Property [Offer.availability](https://
2177
- # schema.org/availability).
2413
+ # Corresponding properties: Google Merchant Center property [availability](https:
2414
+ # //support.google.com/merchants/answer/6324448). Schema.org property [Offer.
2415
+ # availability](https://schema.org/availability).
2178
2416
  # Corresponds to the JSON property `availability`
2179
2417
  # @return [String]
2180
2418
  attr_accessor :availability
@@ -2191,9 +2429,9 @@ module Google
2191
2429
 
2192
2430
  # The brands of the product. A maximum of 30 brands are allowed. Each brand must
2193
2431
  # be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise,
2194
- # an INVALID_ARGUMENT error is returned. Google Merchant Center property [brand](
2195
- # https://support.google.com/merchants/answer/6324351). Schema.org property [
2196
- # Product.brand](https://schema.org/brand).
2432
+ # an INVALID_ARGUMENT error is returned. Corresponding properties: Google
2433
+ # Merchant Center property [brand](https://support.google.com/merchants/answer/
2434
+ # 6324351). Schema.org property [Product.brand](https://schema.org/brand).
2197
2435
  # Corresponds to the JSON property `brands`
2198
2436
  # @return [Array<String>]
2199
2437
  attr_accessor :brands
@@ -2210,10 +2448,10 @@ module Google
2210
2448
  # INVALID_ARGUMENT error is returned. At most 250 values are allowed per Product.
2211
2449
  # Empty values are not allowed. Each value must be a UTF-8 encoded string with
2212
2450
  # a length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is
2213
- # returned. Google Merchant Center property google_product_category. Schema.org
2214
- # property [Product.category] (https://schema.org/category). [
2215
- # mc_google_product_category]: https://support.google.com/merchants/answer/
2216
- # 6324436
2451
+ # returned. Corresponding properties: Google Merchant Center property
2452
+ # google_product_category. Schema.org property [Product.category] (https://
2453
+ # schema.org/category). [mc_google_product_category]: https://support.google.com/
2454
+ # merchants/answer/6324436
2217
2455
  # Corresponds to the JSON property `categories`
2218
2456
  # @return [Array<String>]
2219
2457
  attr_accessor :categories
@@ -2231,21 +2469,21 @@ module Google
2231
2469
  attr_accessor :color_info
2232
2470
 
2233
2471
  # The condition of the product. Strongly encouraged to use the standard values: "
2234
- # new", "refurbished", "used". A maximum of 5 values are allowed per Product.
2235
- # Each value must be a UTF-8 encoded string with a length limit of 128
2236
- # characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant
2237
- # Center property [condition](https://support.google.com/merchants/answer/
2238
- # 6324469). Schema.org property [Offer.itemCondition](https://schema.org/
2239
- # itemCondition).
2472
+ # new", "refurbished", "used". A maximum of 1 value is allowed per Product. Each
2473
+ # value must be a UTF-8 encoded string with a length limit of 128 characters.
2474
+ # Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties:
2475
+ # Google Merchant Center property [condition](https://support.google.com/
2476
+ # merchants/answer/6324469). Schema.org property [Offer.itemCondition](https://
2477
+ # schema.org/itemCondition).
2240
2478
  # Corresponds to the JSON property `conditions`
2241
2479
  # @return [Array<String>]
2242
2480
  attr_accessor :conditions
2243
2481
 
2244
2482
  # Product description. This field must be a UTF-8 encoded string with a length
2245
2483
  # limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
2246
- # Google Merchant Center property [description](https://support.google.com/
2247
- # merchants/answer/6324468). schema.org property [Product.description](https://
2248
- # schema.org/description).
2484
+ # Corresponding properties: Google Merchant Center property [description](https:/
2485
+ # /support.google.com/merchants/answer/6324468). Schema.org property [Product.
2486
+ # description](https://schema.org/description).
2249
2487
  # Corresponds to the JSON property `description`
2250
2488
  # @return [String]
2251
2489
  attr_accessor :description
@@ -2255,8 +2493,8 @@ module Google
2255
2493
  # expire_time. However, the product can still be retrieved by ProductService.
2256
2494
  # GetProduct and ProductService.ListProducts. expire_time must be later than
2257
2495
  # available_time and publish_time, otherwise an INVALID_ARGUMENT error is thrown.
2258
- # Google Merchant Center property [expiration_date](https://support.google.com/
2259
- # merchants/answer/6324499).
2496
+ # Corresponding properties: Google Merchant Center property [expiration_date](
2497
+ # https://support.google.com/merchants/answer/6324499).
2260
2498
  # Corresponds to the JSON property `expireTime`
2261
2499
  # @return [String]
2262
2500
  attr_accessor :expire_time
@@ -2271,12 +2509,13 @@ module Google
2271
2509
  # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8
2272
2510
  # encoded string with a length limit of 128 characters. Otherwise, an
2273
2511
  # INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise,
2274
- # an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](
2275
- # https://support.google.com/merchants/answer/6324461). Schema.org property [
2276
- # Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/
2277
- # gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](
2278
- # https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If
2279
- # the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
2512
+ # an INVALID_ARGUMENT error is returned. Corresponding properties: Google
2513
+ # Merchant Center property [gtin](https://support.google.com/merchants/answer/
2514
+ # 6324461). Schema.org property [Product.isbn](https://schema.org/isbn), [
2515
+ # Product.gtin8](https://schema.org/gtin8), [Product.gtin12](https://schema.org/
2516
+ # gtin12), [Product.gtin13](https://schema.org/gtin13), or [Product.gtin14](
2517
+ # https://schema.org/gtin14). If the value is not a valid GTIN, an
2518
+ # INVALID_ARGUMENT error is returned.
2280
2519
  # Corresponds to the JSON property `gtin`
2281
2520
  # @return [String]
2282
2521
  attr_accessor :gtin
@@ -2285,27 +2524,28 @@ module Google
2285
2524
  # example, this field is "id_1", if name is `projects/*/locations/global/
2286
2525
  # catalogs/default_catalog/branches/default_branch/products/id_1`. This field
2287
2526
  # must be a UTF-8 encoded string with a length limit of 128 characters.
2288
- # Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center
2289
- # property [id](https://support.google.com/merchants/answer/6324405). Schema.org
2290
- # Property [Product.sku](https://schema.org/sku).
2527
+ # Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties:
2528
+ # Google Merchant Center property [id](https://support.google.com/merchants/
2529
+ # answer/6324405). Schema.org property [Product.sku](https://schema.org/sku).
2291
2530
  # Corresponds to the JSON property `id`
2292
2531
  # @return [String]
2293
2532
  attr_accessor :id
2294
2533
 
2295
2534
  # Product images for the product.Highly recommended to put the main image to the
2296
- # first. A maximum of 300 images are allowed. Google Merchant Center property [
2297
- # image_link](https://support.google.com/merchants/answer/6324350). Schema.org
2298
- # property [Product.image](https://schema.org/image).
2535
+ # first. A maximum of 300 images are allowed. Corresponding properties: Google
2536
+ # Merchant Center property [image_link](https://support.google.com/merchants/
2537
+ # answer/6324350). Schema.org property [Product.image](https://schema.org/image).
2299
2538
  # Corresponds to the JSON property `images`
2300
2539
  # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaImage>]
2301
2540
  attr_accessor :images
2302
2541
 
2303
2542
  # Language of the title/description and other string attributes. Use language
2304
- # tags defined by BCP 47. For product prediction, this field is ignored and the
2305
- # model automatically detects the text language. The Product can include text in
2306
- # different languages, but duplicating Products to provide text in multiple
2307
- # languages can result in degraded model performance. For product search this
2308
- # field is in use. It defaults to "en-US" if unset.
2543
+ # tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). For
2544
+ # product prediction, this field is ignored and the model automatically detects
2545
+ # the text language. The Product can include text in different languages, but
2546
+ # duplicating Products to provide text in multiple languages can result in
2547
+ # degraded model performance. For product search this field is in use. It
2548
+ # defaults to "en-US" if unset.
2309
2549
  # Corresponds to the JSON property `languageCode`
2310
2550
  # @return [String]
2311
2551
  attr_accessor :language_code
@@ -2313,9 +2553,9 @@ module Google
2313
2553
  # The material of the product. For example, "leather", "wooden". A maximum of 20
2314
2554
  # values are allowed. Each value must be a UTF-8 encoded string with a length
2315
2555
  # limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
2316
- # Google Merchant Center property [material](https://support.google.com/
2317
- # merchants/answer/6324410). Schema.org property [Product.material](https://
2318
- # schema.org/material).
2556
+ # Corresponding properties: Google Merchant Center property [material](https://
2557
+ # support.google.com/merchants/answer/6324410). Schema.org property [Product.
2558
+ # material](https://schema.org/material).
2319
2559
  # Corresponds to the JSON property `materials`
2320
2560
  # @return [Array<String>]
2321
2561
  attr_accessor :materials
@@ -2329,9 +2569,10 @@ module Google
2329
2569
  # The pattern or graphic print of the product. For example, "striped", "polka
2330
2570
  # dot", "paisley". A maximum of 20 values are allowed per Product. Each value
2331
2571
  # must be a UTF-8 encoded string with a length limit of 128 characters.
2332
- # Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center
2333
- # property [pattern](https://support.google.com/merchants/answer/6324483).
2334
- # Schema.org property [Product.pattern](https://schema.org/pattern).
2572
+ # Otherwise, an INVALID_ARGUMENT error is returned. Corresponding properties:
2573
+ # Google Merchant Center property [pattern](https://support.google.com/merchants/
2574
+ # answer/6324483). Schema.org property [Product.pattern](https://schema.org/
2575
+ # pattern).
2335
2576
  # Corresponds to the JSON property `patterns`
2336
2577
  # @return [Array<String>]
2337
2578
  attr_accessor :patterns
@@ -2346,10 +2587,9 @@ module Google
2346
2587
  # can only be empty or set to the same value as id. For VARIANT Products, this
2347
2588
  # field cannot be empty. A maximum of 2,000 products are allowed to share the
2348
2589
  # same Type.PRIMARY Product. Otherwise, an INVALID_ARGUMENT error is returned.
2349
- # Google Merchant Center Property [item_group_id](https://support.google.com/
2350
- # merchants/answer/6324507). Schema.org Property [Product.inProductGroupWithID](
2351
- # https://schema.org/inProductGroupWithID). This field must be enabled before it
2352
- # can be used. [Learn more](/recommendations-ai/docs/catalog#item-group-id).
2590
+ # Corresponding properties: Google Merchant Center property [item_group_id](
2591
+ # https://support.google.com/merchants/answer/6324507). Schema.org property [
2592
+ # Product.inProductGroupWithID](https://schema.org/inProductGroupWithID).
2353
2593
  # Corresponds to the JSON property `primaryProductId`
2354
2594
  # @return [String]
2355
2595
  attr_accessor :primary_product_id
@@ -2398,10 +2638,11 @@ module Google
2398
2638
  # system and size type are empty, while size value is "32 inches". A maximum of
2399
2639
  # 20 values are allowed per Product. Each value must be a UTF-8 encoded string
2400
2640
  # with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is
2401
- # returned. Google Merchant Center property [size](https://support.google.com/
2402
- # merchants/answer/6324492), [size_type](https://support.google.com/merchants/
2403
- # answer/6324497) and [size_system](https://support.google.com/merchants/answer/
2404
- # 6324502). Schema.org property [Product.size](https://schema.org/size).
2641
+ # returned. Corresponding properties: Google Merchant Center property [size](
2642
+ # https://support.google.com/merchants/answer/6324492), [size_type](https://
2643
+ # support.google.com/merchants/answer/6324497), and [size_system](https://
2644
+ # support.google.com/merchants/answer/6324502). Schema.org property [Product.
2645
+ # size](https://schema.org/size).
2405
2646
  # Corresponds to the JSON property `sizes`
2406
2647
  # @return [Array<String>]
2407
2648
  attr_accessor :sizes
@@ -2410,17 +2651,18 @@ module Google
2410
2651
  # Product. This value must be a UTF-8 encoded string with a length limit of 1,
2411
2652
  # 000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This tag can
2412
2653
  # be used for filtering recommendation results by passing the tag as part of the
2413
- # PredictRequest.filter. Google Merchant Center property [custom_label_0–4](
2414
- # https://support.google.com/merchants/answer/6324473).
2654
+ # PredictRequest.filter. Corresponding properties: Google Merchant Center
2655
+ # property [custom_label_0–4](https://support.google.com/merchants/answer/
2656
+ # 6324473).
2415
2657
  # Corresponds to the JSON property `tags`
2416
2658
  # @return [Array<String>]
2417
2659
  attr_accessor :tags
2418
2660
 
2419
2661
  # Required. Product title. This field must be a UTF-8 encoded string with a
2420
2662
  # length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is
2421
- # returned. Google Merchant Center property [title](https://support.google.com/
2422
- # merchants/answer/6324415). Schema.org property [Product.name](https://schema.
2423
- # org/name).
2663
+ # returned. Corresponding properties: Google Merchant Center property [title](
2664
+ # https://support.google.com/merchants/answer/6324415). Schema.org property [
2665
+ # Product.name](https://schema.org/name).
2424
2666
  # Corresponds to the JSON property `title`
2425
2667
  # @return [String]
2426
2668
  attr_accessor :title
@@ -2446,9 +2688,9 @@ module Google
2446
2688
  # recommended to provide a valid uri for the product, otherwise the service
2447
2689
  # performance could be significantly degraded. This field must be a UTF-8
2448
2690
  # encoded string with a length limit of 5,000 characters. Otherwise, an
2449
- # INVALID_ARGUMENT error is returned. Google Merchant Center property [link](
2450
- # https://support.google.com/merchants/answer/6324416). Schema.org property [
2451
- # Offer.url](https://schema.org/url).
2691
+ # INVALID_ARGUMENT error is returned. Corresponding properties: Google Merchant
2692
+ # Center property [link](https://support.google.com/merchants/answer/6324416).
2693
+ # Schema.org property [Offer.url](https://schema.org/url).
2452
2694
  # Corresponds to the JSON property `uri`
2453
2695
  # @return [String]
2454
2696
  attr_accessor :uri
@@ -2863,6 +3105,26 @@ module Google
2863
3105
  end
2864
3106
  end
2865
3107
 
3108
+ # Request for RemoveControl method.
3109
+ class GoogleCloudRetailV2alphaRemoveControlRequest
3110
+ include Google::Apis::Core::Hashable
3111
+
3112
+ # Required. The id of the control to apply. Assumed to be in the same catalog as
3113
+ # the serving config.
3114
+ # Corresponds to the JSON property `controlId`
3115
+ # @return [String]
3116
+ attr_accessor :control_id
3117
+
3118
+ def initialize(**args)
3119
+ update!(**args)
3120
+ end
3121
+
3122
+ # Update properties of this object
3123
+ def update!(**args)
3124
+ @control_id = args[:control_id] if args.key?(:control_id)
3125
+ end
3126
+ end
3127
+
2866
3128
  # Metadata related to the progress of the RemoveFulfillmentPlaces operation.
2867
3129
  # Currently empty because there is no meaningful metadata populated from the
2868
3130
  # RemoveFulfillmentPlaces method.
@@ -2974,7 +3236,7 @@ module Google
2974
3236
  attr_accessor :allow_missing
2975
3237
  alias_method :allow_missing?, :allow_missing
2976
3238
 
2977
- # Required. A list of place IDs to have their inventory deleted. At most 1000
3239
+ # Required. A list of place IDs to have their inventory deleted. At most 3000
2978
3240
  # place IDs are allowed per request.
2979
3241
  # Corresponds to the JSON property `placeIds`
2980
3242
  # @return [Array<String>]
@@ -3013,6 +3275,333 @@ module Google
3013
3275
  end
3014
3276
  end
3015
3277
 
3278
+ # A rule is a condition-action pair * A condition defines when a rule is to be
3279
+ # triggered. * An action specifies what occurs on that trigger. Currently only
3280
+ # boost rules are supported. Currently only supported by the search endpoint.
3281
+ class GoogleCloudRetailV2alphaRule
3282
+ include Google::Apis::Core::Hashable
3283
+
3284
+ # A boost action to apply to results matching condition specified above.
3285
+ # Corresponds to the JSON property `boostAction`
3286
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaRuleBoostAction]
3287
+ attr_accessor :boost_action
3288
+
3289
+ # Metadata that is used to define a condition that triggers an action. A valid
3290
+ # condition must specify at least one of 'query_terms' or 'products_filter'. If
3291
+ # multiple fields are specified, the condition is met if all the fields are
3292
+ # satisfied e.g. if a set of query terms and product_filter are set, then only
3293
+ # items matching the product_filter for requests with a query matching the query
3294
+ # terms wil get boosted.
3295
+ # Corresponds to the JSON property `condition`
3296
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaCondition]
3297
+ attr_accessor :condition
3298
+
3299
+ # Prevents `query_term` from being associated with specified terms during search.
3300
+ # Example: Don't associate "gShoe" and "cheap".
3301
+ # Corresponds to the JSON property `doNotAssociateAction`
3302
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaRuleDoNotAssociateAction]
3303
+ attr_accessor :do_not_associate_action
3304
+
3305
+ # * Rule Condition: - No Condition provided is a global match. - 1 or more
3306
+ # Condition provided is combined with OR operator. * Action Input: The request
3307
+ # query and filter that will be applied to the retrieved products, in addition
3308
+ # to any filters already provided with the SearchRequest. The AND operator is
3309
+ # used to combine the query's existing filters with the filter rule(s). NOTE:
3310
+ # May result in 0 results when filters conflict. * Action Result: Filters the
3311
+ # returned objects to be ONLY those that passed the filter.
3312
+ # Corresponds to the JSON property `filterAction`
3313
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaRuleFilterAction]
3314
+ attr_accessor :filter_action
3315
+
3316
+ # Prevents a term in the query from being used in search. Example: Don't search
3317
+ # for "shoddy".
3318
+ # Corresponds to the JSON property `ignoreAction`
3319
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaRuleIgnoreAction]
3320
+ attr_accessor :ignore_action
3321
+
3322
+ # Maps a set of terms to a set of synonyms. Set of synonyms will be treated as
3323
+ # synonyms of each query term only. `query_terms` will not be treated as
3324
+ # synonyms of each other. Example: "sneakers" will use a synonym of "shoes". "
3325
+ # shoes" will not use a synonym of "sneakers".
3326
+ # Corresponds to the JSON property `onewaySynonymsAction`
3327
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaRuleOnewaySynonymsAction]
3328
+ attr_accessor :oneway_synonyms_action
3329
+
3330
+ # Redirects a shopper to a specific page. * Rule Condition: - Must specify
3331
+ # Condition. * Action Input: Request Query * Action Result: Redirects shopper to
3332
+ # provided uri.
3333
+ # Corresponds to the JSON property `redirectAction`
3334
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaRuleRedirectAction]
3335
+ attr_accessor :redirect_action
3336
+
3337
+ # Replaces a term in the query. Multiple replacement candidates can be specified.
3338
+ # All `query_terms` will be replaced with the replacement term. Example:
3339
+ # Replace "gShoe" with "google shoe".
3340
+ # Corresponds to the JSON property `replacementAction`
3341
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaRuleReplacementAction]
3342
+ attr_accessor :replacement_action
3343
+
3344
+ # Creates a set of terms that will be treated as synonyms of each other. Example:
3345
+ # synonyms of "sneakers" and "shoes". * "sneakers" will use a synonym of "shoes"
3346
+ # . * "shoes" will use a synonym of "sneakers".
3347
+ # Corresponds to the JSON property `twowaySynonymsAction`
3348
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaRuleTwowaySynonymsAction]
3349
+ attr_accessor :twoway_synonyms_action
3350
+
3351
+ def initialize(**args)
3352
+ update!(**args)
3353
+ end
3354
+
3355
+ # Update properties of this object
3356
+ def update!(**args)
3357
+ @boost_action = args[:boost_action] if args.key?(:boost_action)
3358
+ @condition = args[:condition] if args.key?(:condition)
3359
+ @do_not_associate_action = args[:do_not_associate_action] if args.key?(:do_not_associate_action)
3360
+ @filter_action = args[:filter_action] if args.key?(:filter_action)
3361
+ @ignore_action = args[:ignore_action] if args.key?(:ignore_action)
3362
+ @oneway_synonyms_action = args[:oneway_synonyms_action] if args.key?(:oneway_synonyms_action)
3363
+ @redirect_action = args[:redirect_action] if args.key?(:redirect_action)
3364
+ @replacement_action = args[:replacement_action] if args.key?(:replacement_action)
3365
+ @twoway_synonyms_action = args[:twoway_synonyms_action] if args.key?(:twoway_synonyms_action)
3366
+ end
3367
+ end
3368
+
3369
+ # A boost action to apply to results matching condition specified above.
3370
+ class GoogleCloudRetailV2alphaRuleBoostAction
3371
+ include Google::Apis::Core::Hashable
3372
+
3373
+ # Strength of the condition boost, which must be in [-1, 1]. Negative boost
3374
+ # means demotion. Default is 0.0. Setting to 1.0 gives the item a big promotion.
3375
+ # However, it does not necessarily mean that the boosted item will be the top
3376
+ # result at all times, nor that other items will be excluded. Results could
3377
+ # still be shown even when none of them matches the condition. And results that
3378
+ # are significantly more relevant to the search query can still trump your
3379
+ # heavily favored but irrelevant items. Setting to -1.0 gives the item a big
3380
+ # demotion. However, results that are deeply relevant might still be shown. The
3381
+ # item will have an upstream battle to get a fairly high ranking, but it is not
3382
+ # blocked out completely. Setting to 0.0 means no boost applied. The boosting
3383
+ # condition is ignored.
3384
+ # Corresponds to the JSON property `boost`
3385
+ # @return [Float]
3386
+ attr_accessor :boost
3387
+
3388
+ # The filter can have a max size of 5000 characters. An expression which
3389
+ # specifies which products to apply an action to. The syntax and supported
3390
+ # fields are the same as a filter expression. See SearchRequest.filter for
3391
+ # detail syntax and limitations. Examples: * To boost products with product ID "
3392
+ # product_1" or "product_2", and color "Red" or "Blue": *(id: ANY("product_1", "
3393
+ # product_2")) * *AND * *(colorFamily: ANY("Red", "Blue")) *
3394
+ # Corresponds to the JSON property `productsFilter`
3395
+ # @return [String]
3396
+ attr_accessor :products_filter
3397
+
3398
+ def initialize(**args)
3399
+ update!(**args)
3400
+ end
3401
+
3402
+ # Update properties of this object
3403
+ def update!(**args)
3404
+ @boost = args[:boost] if args.key?(:boost)
3405
+ @products_filter = args[:products_filter] if args.key?(:products_filter)
3406
+ end
3407
+ end
3408
+
3409
+ # Prevents `query_term` from being associated with specified terms during search.
3410
+ # Example: Don't associate "gShoe" and "cheap".
3411
+ class GoogleCloudRetailV2alphaRuleDoNotAssociateAction
3412
+ include Google::Apis::Core::Hashable
3413
+
3414
+ # Cannot contain duplicates or the query term. Can specify up to 100 terms.
3415
+ # Corresponds to the JSON property `doNotAssociateTerms`
3416
+ # @return [Array<String>]
3417
+ attr_accessor :do_not_associate_terms
3418
+
3419
+ # Terms from the search query. Will not consider do_not_associate_terms for
3420
+ # search if in search query. Can specify up to 100 terms.
3421
+ # Corresponds to the JSON property `queryTerms`
3422
+ # @return [Array<String>]
3423
+ attr_accessor :query_terms
3424
+
3425
+ # Will be [deprecated = true] post migration;
3426
+ # Corresponds to the JSON property `terms`
3427
+ # @return [Array<String>]
3428
+ attr_accessor :terms
3429
+
3430
+ def initialize(**args)
3431
+ update!(**args)
3432
+ end
3433
+
3434
+ # Update properties of this object
3435
+ def update!(**args)
3436
+ @do_not_associate_terms = args[:do_not_associate_terms] if args.key?(:do_not_associate_terms)
3437
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
3438
+ @terms = args[:terms] if args.key?(:terms)
3439
+ end
3440
+ end
3441
+
3442
+ # * Rule Condition: - No Condition provided is a global match. - 1 or more
3443
+ # Condition provided is combined with OR operator. * Action Input: The request
3444
+ # query and filter that will be applied to the retrieved products, in addition
3445
+ # to any filters already provided with the SearchRequest. The AND operator is
3446
+ # used to combine the query's existing filters with the filter rule(s). NOTE:
3447
+ # May result in 0 results when filters conflict. * Action Result: Filters the
3448
+ # returned objects to be ONLY those that passed the filter.
3449
+ class GoogleCloudRetailV2alphaRuleFilterAction
3450
+ include Google::Apis::Core::Hashable
3451
+
3452
+ # A filter to apply on the matching condition results. Supported features: *
3453
+ # filter must be set. * Filter syntax is identical to SearchRequest.filter. See
3454
+ # more details at the Retail Search [user guide](/retail/search/docs/filter-and-
3455
+ # order#filter). * To filter products with product ID "product_1" or "product_2",
3456
+ # and color "Red" or "Blue": *(id: ANY("product_1", "product_2")) * *AND * *(
3457
+ # colorFamily: ANY("Red", "Blue")) *
3458
+ # Corresponds to the JSON property `filter`
3459
+ # @return [String]
3460
+ attr_accessor :filter
3461
+
3462
+ def initialize(**args)
3463
+ update!(**args)
3464
+ end
3465
+
3466
+ # Update properties of this object
3467
+ def update!(**args)
3468
+ @filter = args[:filter] if args.key?(:filter)
3469
+ end
3470
+ end
3471
+
3472
+ # Prevents a term in the query from being used in search. Example: Don't search
3473
+ # for "shoddy".
3474
+ class GoogleCloudRetailV2alphaRuleIgnoreAction
3475
+ include Google::Apis::Core::Hashable
3476
+
3477
+ # Terms to ignore in the search query.
3478
+ # Corresponds to the JSON property `ignoreTerms`
3479
+ # @return [Array<String>]
3480
+ attr_accessor :ignore_terms
3481
+
3482
+ def initialize(**args)
3483
+ update!(**args)
3484
+ end
3485
+
3486
+ # Update properties of this object
3487
+ def update!(**args)
3488
+ @ignore_terms = args[:ignore_terms] if args.key?(:ignore_terms)
3489
+ end
3490
+ end
3491
+
3492
+ # Maps a set of terms to a set of synonyms. Set of synonyms will be treated as
3493
+ # synonyms of each query term only. `query_terms` will not be treated as
3494
+ # synonyms of each other. Example: "sneakers" will use a synonym of "shoes". "
3495
+ # shoes" will not use a synonym of "sneakers".
3496
+ class GoogleCloudRetailV2alphaRuleOnewaySynonymsAction
3497
+ include Google::Apis::Core::Hashable
3498
+
3499
+ # Will be [deprecated = true] post migration;
3500
+ # Corresponds to the JSON property `onewayTerms`
3501
+ # @return [Array<String>]
3502
+ attr_accessor :oneway_terms
3503
+
3504
+ # Terms from the search query. Will treat synonyms as their synonyms. Not
3505
+ # themselves synonyms of the synonyms. Can specify up to 100 terms.
3506
+ # Corresponds to the JSON property `queryTerms`
3507
+ # @return [Array<String>]
3508
+ attr_accessor :query_terms
3509
+
3510
+ # Defines a set of synonyms. Cannot contain duplicates. Can specify up to 100
3511
+ # synonyms.
3512
+ # Corresponds to the JSON property `synonyms`
3513
+ # @return [Array<String>]
3514
+ attr_accessor :synonyms
3515
+
3516
+ def initialize(**args)
3517
+ update!(**args)
3518
+ end
3519
+
3520
+ # Update properties of this object
3521
+ def update!(**args)
3522
+ @oneway_terms = args[:oneway_terms] if args.key?(:oneway_terms)
3523
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
3524
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
3525
+ end
3526
+ end
3527
+
3528
+ # Redirects a shopper to a specific page. * Rule Condition: - Must specify
3529
+ # Condition. * Action Input: Request Query * Action Result: Redirects shopper to
3530
+ # provided uri.
3531
+ class GoogleCloudRetailV2alphaRuleRedirectAction
3532
+ include Google::Apis::Core::Hashable
3533
+
3534
+ # URL must have length equal or less than 2000 characters.
3535
+ # Corresponds to the JSON property `redirectUri`
3536
+ # @return [String]
3537
+ attr_accessor :redirect_uri
3538
+
3539
+ def initialize(**args)
3540
+ update!(**args)
3541
+ end
3542
+
3543
+ # Update properties of this object
3544
+ def update!(**args)
3545
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
3546
+ end
3547
+ end
3548
+
3549
+ # Replaces a term in the query. Multiple replacement candidates can be specified.
3550
+ # All `query_terms` will be replaced with the replacement term. Example:
3551
+ # Replace "gShoe" with "google shoe".
3552
+ class GoogleCloudRetailV2alphaRuleReplacementAction
3553
+ include Google::Apis::Core::Hashable
3554
+
3555
+ # Terms from the search query. Will be replaced by replacement term. Can specify
3556
+ # up to 100 terms.
3557
+ # Corresponds to the JSON property `queryTerms`
3558
+ # @return [Array<String>]
3559
+ attr_accessor :query_terms
3560
+
3561
+ # Term that will be used for replacement.
3562
+ # Corresponds to the JSON property `replacementTerm`
3563
+ # @return [String]
3564
+ attr_accessor :replacement_term
3565
+
3566
+ # Will be [deprecated = true] post migration;
3567
+ # Corresponds to the JSON property `term`
3568
+ # @return [String]
3569
+ attr_accessor :term
3570
+
3571
+ def initialize(**args)
3572
+ update!(**args)
3573
+ end
3574
+
3575
+ # Update properties of this object
3576
+ def update!(**args)
3577
+ @query_terms = args[:query_terms] if args.key?(:query_terms)
3578
+ @replacement_term = args[:replacement_term] if args.key?(:replacement_term)
3579
+ @term = args[:term] if args.key?(:term)
3580
+ end
3581
+ end
3582
+
3583
+ # Creates a set of terms that will be treated as synonyms of each other. Example:
3584
+ # synonyms of "sneakers" and "shoes". * "sneakers" will use a synonym of "shoes"
3585
+ # . * "shoes" will use a synonym of "sneakers".
3586
+ class GoogleCloudRetailV2alphaRuleTwowaySynonymsAction
3587
+ include Google::Apis::Core::Hashable
3588
+
3589
+ # Defines a set of synonyms. Can specify up to 100 synonyms. Must specify at
3590
+ # least 2 synonyms.
3591
+ # Corresponds to the JSON property `synonyms`
3592
+ # @return [Array<String>]
3593
+ attr_accessor :synonyms
3594
+
3595
+ def initialize(**args)
3596
+ update!(**args)
3597
+ end
3598
+
3599
+ # Update properties of this object
3600
+ def update!(**args)
3601
+ @synonyms = args[:synonyms] if args.key?(:synonyms)
3602
+ end
3603
+ end
3604
+
3016
3605
  # Request message for SearchService.Search method.
3017
3606
  class GoogleCloudRetailV2alphaSearchRequest
3018
3607
  include Google::Apis::Core::Hashable
@@ -3133,25 +3722,26 @@ module Google
3133
3722
  # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaUserInfo]
3134
3723
  attr_accessor :user_info
3135
3724
 
3136
- # The keys to fetch and rollup the matching variant Products attributes. The
3137
- # attributes from all the matching variant Products are merged and de-duplicated.
3138
- # Notice that rollup variant Products attributes will lead to extra query
3139
- # latency. Maximum number of keys is 10. For FulfillmentInfo, a fulfillment type
3140
- # and a fulfillment ID must be provided in the format of "fulfillmentType.
3141
- # fulfillmentId". E.g., in "pickupInStore.store123", "pickupInStore" is
3142
- # fulfillment type and "store123" is the store ID. Supported keys are: *
3143
- # colorFamilies * price * originalPrice * discount * inventory(place_id,price) *
3144
- # inventory(place_id,attributes.key), where key is any key in the Product.
3145
- # inventories.attributes map. * attributes.key, where key is any key in the
3146
- # Product.attributes map. * pickupInStore.id, where id is any FulfillmentInfo.
3147
- # place_ids for FulfillmentInfo.type "pickup-in-store". * shipToStore.id, where
3148
- # id is any FulfillmentInfo.place_ids for FulfillmentInfo.type "ship-to-store". *
3149
- # sameDayDelivery.id, where id is any FulfillmentInfo.place_ids for
3150
- # FulfillmentInfo.type "same-day-delivery". * nextDayDelivery.id, where id is
3151
- # any FulfillmentInfo.place_ids for FulfillmentInfo.type "next-day-delivery". *
3152
- # customFulfillment1.id, where id is any FulfillmentInfo.place_ids for
3153
- # FulfillmentInfo.type "custom-type-1". * customFulfillment2.id, where id is any
3154
- # FulfillmentInfo.place_ids for FulfillmentInfo.type "custom-type-2". *
3725
+ # The keys to fetch and rollup the matching variant Products attributes,
3726
+ # FulfillmentInfo or LocalInventorys attributes. The attributes from all the
3727
+ # matching variant Products or LocalInventorys are merged and de-duplicated.
3728
+ # Notice that rollup attributes will lead to extra query latency. Maximum number
3729
+ # of keys is 30. For FulfillmentInfo, a fulfillment type and a fulfillment ID
3730
+ # must be provided in the format of "fulfillmentType.fulfillmentId". E.g., in "
3731
+ # pickupInStore.store123", "pickupInStore" is fulfillment type and "store123" is
3732
+ # the store ID. Supported keys are: * colorFamilies * price * originalPrice *
3733
+ # discount * variantId * inventory(place_id,price) * inventory(place_id,
3734
+ # original_price) * inventory(place_id,attributes.key), where key is any key in
3735
+ # the Product.inventories.attributes map. * attributes.key, where key is any key
3736
+ # in the Product.attributes map. * pickupInStore.id, where id is any
3737
+ # FulfillmentInfo.place_ids for FulfillmentInfo.type "pickup-in-store". *
3738
+ # shipToStore.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.
3739
+ # type "ship-to-store". * sameDayDelivery.id, where id is any FulfillmentInfo.
3740
+ # place_ids for FulfillmentInfo.type "same-day-delivery". * nextDayDelivery.id,
3741
+ # where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type "next-day-
3742
+ # delivery". * customFulfillment1.id, where id is any FulfillmentInfo.place_ids
3743
+ # for FulfillmentInfo.type "custom-type-1". * customFulfillment2.id, where id is
3744
+ # any FulfillmentInfo.place_ids for FulfillmentInfo.type "custom-type-2". *
3155
3745
  # customFulfillment3.id, where id is any FulfillmentInfo.place_ids for
3156
3746
  # FulfillmentInfo.type "custom-type-3". * customFulfillment4.id, where id is any
3157
3747
  # FulfillmentInfo.place_ids for FulfillmentInfo.type "custom-type-4". *
@@ -3165,9 +3755,9 @@ module Google
3165
3755
  # Required. A unique identifier for tracking visitors. For example, this could
3166
3756
  # be implemented with an HTTP cookie, which should be able to uniquely identify
3167
3757
  # a visitor on a single device. This unique identifier should not change if the
3168
- # visitor logs in or out of the website. The field must be a UTF-8 encoded
3169
- # string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT
3170
- # error is returned.
3758
+ # visitor logs in or out of the website. This should be the same identifier as
3759
+ # UserEvent.visitor_id. The field must be a UTF-8 encoded string with a length
3760
+ # limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
3171
3761
  # Corresponds to the JSON property `visitorId`
3172
3762
  # @return [String]
3173
3763
  attr_accessor :visitor_id
@@ -3372,8 +3962,8 @@ module Google
3372
3962
  # customFulfillment1" * "customFulfillment2" * "customFulfillment3" * "
3373
3963
  # customFulfillment4" * "customFulfillment5" * "inventory(place_id,attributes.
3374
3964
  # key)" * numerical_field = * "price" * "discount" * "rating" * "ratingCount" * "
3375
- # attributes.key" * "inventory(place_id,price)" * "inventory(place_id,attributes.
3376
- # key)"
3965
+ # attributes.key" * "inventory(place_id,price)" * "inventory(place_id,
3966
+ # original_price)" * "inventory(place_id,attributes.key)"
3377
3967
  # Corresponds to the JSON property `key`
3378
3968
  # @return [String]
3379
3969
  attr_accessor :key
@@ -3472,6 +4062,12 @@ module Google
3472
4062
  class GoogleCloudRetailV2alphaSearchResponse
3473
4063
  include Google::Apis::Core::Hashable
3474
4064
 
4065
+ # The fully qualified resource name of applied [controls](https://cloud.google.
4066
+ # com/retail/docs/serving-control-rules).
4067
+ # Corresponds to the JSON property `appliedControls`
4068
+ # @return [Array<String>]
4069
+ attr_accessor :applied_controls
4070
+
3475
4071
  # A unique search token. This should be included in the UserEvent logs resulting
3476
4072
  # from this search, which enables accurate attribution of search model
3477
4073
  # performance.
@@ -3526,6 +4122,7 @@ module Google
3526
4122
 
3527
4123
  # Update properties of this object
3528
4124
  def update!(**args)
4125
+ @applied_controls = args[:applied_controls] if args.key?(:applied_controls)
3529
4126
  @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
3530
4127
  @corrected_query = args[:corrected_query] if args.key?(:corrected_query)
3531
4128
  @facets = args[:facets] if args.key?(:facets)
@@ -3688,6 +4285,183 @@ module Google
3688
4285
  end
3689
4286
  end
3690
4287
 
4288
+ # Configures metadata that is used to generate serving time results (e.g. search
4289
+ # results or recommendation predictions). The ServingConfig is passed in the
4290
+ # search and predict request and together with the Catalog.default_branch,
4291
+ # generates results.
4292
+ class GoogleCloudRetailV2alphaServingConfig
4293
+ include Google::Apis::Core::Hashable
4294
+
4295
+ # Condition boost specifications. If a product matches multiple conditions in
4296
+ # the specifications, boost scores from these specifications are all applied and
4297
+ # combined in a non-linear way. Maximum number of specifications is 10. Notice
4298
+ # that if both ServingConfig.boost_control_ids and [SearchRequest.boost_spec]
4299
+ # are set, the boost conditions from both places are evaluated. If a search
4300
+ # request matches multiple boost conditions, the final boost score is equal to
4301
+ # the sum of the boost scores from all matched boost conditions. Can only be set
4302
+ # if solution_types is SOLUTION_TYPE_SEARCH.
4303
+ # Corresponds to the JSON property `boostControlIds`
4304
+ # @return [Array<String>]
4305
+ attr_accessor :boost_control_ids
4306
+
4307
+ # Required. The human readable serving config display name. Used in Retail UI.
4308
+ # This field must be a UTF-8 encoded string with a length limit of 128
4309
+ # characters. Otherwise, an INVALID_ARGUMENT error is returned.
4310
+ # Corresponds to the JSON property `displayName`
4311
+ # @return [String]
4312
+ attr_accessor :display_name
4313
+
4314
+ # How much diversity to use in recommendation model results e.g. 'medium-
4315
+ # diversity' or 'high-diversity'. Currently supported values: * 'no-diversity' *
4316
+ # 'low-diversity' * 'medium-diversity' * 'high-diversity' * 'auto-diversity' If
4317
+ # not specified, we choose default based on recommendation model type. Default
4318
+ # value: 'no-diversity'. Can only be set if solution_types is
4319
+ # SOLUTION_TYPE_RECOMMENDATION.
4320
+ # Corresponds to the JSON property `diversityLevel`
4321
+ # @return [String]
4322
+ attr_accessor :diversity_level
4323
+
4324
+ # Condition do not associate specifications. If multiple do not associate
4325
+ # conditions match, all matching do not associate controls in the list will
4326
+ # execute. - Order does not matter. - Maximum number of specifications is 100.
4327
+ # Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
4328
+ # Corresponds to the JSON property `doNotAssociateControlIds`
4329
+ # @return [Array<String>]
4330
+ attr_accessor :do_not_associate_control_ids
4331
+
4332
+ # The specifications of dynamically generated facets.
4333
+ # Corresponds to the JSON property `dynamicFacetSpec`
4334
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestDynamicFacetSpec]
4335
+ attr_accessor :dynamic_facet_spec
4336
+
4337
+ # Whether to add additional category filters on the 'similar-items' model. If
4338
+ # not specified, we enable it by default. Allowed values are: * 'no-category-
4339
+ # match': No additional filtering of original results from the model and the
4340
+ # customer's filters. * 'relaxed-category-match': Only keep results with
4341
+ # categories that match at least one item categories in the PredictRequests's
4342
+ # context item. * If customer also sends filters in the PredictRequest, then the
4343
+ # results will satisfy both conditions (user given and category match). Can only
4344
+ # be set if solution_types is SOLUTION_TYPE_RECOMMENDATION.
4345
+ # Corresponds to the JSON property `enableCategoryFilterLevel`
4346
+ # @return [String]
4347
+ attr_accessor :enable_category_filter_level
4348
+
4349
+ # Facet specifications for faceted search. If empty, no facets are returned. The
4350
+ # ids refer to the ids of Control resources with only the Facet control set.
4351
+ # These controls are assumed to be in the same Catalog as the ServingConfig. A
4352
+ # maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error is
4353
+ # returned. Can only be set if solution_types is SOLUTION_TYPE_SEARCH.
4354
+ # Corresponds to the JSON property `facetControlIds`
4355
+ # @return [Array<String>]
4356
+ attr_accessor :facet_control_ids
4357
+
4358
+ # Condition filter specifications. If a product matches multiple conditions in
4359
+ # the specifications, filters from these specifications are all applied and
4360
+ # combined via the AND operator. Maximum number of specifications is 100. Can
4361
+ # only be set if solution_types is SOLUTION_TYPE_SEARCH.
4362
+ # Corresponds to the JSON property `filterControlIds`
4363
+ # @return [Array<String>]
4364
+ attr_accessor :filter_control_ids
4365
+
4366
+ # Condition ignore specifications. If multiple ignore conditions match, all
4367
+ # matching ignore controls in the list will execute. - Order does not matter. -
4368
+ # Maximum number of specifications is 100. Can only be set if solution_types is
4369
+ # SOLUTION_TYPE_SEARCH.
4370
+ # Corresponds to the JSON property `ignoreControlIds`
4371
+ # @return [Array<String>]
4372
+ attr_accessor :ignore_control_ids
4373
+
4374
+ # The id of the model to use at serving time. Currently only
4375
+ # RecommendationModels are supported: https://cloud.google.com/retail/
4376
+ # recommendations-ai/docs/create-models Can be changed but only to a compatible
4377
+ # model (e.g. others-you-may-like CTR to others-you-may-like CVR). Required when
4378
+ # solution_types is SOLUTION_TYPE_RECOMMENDATION.
4379
+ # Corresponds to the JSON property `modelId`
4380
+ # @return [String]
4381
+ attr_accessor :model_id
4382
+
4383
+ # Immutable. Fully qualified name projects/*/locations/global/catalogs/*/
4384
+ # servingConfig/*
4385
+ # Corresponds to the JSON property `name`
4386
+ # @return [String]
4387
+ attr_accessor :name
4388
+
4389
+ # Condition oneway synonyms specifications. If multiple oneway synonyms
4390
+ # conditions match, all matching oneway synonyms controls in the list will
4391
+ # execute. Order of controls in the list will not matter. Maximum number of
4392
+ # specifications is 100. Can only be set if solution_types is
4393
+ # SOLUTION_TYPE_SEARCH.
4394
+ # Corresponds to the JSON property `onewaySynonymsControlIds`
4395
+ # @return [Array<String>]
4396
+ attr_accessor :oneway_synonyms_control_ids
4397
+
4398
+ # How much price ranking we want in serving results. Price reranking causes
4399
+ # product items with a similar recommendation probability to be ordered by price,
4400
+ # with the highest-priced items first. This setting could result in a decrease
4401
+ # in click-through and conversion rates. Allowed values are: * 'no-price-
4402
+ # reranking' * 'low-price-raranking' * 'medium-price-reranking' * 'high-price-
4403
+ # reranking' If not specified, we choose default based on model type. Default
4404
+ # value: 'no-price-reranking'. Can only be set if solution_types is
4405
+ # SOLUTION_TYPE_RECOMMENDATION.
4406
+ # Corresponds to the JSON property `priceRerankingLevel`
4407
+ # @return [String]
4408
+ attr_accessor :price_reranking_level
4409
+
4410
+ # Condition redirect specifications. Only the first triggered redirect action is
4411
+ # applied, even if multiple apply. Maximum number of specifications is 100. Can
4412
+ # only be set if solution_types is SOLUTION_TYPE_SEARCH.
4413
+ # Corresponds to the JSON property `redirectControlIds`
4414
+ # @return [Array<String>]
4415
+ attr_accessor :redirect_control_ids
4416
+
4417
+ # Condition replacement specifications. - Applied according to the order in the
4418
+ # list. - A previously replaced term can not be re-replaced. - Maximum number of
4419
+ # specifications is 100. Can only be set if solution_types is
4420
+ # SOLUTION_TYPE_SEARCH.
4421
+ # Corresponds to the JSON property `replacementControlIds`
4422
+ # @return [Array<String>]
4423
+ attr_accessor :replacement_control_ids
4424
+
4425
+ # Required. Immutable. Specifies the solution types that a serving config can be
4426
+ # associated with. Currently we support setting only one type of solution.
4427
+ # Corresponds to the JSON property `solutionTypes`
4428
+ # @return [Array<String>]
4429
+ attr_accessor :solution_types
4430
+
4431
+ # Condition synonyms specifications. If multiple syonyms conditions match, all
4432
+ # matching synonyms control in the list will execute. Order of controls in the
4433
+ # list will not matter. Maximum number of specifications is 100. Can only be set
4434
+ # if solution_types is SOLUTION_TYPE_SEARCH.
4435
+ # Corresponds to the JSON property `twowaySynonymsControlIds`
4436
+ # @return [Array<String>]
4437
+ attr_accessor :twoway_synonyms_control_ids
4438
+
4439
+ def initialize(**args)
4440
+ update!(**args)
4441
+ end
4442
+
4443
+ # Update properties of this object
4444
+ def update!(**args)
4445
+ @boost_control_ids = args[:boost_control_ids] if args.key?(:boost_control_ids)
4446
+ @display_name = args[:display_name] if args.key?(:display_name)
4447
+ @diversity_level = args[:diversity_level] if args.key?(:diversity_level)
4448
+ @do_not_associate_control_ids = args[:do_not_associate_control_ids] if args.key?(:do_not_associate_control_ids)
4449
+ @dynamic_facet_spec = args[:dynamic_facet_spec] if args.key?(:dynamic_facet_spec)
4450
+ @enable_category_filter_level = args[:enable_category_filter_level] if args.key?(:enable_category_filter_level)
4451
+ @facet_control_ids = args[:facet_control_ids] if args.key?(:facet_control_ids)
4452
+ @filter_control_ids = args[:filter_control_ids] if args.key?(:filter_control_ids)
4453
+ @ignore_control_ids = args[:ignore_control_ids] if args.key?(:ignore_control_ids)
4454
+ @model_id = args[:model_id] if args.key?(:model_id)
4455
+ @name = args[:name] if args.key?(:name)
4456
+ @oneway_synonyms_control_ids = args[:oneway_synonyms_control_ids] if args.key?(:oneway_synonyms_control_ids)
4457
+ @price_reranking_level = args[:price_reranking_level] if args.key?(:price_reranking_level)
4458
+ @redirect_control_ids = args[:redirect_control_ids] if args.key?(:redirect_control_ids)
4459
+ @replacement_control_ids = args[:replacement_control_ids] if args.key?(:replacement_control_ids)
4460
+ @solution_types = args[:solution_types] if args.key?(:solution_types)
4461
+ @twoway_synonyms_control_ids = args[:twoway_synonyms_control_ids] if args.key?(:twoway_synonyms_control_ids)
4462
+ end
4463
+ end
4464
+
3691
4465
  # Request message to set a specified branch as new default_branch.
3692
4466
  class GoogleCloudRetailV2alphaSetDefaultBranchRequest
3693
4467
  include Google::Apis::Core::Hashable
@@ -3751,10 +4525,9 @@ module Google
3751
4525
  # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProduct]
3752
4526
  attr_accessor :inventory
3753
4527
 
3754
- # Indicates which inventory fields in the provided Product to update. If not set
3755
- # or set with empty paths, all inventory fields will be updated. If an
3756
- # unsupported or unknown field is provided, an INVALID_ARGUMENT error is
3757
- # returned and the entire update will be ignored.
4528
+ # Indicates which inventory fields in the provided Product to update. At least
4529
+ # one field must be provided. If an unsupported or unknown field is provided, an
4530
+ # INVALID_ARGUMENT error is returned and the entire update will be ignored.
3758
4531
  # Corresponds to the JSON property `setMask`
3759
4532
  # @return [String]
3760
4533
  attr_accessor :set_mask
@@ -3798,12 +4571,15 @@ module Google
3798
4571
  class GoogleCloudRetailV2alphaUserEvent
3799
4572
  include Google::Apis::Core::Hashable
3800
4573
 
3801
- # Extra user event features to include in the recommendation model. The key must
3802
- # be a UTF-8 encoded string with a length limit of 5,000 characters. Otherwise,
3803
- # an INVALID_ARGUMENT error is returned. For product recommendation, an example
3804
- # of extra user information is traffic_channel, i.e. how user arrives at the
3805
- # site. Users can arrive at the site by coming to the site directly, or coming
3806
- # through Google search, and etc.
4574
+ # Extra user event features to include in the recommendation model. This field
4575
+ # needs to pass all below criteria, otherwise an INVALID_ARGUMENT error is
4576
+ # returned: * The key must be a UTF-8 encoded string with a length limit of 5,
4577
+ # 000 characters. * For text attributes, at most 400 values are allowed. Empty
4578
+ # values are not allowed. Each value must be a UTF-8 encoded string with a
4579
+ # length limit of 256 characters. * For number attributes, at most 400 values
4580
+ # are allowed. For product recommendation, an example of extra user information
4581
+ # is traffic_channel, i.e. how user arrives at the site. Users can arrive at the
4582
+ # site by coming to the site directly, or coming through Google search, and etc.
3807
4583
  # Corresponds to the JSON property `attributes`
3808
4584
  # @return [Hash<String,Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaCustomAttribute>]
3809
4585
  attr_accessor :attributes
@@ -3845,12 +4621,11 @@ module Google
3845
4621
 
3846
4622
  # Required. User event type. Allowed values are: * `add-to-cart`: Products being
3847
4623
  # added to cart. * `category-page-view`: Special pages such as sale or promotion
3848
- # pages viewed. * `completion`: Completion query result showed/clicked. * `
3849
- # detail-page-view`: Products detail page viewed. * `home-page-view`: Homepage
3850
- # viewed. * `promotion-offered`: Promotion is offered to a user. * `promotion-
3851
- # not-offered`: Promotion is not offered to a user. * `purchase-complete`: User
3852
- # finishing a purchase. * `search`: Product search. * `shopping-cart-page-view`:
3853
- # User viewing a shopping cart.
4624
+ # pages viewed. * `detail-page-view`: Products detail page viewed. * `home-page-
4625
+ # view`: Homepage viewed. * `promotion-offered`: Promotion is offered to a user.
4626
+ # * `promotion-not-offered`: Promotion is not offered to a user. * `purchase-
4627
+ # complete`: User finishing a purchase. * `search`: Product search. * `shopping-
4628
+ # cart-page-view`: User viewing a shopping cart.
3854
4629
  # Corresponds to the JSON property `eventType`
3855
4630
  # @return [String]
3856
4631
  attr_accessor :event_type
@@ -3917,12 +4692,12 @@ module Google
3917
4692
 
3918
4693
  # The main product details related to the event. This field is required for the
3919
4694
  # following event types: * `add-to-cart` * `detail-page-view` * `purchase-
3920
- # complete` In a `search` event, this field represents the products returned to
3921
- # the end user on the current page (the end user may have not finished browsing
3922
- # the whole page yet). When a new page is returned to the end user, after
3923
- # pagination/filtering/ordering even for the same query, a new `search` event
3924
- # with different product_details is desired. The end user may have not finished
3925
- # browsing the whole page yet.
4695
+ # complete` * `search` In a `search` event, this field represents the products
4696
+ # returned to the end user on the current page (the end user may have not
4697
+ # finished browsing the whole page yet). When a new page is returned to the end
4698
+ # user, after pagination/filtering/ordering even for the same query, a new `
4699
+ # search` event with different product_details is desired. The end user may have
4700
+ # not finished browsing the whole page yet.
3926
4701
  # Corresponds to the JSON property `productDetails`
3927
4702
  # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductDetail>]
3928
4703
  attr_accessor :product_details