google-apis-retail_v2beta 0.47.0 → 0.50.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -739,6 +739,51 @@ module Google
739
739
  end
740
740
  end
741
741
 
742
+ # A BigQuery output result.
743
+ class GoogleCloudRetailV2alphaBigQueryOutputResult
744
+ include Google::Apis::Core::Hashable
745
+
746
+ # The ID of a BigQuery Dataset.
747
+ # Corresponds to the JSON property `datasetId`
748
+ # @return [String]
749
+ attr_accessor :dataset_id
750
+
751
+ # The ID of a BigQuery Table.
752
+ # Corresponds to the JSON property `tableId`
753
+ # @return [String]
754
+ attr_accessor :table_id
755
+
756
+ def initialize(**args)
757
+ update!(**args)
758
+ end
759
+
760
+ # Update properties of this object
761
+ def update!(**args)
762
+ @dataset_id = args[:dataset_id] if args.key?(:dataset_id)
763
+ @table_id = args[:table_id] if args.key?(:table_id)
764
+ end
765
+ end
766
+
767
+ # Metadata associated with a create operation.
768
+ class GoogleCloudRetailV2alphaCreateModelMetadata
769
+ include Google::Apis::Core::Hashable
770
+
771
+ # The resource name of the model that this create applies to. Format: projects/`
772
+ # project_number`/locations/`location_id`/catalogs/`catalog_id`/models/`model_id`
773
+ # Corresponds to the JSON property `model`
774
+ # @return [String]
775
+ attr_accessor :model
776
+
777
+ def initialize(**args)
778
+ update!(**args)
779
+ end
780
+
781
+ # Update properties of this object
782
+ def update!(**args)
783
+ @model = args[:model] if args.key?(:model)
784
+ end
785
+ end
786
+
742
787
  # Configuration of destination for Export related errors.
743
788
  class GoogleCloudRetailV2alphaExportErrorsConfig
744
789
  include Google::Apis::Core::Hashable
@@ -803,6 +848,11 @@ module Google
803
848
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2alphaExportErrorsConfig]
804
849
  attr_accessor :errors_config
805
850
 
851
+ # Output result.
852
+ # Corresponds to the JSON property `outputResult`
853
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2alphaOutputResult]
854
+ attr_accessor :output_result
855
+
806
856
  def initialize(**args)
807
857
  update!(**args)
808
858
  end
@@ -811,6 +861,7 @@ module Google
811
861
  def update!(**args)
812
862
  @error_samples = args[:error_samples] if args.key?(:error_samples)
813
863
  @errors_config = args[:errors_config] if args.key?(:errors_config)
864
+ @output_result = args[:output_result] if args.key?(:output_result)
814
865
  end
815
866
  end
816
867
 
@@ -830,6 +881,11 @@ module Google
830
881
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2alphaExportErrorsConfig]
831
882
  attr_accessor :errors_config
832
883
 
884
+ # Output result.
885
+ # Corresponds to the JSON property `outputResult`
886
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2alphaOutputResult]
887
+ attr_accessor :output_result
888
+
833
889
  def initialize(**args)
834
890
  update!(**args)
835
891
  end
@@ -838,6 +894,7 @@ module Google
838
894
  def update!(**args)
839
895
  @error_samples = args[:error_samples] if args.key?(:error_samples)
840
896
  @errors_config = args[:errors_config] if args.key?(:errors_config)
897
+ @output_result = args[:output_result] if args.key?(:output_result)
841
898
  end
842
899
  end
843
900
 
@@ -916,6 +973,11 @@ module Google
916
973
  # @return [Fixnum]
917
974
  attr_accessor :success_count
918
975
 
976
+ # Metadata related to transform user events operation.
977
+ # Corresponds to the JSON property `transformedUserEventsMetadata`
978
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2alphaTransformedUserEventsMetadata]
979
+ attr_accessor :transformed_user_events_metadata
980
+
919
981
  # Operation last update time. If the operation is done, this is also the finish
920
982
  # time.
921
983
  # Corresponds to the JSON property `updateTime`
@@ -933,6 +995,7 @@ module Google
933
995
  @notification_pubsub_topic = args[:notification_pubsub_topic] if args.key?(:notification_pubsub_topic)
934
996
  @request_id = args[:request_id] if args.key?(:request_id)
935
997
  @success_count = args[:success_count] if args.key?(:success_count)
998
+ @transformed_user_events_metadata = args[:transformed_user_events_metadata] if args.key?(:transformed_user_events_metadata)
936
999
  @update_time = args[:update_time] if args.key?(:update_time)
937
1000
  end
938
1001
  end
@@ -998,6 +1061,278 @@ module Google
998
1061
  end
999
1062
  end
1000
1063
 
1064
+ # Metadata that describes the training and serving parameters of a Model. A
1065
+ # Model can be associated with a ServingConfig and then queried through the
1066
+ # Predict api.
1067
+ class GoogleCloudRetailV2alphaModel
1068
+ include Google::Apis::Core::Hashable
1069
+
1070
+ # Output only. Timestamp the Recommendation Model was created at.
1071
+ # Corresponds to the JSON property `createTime`
1072
+ # @return [String]
1073
+ attr_accessor :create_time
1074
+
1075
+ # Output only. The state of data requirements for this model: DATA_OK and
1076
+ # DATA_ERROR. Recommendation model cannot be trained if the data is in
1077
+ # DATA_ERROR state. Recommendation model can have DATA_ERROR state even if
1078
+ # serving state is ACTIVE: models were trained successfully before, but cannot
1079
+ # be refreshed because model no longer has sufficient data for training.
1080
+ # Corresponds to the JSON property `dataState`
1081
+ # @return [String]
1082
+ attr_accessor :data_state
1083
+
1084
+ # Required. The display name of the model. Should be human readable, used to
1085
+ # display Recommendation Models in the Retail Cloud Cosole Dashboard. UTF-8
1086
+ # encoded string with limit of 1024 characters.
1087
+ # Corresponds to the JSON property `displayName`
1088
+ # @return [String]
1089
+ attr_accessor :display_name
1090
+
1091
+ # Optional. If RECOMMENDATIONS_FILTERING_ENABLED, recommendation filtering by
1092
+ # attributes is enabled for the model.
1093
+ # Corresponds to the JSON property `filteringOption`
1094
+ # @return [String]
1095
+ attr_accessor :filtering_option
1096
+
1097
+ # Output only. The timestamp when the latest successful tune finished.
1098
+ # Corresponds to the JSON property `lastTuneTime`
1099
+ # @return [String]
1100
+ attr_accessor :last_tune_time
1101
+
1102
+ # Required. The fully qualified resource name of the model. Format: projects/`
1103
+ # project_number`/locations/`location_id`/catalogs/`catalog_id`/models/`model_id`
1104
+ # catalog_id has char limit of 50. recommendation_model_id has char limit of 40.
1105
+ # Corresponds to the JSON property `name`
1106
+ # @return [String]
1107
+ attr_accessor :name
1108
+
1109
+ # Optional. The optimization objective e.g. `cvr`. Currently supported values: `
1110
+ # ctr`, `cvr`, `revenue-per-order`. If not specified, we choose default based on
1111
+ # model type. Default depends on type of recommendation: `recommended-for-you` =>
1112
+ # `ctr` `others-you-may-like` => `ctr` `frequently-bought-together` => `
1113
+ # revenue_per_order`
1114
+ # Corresponds to the JSON property `optimizationObjective`
1115
+ # @return [String]
1116
+ attr_accessor :optimization_objective
1117
+
1118
+ # The PageOptimizationConfig for model training. This determines how many panels
1119
+ # to optimize for, and which serving configurations to consider for each panel.
1120
+ # The purpose of this model is to optimize which ServingConfig to show on which
1121
+ # panels in way that optimizes the visitors shopping journey.
1122
+ # Corresponds to the JSON property `pageOptimizationConfig`
1123
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2alphaModelPageOptimizationConfig]
1124
+ attr_accessor :page_optimization_config
1125
+
1126
+ # Optional. The state of periodic tuning. The period we use is 3 months - to do
1127
+ # a one-off tune earlier use the TuneModel method. Default value is
1128
+ # PERIODIC_TUNING_ENABLED.
1129
+ # Corresponds to the JSON property `periodicTuningState`
1130
+ # @return [String]
1131
+ attr_accessor :periodic_tuning_state
1132
+
1133
+ # Output only. The list of valid serving configs associated with the
1134
+ # PageOptimizationConfig.
1135
+ # Corresponds to the JSON property `servingConfigLists`
1136
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2alphaModelServingConfigList>]
1137
+ attr_accessor :serving_config_lists
1138
+
1139
+ # Output only. The serving state of the model: ACTIVE, NOT_ACTIVE.
1140
+ # Corresponds to the JSON property `servingState`
1141
+ # @return [String]
1142
+ attr_accessor :serving_state
1143
+
1144
+ # Optional. The training state that the model is in (e.g. TRAINING or PAUSED).
1145
+ # Since part of the cost of running the service is frequency of training - this
1146
+ # can be used to determine when to train model in order to control cost. If not
1147
+ # specified: the default value for CreateModel method is TRAINING. the default
1148
+ # value for UpdateModel method is to keep the state the same as before.
1149
+ # Corresponds to the JSON property `trainingState`
1150
+ # @return [String]
1151
+ attr_accessor :training_state
1152
+
1153
+ # Output only. The tune operation associated with the model. Can be used to
1154
+ # determine if there is an ongoing tune for this recommendation. Empty field
1155
+ # implies no tune is goig on.
1156
+ # Corresponds to the JSON property `tuningOperation`
1157
+ # @return [String]
1158
+ attr_accessor :tuning_operation
1159
+
1160
+ # Required. The type of model e.g. `home-page`. Currently supported values: `
1161
+ # recommended-for-you`, `others-you-may-like`, `frequently-bought-together`, `
1162
+ # page-optimization`, 'similar-items', 'buy-it-again', `recently-viewed`(
1163
+ # readonly value).
1164
+ # Corresponds to the JSON property `type`
1165
+ # @return [String]
1166
+ attr_accessor :type
1167
+
1168
+ # Output only. Timestamp the Recommendation Model was last updated. E.g. if a
1169
+ # Recommendation Model was paused - this would be the time the pause was
1170
+ # initiated.
1171
+ # Corresponds to the JSON property `updateTime`
1172
+ # @return [String]
1173
+ attr_accessor :update_time
1174
+
1175
+ def initialize(**args)
1176
+ update!(**args)
1177
+ end
1178
+
1179
+ # Update properties of this object
1180
+ def update!(**args)
1181
+ @create_time = args[:create_time] if args.key?(:create_time)
1182
+ @data_state = args[:data_state] if args.key?(:data_state)
1183
+ @display_name = args[:display_name] if args.key?(:display_name)
1184
+ @filtering_option = args[:filtering_option] if args.key?(:filtering_option)
1185
+ @last_tune_time = args[:last_tune_time] if args.key?(:last_tune_time)
1186
+ @name = args[:name] if args.key?(:name)
1187
+ @optimization_objective = args[:optimization_objective] if args.key?(:optimization_objective)
1188
+ @page_optimization_config = args[:page_optimization_config] if args.key?(:page_optimization_config)
1189
+ @periodic_tuning_state = args[:periodic_tuning_state] if args.key?(:periodic_tuning_state)
1190
+ @serving_config_lists = args[:serving_config_lists] if args.key?(:serving_config_lists)
1191
+ @serving_state = args[:serving_state] if args.key?(:serving_state)
1192
+ @training_state = args[:training_state] if args.key?(:training_state)
1193
+ @tuning_operation = args[:tuning_operation] if args.key?(:tuning_operation)
1194
+ @type = args[:type] if args.key?(:type)
1195
+ @update_time = args[:update_time] if args.key?(:update_time)
1196
+ end
1197
+ end
1198
+
1199
+ # The PageOptimizationConfig for model training. This determines how many panels
1200
+ # to optimize for, and which serving configurations to consider for each panel.
1201
+ # The purpose of this model is to optimize which ServingConfig to show on which
1202
+ # panels in way that optimizes the visitors shopping journey.
1203
+ class GoogleCloudRetailV2alphaModelPageOptimizationConfig
1204
+ include Google::Apis::Core::Hashable
1205
+
1206
+ # Required. The type of UserEvent this page optimization is shown for. Each page
1207
+ # has an associated event type - this will be the corresponding event type for
1208
+ # the page that the page optimization model is used on. Supported types: * `add-
1209
+ # to-cart`: Products being added to cart. * `detail-page-view`: Products detail
1210
+ # page viewed. * `home-page-view`: Homepage viewed * `category-page-view`:
1211
+ # Homepage viewed * `shopping-cart-page-view`: User viewing a shopping cart. `
1212
+ # home-page-view` only allows models with type `recommended-for-you`. All other
1213
+ # page_optimization_event_type allow all Model.types.
1214
+ # Corresponds to the JSON property `pageOptimizationEventType`
1215
+ # @return [String]
1216
+ attr_accessor :page_optimization_event_type
1217
+
1218
+ # Required. A list of panel configurations. Limit = 5.
1219
+ # Corresponds to the JSON property `panels`
1220
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2alphaModelPageOptimizationConfigPanel>]
1221
+ attr_accessor :panels
1222
+
1223
+ # Optional. How to restrict results across panels e.g. can the same
1224
+ # ServingConfig be shown on multiple panels at once. If unspecified, default to `
1225
+ # UNIQUE_MODEL_RESTRICTION`.
1226
+ # Corresponds to the JSON property `restriction`
1227
+ # @return [String]
1228
+ attr_accessor :restriction
1229
+
1230
+ def initialize(**args)
1231
+ update!(**args)
1232
+ end
1233
+
1234
+ # Update properties of this object
1235
+ def update!(**args)
1236
+ @page_optimization_event_type = args[:page_optimization_event_type] if args.key?(:page_optimization_event_type)
1237
+ @panels = args[:panels] if args.key?(:panels)
1238
+ @restriction = args[:restriction] if args.key?(:restriction)
1239
+ end
1240
+ end
1241
+
1242
+ # A candidate to consider for a given panel. Currently only ServingConfig are
1243
+ # valid candidates.
1244
+ class GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate
1245
+ include Google::Apis::Core::Hashable
1246
+
1247
+ # This has to be a valid ServingConfig identifier. e.g. for a ServingConfig with
1248
+ # full name: `projects/*/locations/global/catalogs/default_catalog/
1249
+ # servingConfigs/my_candidate_config` this would be 'my_candidate_config'
1250
+ # Corresponds to the JSON property `servingConfigId`
1251
+ # @return [String]
1252
+ attr_accessor :serving_config_id
1253
+
1254
+ def initialize(**args)
1255
+ update!(**args)
1256
+ end
1257
+
1258
+ # Update properties of this object
1259
+ def update!(**args)
1260
+ @serving_config_id = args[:serving_config_id] if args.key?(:serving_config_id)
1261
+ end
1262
+ end
1263
+
1264
+ # An individual panel with a list of ServingConfigs to consider for it.
1265
+ class GoogleCloudRetailV2alphaModelPageOptimizationConfigPanel
1266
+ include Google::Apis::Core::Hashable
1267
+
1268
+ # Required. The candidates to consider on the panel. Limit = 10.
1269
+ # Corresponds to the JSON property `candidates`
1270
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate>]
1271
+ attr_accessor :candidates
1272
+
1273
+ # A candidate to consider for a given panel. Currently only ServingConfig are
1274
+ # valid candidates.
1275
+ # Corresponds to the JSON property `defaultCandidate`
1276
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2alphaModelPageOptimizationConfigCandidate]
1277
+ attr_accessor :default_candidate
1278
+
1279
+ # Optional. The name to display for the panel.
1280
+ # Corresponds to the JSON property `displayName`
1281
+ # @return [String]
1282
+ attr_accessor :display_name
1283
+
1284
+ def initialize(**args)
1285
+ update!(**args)
1286
+ end
1287
+
1288
+ # Update properties of this object
1289
+ def update!(**args)
1290
+ @candidates = args[:candidates] if args.key?(:candidates)
1291
+ @default_candidate = args[:default_candidate] if args.key?(:default_candidate)
1292
+ @display_name = args[:display_name] if args.key?(:display_name)
1293
+ end
1294
+ end
1295
+
1296
+ # Represents an ordered combination of valid serving configs, which / may be
1297
+ # used for PAGE_OPTIMIZATION recommendations.
1298
+ class GoogleCloudRetailV2alphaModelServingConfigList
1299
+ include Google::Apis::Core::Hashable
1300
+
1301
+ # Optional. A set of valid serving configs that may be used for
1302
+ # PAGE_OPTIMIZATION.
1303
+ # Corresponds to the JSON property `servingConfigIds`
1304
+ # @return [Array<String>]
1305
+ attr_accessor :serving_config_ids
1306
+
1307
+ def initialize(**args)
1308
+ update!(**args)
1309
+ end
1310
+
1311
+ # Update properties of this object
1312
+ def update!(**args)
1313
+ @serving_config_ids = args[:serving_config_ids] if args.key?(:serving_config_ids)
1314
+ end
1315
+ end
1316
+
1317
+ # Output result.
1318
+ class GoogleCloudRetailV2alphaOutputResult
1319
+ include Google::Apis::Core::Hashable
1320
+
1321
+ # Export result in BigQuery.
1322
+ # Corresponds to the JSON property `bigqueryResult`
1323
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2alphaBigQueryOutputResult>]
1324
+ attr_accessor :bigquery_result
1325
+
1326
+ def initialize(**args)
1327
+ update!(**args)
1328
+ end
1329
+
1330
+ # Update properties of this object
1331
+ def update!(**args)
1332
+ @bigquery_result = args[:bigquery_result] if args.key?(:bigquery_result)
1333
+ end
1334
+ end
1335
+
1001
1336
  # Metadata related to the progress of the Purge operation. This will be returned
1002
1337
  # by the google.longrunning.Operation.metadata field.
1003
1338
  class GoogleCloudRetailV2alphaPurgeMetadata
@@ -1222,6 +1557,65 @@ module Google
1222
1557
  end
1223
1558
  end
1224
1559
 
1560
+ # Metadata related to transform user events operation.
1561
+ class GoogleCloudRetailV2alphaTransformedUserEventsMetadata
1562
+ include Google::Apis::Core::Hashable
1563
+
1564
+ # Count of entries in the source user events BigQuery table.
1565
+ # Corresponds to the JSON property `sourceEventsCount`
1566
+ # @return [Fixnum]
1567
+ attr_accessor :source_events_count
1568
+
1569
+ # Count of entries in the transformed user events BigQuery table, which could be
1570
+ # different from the actually imported number of user events.
1571
+ # Corresponds to the JSON property `transformedEventsCount`
1572
+ # @return [Fixnum]
1573
+ attr_accessor :transformed_events_count
1574
+
1575
+ def initialize(**args)
1576
+ update!(**args)
1577
+ end
1578
+
1579
+ # Update properties of this object
1580
+ def update!(**args)
1581
+ @source_events_count = args[:source_events_count] if args.key?(:source_events_count)
1582
+ @transformed_events_count = args[:transformed_events_count] if args.key?(:transformed_events_count)
1583
+ end
1584
+ end
1585
+
1586
+ # Metadata associated with a tune operation.
1587
+ class GoogleCloudRetailV2alphaTuneModelMetadata
1588
+ include Google::Apis::Core::Hashable
1589
+
1590
+ # The resource name of the model that this tune applies to. Format: projects/`
1591
+ # project_number`/locations/`location_id`/catalogs/`catalog_id`/models/`model_id`
1592
+ # Corresponds to the JSON property `model`
1593
+ # @return [String]
1594
+ attr_accessor :model
1595
+
1596
+ def initialize(**args)
1597
+ update!(**args)
1598
+ end
1599
+
1600
+ # Update properties of this object
1601
+ def update!(**args)
1602
+ @model = args[:model] if args.key?(:model)
1603
+ end
1604
+ end
1605
+
1606
+ # Response associated with a tune operation.
1607
+ class GoogleCloudRetailV2alphaTuneModelResponse
1608
+ include Google::Apis::Core::Hashable
1609
+
1610
+ def initialize(**args)
1611
+ update!(**args)
1612
+ end
1613
+
1614
+ # Update properties of this object
1615
+ def update!(**args)
1616
+ end
1617
+ end
1618
+
1225
1619
  # A summary of import result. The UserEventImportSummary summarizes the import
1226
1620
  # status for user events.
1227
1621
  class GoogleCloudRetailV2alphaUserEventImportSummary
@@ -1530,6 +1924,79 @@ module Google
1530
1924
  end
1531
1925
  end
1532
1926
 
1927
+ # Request for CatalogService.BatchRemoveCatalogAttributes method.
1928
+ class GoogleCloudRetailV2betaBatchRemoveCatalogAttributesRequest
1929
+ include Google::Apis::Core::Hashable
1930
+
1931
+ # Required. The attribute name keys of the CatalogAttributes to delete. A
1932
+ # maximum of 1000 catalog attributes can be deleted in a batch.
1933
+ # Corresponds to the JSON property `attributeKeys`
1934
+ # @return [Array<String>]
1935
+ attr_accessor :attribute_keys
1936
+
1937
+ def initialize(**args)
1938
+ update!(**args)
1939
+ end
1940
+
1941
+ # Update properties of this object
1942
+ def update!(**args)
1943
+ @attribute_keys = args[:attribute_keys] if args.key?(:attribute_keys)
1944
+ end
1945
+ end
1946
+
1947
+ # Response of the CatalogService.BatchRemoveCatalogAttributes.
1948
+ class GoogleCloudRetailV2betaBatchRemoveCatalogAttributesResponse
1949
+ include Google::Apis::Core::Hashable
1950
+
1951
+ # Catalog attributes that were deleted. Only attributes that are not in use by
1952
+ # products can be deleted.
1953
+ # Corresponds to the JSON property `deletedCatalogAttributes`
1954
+ # @return [Array<String>]
1955
+ attr_accessor :deleted_catalog_attributes
1956
+
1957
+ # Catalog attributes that were reset. Attributes that are in use by products
1958
+ # cannot be deleted, however their configuration properties will reset to
1959
+ # default values upon removal request.
1960
+ # Corresponds to the JSON property `resetCatalogAttributes`
1961
+ # @return [Array<String>]
1962
+ attr_accessor :reset_catalog_attributes
1963
+
1964
+ def initialize(**args)
1965
+ update!(**args)
1966
+ end
1967
+
1968
+ # Update properties of this object
1969
+ def update!(**args)
1970
+ @deleted_catalog_attributes = args[:deleted_catalog_attributes] if args.key?(:deleted_catalog_attributes)
1971
+ @reset_catalog_attributes = args[:reset_catalog_attributes] if args.key?(:reset_catalog_attributes)
1972
+ end
1973
+ end
1974
+
1975
+ # A BigQuery output result.
1976
+ class GoogleCloudRetailV2betaBigQueryOutputResult
1977
+ include Google::Apis::Core::Hashable
1978
+
1979
+ # The ID of a BigQuery Dataset.
1980
+ # Corresponds to the JSON property `datasetId`
1981
+ # @return [String]
1982
+ attr_accessor :dataset_id
1983
+
1984
+ # The ID of a BigQuery Table.
1985
+ # Corresponds to the JSON property `tableId`
1986
+ # @return [String]
1987
+ attr_accessor :table_id
1988
+
1989
+ def initialize(**args)
1990
+ update!(**args)
1991
+ end
1992
+
1993
+ # Update properties of this object
1994
+ def update!(**args)
1995
+ @dataset_id = args[:dataset_id] if args.key?(:dataset_id)
1996
+ @table_id = args[:table_id] if args.key?(:table_id)
1997
+ end
1998
+ end
1999
+
1533
2000
  # BigQuery source import data from.
1534
2001
  class GoogleCloudRetailV2betaBigQuerySource
1535
2002
  include Google::Apis::Core::Hashable
@@ -1541,12 +2008,11 @@ module Google
1541
2008
  # recommendations-ai/docs/upload-catalog#mc). Supported values for user events
1542
2009
  # imports: * `user_event` (default): One JSON UserEvent per line. * `
1543
2010
  # user_event_ga360`: The schema is available here: https://support.google.com/
1544
- # analytics/answer/3437719. * `user_event_ga4`: This feature is in private
1545
- # preview. Please contact the support team for importing Google Analytics 4
1546
- # events. The schema is available here: https://support.google.com/analytics/
1547
- # answer/7029846. Supported values for auto-completion imports: * `suggestions` (
1548
- # default): One JSON completion suggestion per line. * `denylist`: One JSON deny
1549
- # suggestion per line. * `allowlist`: One JSON allow suggestion per line.
2011
+ # analytics/answer/3437719. * `user_event_ga4`: The schema is available here:
2012
+ # https://support.google.com/analytics/answer/7029846. Supported values for auto-
2013
+ # completion imports: * `suggestions` (default): One JSON completion suggestion
2014
+ # per line. * `denylist`: One JSON deny suggestion per line. * `allowlist`: One
2015
+ # JSON allow suggestion per line.
1550
2016
  # Corresponds to the JSON property `dataSchema`
1551
2017
  # @return [String]
1552
2018
  attr_accessor :data_schema
@@ -1657,6 +2123,13 @@ module Google
1657
2123
  # @return [String]
1658
2124
  attr_accessor :dynamic_facetable_option
1659
2125
 
2126
+ # If EXACT_SEARCHABLE_ENABLED, attribute values will be exact searchable. This
2127
+ # property only applies to textual custom attributes and requires indexable set
2128
+ # to enabled to enable exact-searchable.
2129
+ # Corresponds to the JSON property `exactSearchableOption`
2130
+ # @return [String]
2131
+ attr_accessor :exact_searchable_option
2132
+
1660
2133
  # Output only. Indicates whether this attribute has been used by any products. `
1661
2134
  # True` if at least one Product is using this attribute in Product.attributes.
1662
2135
  # Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using
@@ -1718,6 +2191,7 @@ module Google
1718
2191
  # Update properties of this object
1719
2192
  def update!(**args)
1720
2193
  @dynamic_facetable_option = args[:dynamic_facetable_option] if args.key?(:dynamic_facetable_option)
2194
+ @exact_searchable_option = args[:exact_searchable_option] if args.key?(:exact_searchable_option)
1721
2195
  @in_use = args[:in_use] if args.key?(:in_use)
1722
2196
  @indexable_option = args[:indexable_option] if args.key?(:indexable_option)
1723
2197
  @key = args[:key] if args.key?(:key)
@@ -1815,9 +2289,8 @@ module Google
1815
2289
 
1816
2290
  # Custom attributes for the suggestion term. * For "user-data", the attributes
1817
2291
  # are additional custom attributes ingested through BigQuery. * For "cloud-
1818
- # retail", the attributes are product attributes generated by Cloud Retail. This
1819
- # is an experimental feature. Contact Retail Search support team if you are
1820
- # interested in enabling it.
2292
+ # retail", the attributes are product attributes generated by Cloud Retail. It
2293
+ # requires UserEvent.product_details is imported properly.
1821
2294
  # Corresponds to the JSON property `attributes`
1822
2295
  # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCustomAttribute>]
1823
2296
  attr_accessor :attributes
@@ -1911,16 +2384,16 @@ module Google
1911
2384
  # @return [String]
1912
2385
  attr_accessor :matching_order
1913
2386
 
1914
- # The maximum number of autocomplete suggestions returned per term. The maximum
1915
- # allowed max suggestions is 20. Default value is 20. If left unset or set to 0,
1916
- # then will fallback to default value.
2387
+ # The maximum number of autocomplete suggestions returned per term. Default
2388
+ # value is 20. If left unset or set to 0, then will fallback to default value.
2389
+ # Value range is 1 to 20.
1917
2390
  # Corresponds to the JSON property `maxSuggestions`
1918
2391
  # @return [Fixnum]
1919
2392
  attr_accessor :max_suggestions
1920
2393
 
1921
2394
  # The minimum number of characters needed to be typed in order to get
1922
2395
  # suggestions. Default value is 2. If left unset or set to 0, then will fallback
1923
- # to default value.
2396
+ # to default value. Value range is 1 to 20.
1924
2397
  # Corresponds to the JSON property `minPrefixLength`
1925
2398
  # @return [Fixnum]
1926
2399
  attr_accessor :min_prefix_length
@@ -2277,6 +2750,11 @@ module Google
2277
2750
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaExportErrorsConfig]
2278
2751
  attr_accessor :errors_config
2279
2752
 
2753
+ # Output result.
2754
+ # Corresponds to the JSON property `outputResult`
2755
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaOutputResult]
2756
+ attr_accessor :output_result
2757
+
2280
2758
  def initialize(**args)
2281
2759
  update!(**args)
2282
2760
  end
@@ -2285,6 +2763,7 @@ module Google
2285
2763
  def update!(**args)
2286
2764
  @error_samples = args[:error_samples] if args.key?(:error_samples)
2287
2765
  @errors_config = args[:errors_config] if args.key?(:errors_config)
2766
+ @output_result = args[:output_result] if args.key?(:output_result)
2288
2767
  end
2289
2768
  end
2290
2769
 
@@ -2304,6 +2783,11 @@ module Google
2304
2783
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaExportErrorsConfig]
2305
2784
  attr_accessor :errors_config
2306
2785
 
2786
+ # Output result.
2787
+ # Corresponds to the JSON property `outputResult`
2788
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaOutputResult]
2789
+ attr_accessor :output_result
2790
+
2307
2791
  def initialize(**args)
2308
2792
  update!(**args)
2309
2793
  end
@@ -2312,6 +2796,7 @@ module Google
2312
2796
  def update!(**args)
2313
2797
  @error_samples = args[:error_samples] if args.key?(:error_samples)
2314
2798
  @errors_config = args[:errors_config] if args.key?(:errors_config)
2799
+ @output_result = args[:output_result] if args.key?(:output_result)
2315
2800
  end
2316
2801
  end
2317
2802
 
@@ -2605,11 +3090,9 @@ module Google
2605
3090
  # the import is finished, a notification will be sent to specified Pub/Sub topic.
2606
3091
  # The message data will be JSON string of a Operation. Format of the Pub/Sub
2607
3092
  # topic is `projects/`project`/topics/`topic``. It has to be within the same
2608
- # project as ImportProductsRequest.parent. Make sure that both `cloud-retail-
2609
- # customer-data-access@system.gserviceaccount.com` and `service-@gcp-sa-retail.
2610
- # iam.gserviceaccount.com` have the `pubsub.topics.publish` IAM permission on
2611
- # the topic. Only supported when ImportProductsRequest.reconciliation_mode is
2612
- # set to `FULL`.
3093
+ # project as ImportProductsRequest.parent. Make sure that `service-@gcp-sa-
3094
+ # retail.iam.gserviceaccount.com` has the `pubsub.topics.publish` IAM permission
3095
+ # on the topic.
2613
3096
  # Corresponds to the JSON property `notificationPubsubTopic`
2614
3097
  # @return [String]
2615
3098
  attr_accessor :notification_pubsub_topic
@@ -3006,6 +3489,25 @@ module Google
3006
3489
  end
3007
3490
  end
3008
3491
 
3492
+ # Output result.
3493
+ class GoogleCloudRetailV2betaOutputResult
3494
+ include Google::Apis::Core::Hashable
3495
+
3496
+ # Export result in BigQuery.
3497
+ # Corresponds to the JSON property `bigqueryResult`
3498
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaBigQueryOutputResult>]
3499
+ attr_accessor :bigquery_result
3500
+
3501
+ def initialize(**args)
3502
+ update!(**args)
3503
+ end
3504
+
3505
+ # Update properties of this object
3506
+ def update!(**args)
3507
+ @bigquery_result = args[:bigquery_result] if args.key?(:bigquery_result)
3508
+ end
3509
+ end
3510
+
3009
3511
  # Request message for Predict method.
3010
3512
  class GoogleCloudRetailV2betaPredictRequest
3011
3513
  include Google::Apis::Core::Hashable
@@ -3027,7 +3529,7 @@ module Google
3027
3529
  # in `PredictRequest.params` to receive empty results instead. Note that the API
3028
3530
  # will never return items with storageStatus of "EXPIRED" or "DELETED"
3029
3531
  # regardless of filter choices. If `filterSyntaxV2` is set to true under the `
3030
- # params` field, then attribute based expressions are expected instead of the
3532
+ # params` field, then attribute-based expressions are expected instead of the
3031
3533
  # above described tag-based syntax. Examples: * (colors: ANY("Red", "Blue")) AND
3032
3534
  # NOT (categories: ANY("Phones")) * (availability: ANY("IN_STOCK")) AND (colors:
3033
3535
  # ANY("Red") OR categories: ANY("Phones"))
@@ -3058,7 +3560,7 @@ module Google
3058
3560
  # @return [Fixnum]
3059
3561
  attr_accessor :page_size
3060
3562
 
3061
- # This field is not used for now, please leave it unset.
3563
+ # This field is not used for now, leave it unset.
3062
3564
  # Corresponds to the JSON property `pageToken`
3063
3565
  # @return [String]
3064
3566
  attr_accessor :page_token
@@ -3080,8 +3582,8 @@ module Google
3080
3582
  # it needs to be one of `'no-diversity', 'low-diversity', 'medium-diversity', '
3081
3583
  # high-diversity', 'auto-diversity'`. This gives request-level control and
3082
3584
  # adjusts prediction results based on product category. * `filterSyntaxV2`:
3083
- # Boolean. False by default. If set to true, the `filter` field will be
3084
- # interpreteted according to the new, attribute-based syntax.
3585
+ # Boolean. False by default. If set to true, the `filter` field is interpreteted
3586
+ # according to the new, attribute-based syntax.
3085
3587
  # Corresponds to the JSON property `params`
3086
3588
  # @return [Hash<String,Object>]
3087
3589
  attr_accessor :params
@@ -3365,7 +3867,7 @@ module Google
3365
3867
 
3366
3868
  # The id of the collection members when type is Type.COLLECTION. Non-existent
3367
3869
  # product ids are allowed. The type of the members must be either Type.PRIMARY
3368
- # or Type.VARIANT otherwise and INVALID_ARGUMENT error is thrown. Should not set
3870
+ # or Type.VARIANT otherwise an INVALID_ARGUMENT error is thrown. Should not set
3369
3871
  # it for other types. A maximum of 1000 values are allowed. Otherwise, an
3370
3872
  # INVALID_ARGUMENT error is return.
3371
3873
  # Corresponds to the JSON property `collectionMemberIds`
@@ -4263,13 +4765,13 @@ module Google
4263
4765
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaRuleDoNotAssociateAction]
4264
4766
  attr_accessor :do_not_associate_action
4265
4767
 
4266
- # * Rule Condition: - No Condition provided is a global match. - 1 or more
4267
- # Condition provided is combined with OR operator. * Action Input: The request
4268
- # query and filter that will be applied to the retrieved products, in addition
4269
- # to any filters already provided with the SearchRequest. The AND operator is
4270
- # used to combine the query's existing filters with the filter rule(s). NOTE:
4271
- # May result in 0 results when filters conflict. * Action Result: Filters the
4272
- # returned objects to be ONLY those that passed the filter.
4768
+ # * Rule Condition: - No Condition.query_terms provided is a global match. - 1
4769
+ # or more Condition.query_terms provided is combined with OR operator. * Action
4770
+ # Input: The request query and filter that are applied to the retrieved products,
4771
+ # in addition to any filters already provided with the SearchRequest. The AND
4772
+ # operator is used to combine the query's existing filters with the filter rule(
4773
+ # s). NOTE: May result in 0 results when filters conflict. * Action Result:
4774
+ # Filters the returned objects to be ONLY those that passed the filter.
4273
4775
  # Corresponds to the JSON property `filterAction`
4274
4776
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaRuleFilterAction]
4275
4777
  attr_accessor :filter_action
@@ -4289,8 +4791,8 @@ module Google
4289
4791
  attr_accessor :oneway_synonyms_action
4290
4792
 
4291
4793
  # Redirects a shopper to a specific page. * Rule Condition: - Must specify
4292
- # Condition. * Action Input: Request Query * Action Result: Redirects shopper to
4293
- # provided uri.
4794
+ # Condition.query_terms. * Action Input: Request Query * Action Result:
4795
+ # Redirects shopper to provided uri.
4294
4796
  # Corresponds to the JSON property `redirectAction`
4295
4797
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaRuleRedirectAction]
4296
4798
  attr_accessor :redirect_action
@@ -4400,13 +4902,13 @@ module Google
4400
4902
  end
4401
4903
  end
4402
4904
 
4403
- # * Rule Condition: - No Condition provided is a global match. - 1 or more
4404
- # Condition provided is combined with OR operator. * Action Input: The request
4405
- # query and filter that will be applied to the retrieved products, in addition
4406
- # to any filters already provided with the SearchRequest. The AND operator is
4407
- # used to combine the query's existing filters with the filter rule(s). NOTE:
4408
- # May result in 0 results when filters conflict. * Action Result: Filters the
4409
- # returned objects to be ONLY those that passed the filter.
4905
+ # * Rule Condition: - No Condition.query_terms provided is a global match. - 1
4906
+ # or more Condition.query_terms provided is combined with OR operator. * Action
4907
+ # Input: The request query and filter that are applied to the retrieved products,
4908
+ # in addition to any filters already provided with the SearchRequest. The AND
4909
+ # operator is used to combine the query's existing filters with the filter rule(
4910
+ # s). NOTE: May result in 0 results when filters conflict. * Action Result:
4911
+ # Filters the returned objects to be ONLY those that passed the filter.
4410
4912
  class GoogleCloudRetailV2betaRuleFilterAction
4411
4913
  include Google::Apis::Core::Hashable
4412
4914
 
@@ -4487,8 +4989,8 @@ module Google
4487
4989
  end
4488
4990
 
4489
4991
  # Redirects a shopper to a specific page. * Rule Condition: - Must specify
4490
- # Condition. * Action Input: Request Query * Action Result: Redirects shopper to
4491
- # provided uri.
4992
+ # Condition.query_terms. * Action Input: Request Query * Action Result:
4993
+ # Redirects shopper to provided uri.
4492
4994
  class GoogleCloudRetailV2betaRuleRedirectAction
4493
4995
  include Google::Apis::Core::Hashable
4494
4996
 
@@ -5021,6 +5523,13 @@ module Google
5021
5523
  # @return [Array<String>]
5022
5524
  attr_accessor :restricted_values
5023
5525
 
5526
+ # Returns the min and max value for each numerical facet intervals. Ignored for
5527
+ # textual facets.
5528
+ # Corresponds to the JSON property `returnMinMax`
5529
+ # @return [Boolean]
5530
+ attr_accessor :return_min_max
5531
+ alias_method :return_min_max?, :return_min_max
5532
+
5024
5533
  def initialize(**args)
5025
5534
  update!(**args)
5026
5535
  end
@@ -5035,6 +5544,7 @@ module Google
5035
5544
  @prefixes = args[:prefixes] if args.key?(:prefixes)
5036
5545
  @query = args[:query] if args.key?(:query)
5037
5546
  @restricted_values = args[:restricted_values] if args.key?(:restricted_values)
5547
+ @return_min_max = args[:return_min_max] if args.key?(:return_min_max)
5038
5548
  end
5039
5549
  end
5040
5550
 
@@ -5125,7 +5635,7 @@ module Google
5125
5635
 
5126
5636
  # Contains the spell corrected query, if found. If the spell correction type is
5127
5637
  # AUTOMATIC, then the search results are based on corrected_query. Otherwise the
5128
- # original query will be used for search.
5638
+ # original query is used for search.
5129
5639
  # Corresponds to the JSON property `correctedQuery`
5130
5640
  # @return [String]
5131
5641
  attr_accessor :corrected_query
@@ -5237,6 +5747,18 @@ module Google
5237
5747
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaInterval]
5238
5748
  attr_accessor :interval
5239
5749
 
5750
+ # The maximum value in the FacetValue.interval. Only supported on numerical
5751
+ # facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true.
5752
+ # Corresponds to the JSON property `maxValue`
5753
+ # @return [Float]
5754
+ attr_accessor :max_value
5755
+
5756
+ # The minimum value in the FacetValue.interval. Only supported on numerical
5757
+ # facets and returned if SearchRequest.FacetSpec.FacetKey.return_min_max is true.
5758
+ # Corresponds to the JSON property `minValue`
5759
+ # @return [Float]
5760
+ attr_accessor :min_value
5761
+
5240
5762
  # Text value of a facet, such as "Black" for facet "colorFamilies".
5241
5763
  # Corresponds to the JSON property `value`
5242
5764
  # @return [String]
@@ -5250,6 +5772,8 @@ module Google
5250
5772
  def update!(**args)
5251
5773
  @count = args[:count] if args.key?(:count)
5252
5774
  @interval = args[:interval] if args.key?(:interval)
5775
+ @max_value = args[:max_value] if args.key?(:max_value)
5776
+ @min_value = args[:min_value] if args.key?(:min_value)
5253
5777
  @value = args[:value] if args.key?(:value)
5254
5778
  end
5255
5779
  end
@@ -5305,6 +5829,15 @@ module Google
5305
5829
  # @return [Hash<String,String>]
5306
5830
  attr_accessor :matching_variant_fields
5307
5831
 
5832
+ # Specifies previous events related to this product for this user based on
5833
+ # UserEvent with same SearchRequest.visitor_id or UserInfo.user_id. This is set
5834
+ # only when SearchRequest.PersonalizationSpec.mode is SearchRequest.
5835
+ # PersonalizationSpec.Mode.AUTO. Possible values: * `purchased`: Indicates that
5836
+ # this product has been purchased before.
5837
+ # Corresponds to the JSON property `personalLabels`
5838
+ # @return [Array<String>]
5839
+ attr_accessor :personal_labels
5840
+
5308
5841
  # Product captures all metadata information of items to be recommended or
5309
5842
  # searched.
5310
5843
  # Corresponds to the JSON property `product`
@@ -5337,6 +5870,7 @@ module Google
5337
5870
  @id = args[:id] if args.key?(:id)
5338
5871
  @matching_variant_count = args[:matching_variant_count] if args.key?(:matching_variant_count)
5339
5872
  @matching_variant_fields = args[:matching_variant_fields] if args.key?(:matching_variant_fields)
5873
+ @personal_labels = args[:personal_labels] if args.key?(:personal_labels)
5340
5874
  @product = args[:product] if args.key?(:product)
5341
5875
  @variant_rollup_values = args[:variant_rollup_values] if args.key?(:variant_rollup_values)
5342
5876
  end