google-apis-retail_v2beta 0.99.0 → 0.101.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2635,6 +2635,85 @@ module Google
2635
2635
  end
2636
2636
  end
2637
2637
 
2638
+ # Project level alert config.
2639
+ class GoogleCloudRetailV2betaAlertConfig
2640
+ include Google::Apis::Core::Hashable
2641
+
2642
+ # Alert policies for a customer. They must be unique by [AlertPolicy.alert_group]
2643
+ # Corresponds to the JSON property `alertPolicies`
2644
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaAlertConfigAlertPolicy>]
2645
+ attr_accessor :alert_policies
2646
+
2647
+ # Required. Immutable. The name of the AlertConfig singleton resource. Format:
2648
+ # projects/*/alertConfig
2649
+ # Corresponds to the JSON property `name`
2650
+ # @return [String]
2651
+ attr_accessor :name
2652
+
2653
+ def initialize(**args)
2654
+ update!(**args)
2655
+ end
2656
+
2657
+ # Update properties of this object
2658
+ def update!(**args)
2659
+ @alert_policies = args[:alert_policies] if args.key?(:alert_policies)
2660
+ @name = args[:name] if args.key?(:name)
2661
+ end
2662
+ end
2663
+
2664
+ # Alert policy for a customer.
2665
+ class GoogleCloudRetailV2betaAlertConfigAlertPolicy
2666
+ include Google::Apis::Core::Hashable
2667
+
2668
+ # The feature that provides alerting capability. Supported value: - `search-data-
2669
+ # quality` for retail search customers. - `conv-data-quality` for retail
2670
+ # conversation customers.
2671
+ # Corresponds to the JSON property `alertGroup`
2672
+ # @return [String]
2673
+ attr_accessor :alert_group
2674
+
2675
+ # The enrollment status of a customer.
2676
+ # Corresponds to the JSON property `enrollStatus`
2677
+ # @return [String]
2678
+ attr_accessor :enroll_status
2679
+
2680
+ # Recipients for the alert policy. One alert policy should not exceed 20
2681
+ # recipients.
2682
+ # Corresponds to the JSON property `recipients`
2683
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaAlertConfigAlertPolicyRecipient>]
2684
+ attr_accessor :recipients
2685
+
2686
+ def initialize(**args)
2687
+ update!(**args)
2688
+ end
2689
+
2690
+ # Update properties of this object
2691
+ def update!(**args)
2692
+ @alert_group = args[:alert_group] if args.key?(:alert_group)
2693
+ @enroll_status = args[:enroll_status] if args.key?(:enroll_status)
2694
+ @recipients = args[:recipients] if args.key?(:recipients)
2695
+ end
2696
+ end
2697
+
2698
+ # Recipient contact information.
2699
+ class GoogleCloudRetailV2betaAlertConfigAlertPolicyRecipient
2700
+ include Google::Apis::Core::Hashable
2701
+
2702
+ # Email address of the recipient.
2703
+ # Corresponds to the JSON property `emailAddress`
2704
+ # @return [String]
2705
+ attr_accessor :email_address
2706
+
2707
+ def initialize(**args)
2708
+ update!(**args)
2709
+ end
2710
+
2711
+ # Update properties of this object
2712
+ def update!(**args)
2713
+ @email_address = args[:email_address] if args.key?(:email_address)
2714
+ end
2715
+ end
2716
+
2638
2717
  # Catalog level attribute config.
2639
2718
  class GoogleCloudRetailV2betaAttributesConfig
2640
2719
  include Google::Apis::Core::Hashable
@@ -2757,6 +2836,44 @@ module Google
2757
2836
  end
2758
2837
  end
2759
2838
 
2839
+ # Request for BatchUpdateGenerativeQuestionConfig method.
2840
+ class GoogleCloudRetailV2betaBatchUpdateGenerativeQuestionConfigsRequest
2841
+ include Google::Apis::Core::Hashable
2842
+
2843
+ # Required. The updates question configs.
2844
+ # Corresponds to the JSON property `requests`
2845
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaUpdateGenerativeQuestionConfigRequest>]
2846
+ attr_accessor :requests
2847
+
2848
+ def initialize(**args)
2849
+ update!(**args)
2850
+ end
2851
+
2852
+ # Update properties of this object
2853
+ def update!(**args)
2854
+ @requests = args[:requests] if args.key?(:requests)
2855
+ end
2856
+ end
2857
+
2858
+ # Aggregated response for UpdateGenerativeQuestionConfig method.
2859
+ class GoogleCloudRetailV2betaBatchUpdateGenerativeQuestionConfigsResponse
2860
+ include Google::Apis::Core::Hashable
2861
+
2862
+ # Optional. The updates question configs.
2863
+ # Corresponds to the JSON property `generativeQuestionConfigs`
2864
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaGenerativeQuestionConfig>]
2865
+ attr_accessor :generative_question_configs
2866
+
2867
+ def initialize(**args)
2868
+ update!(**args)
2869
+ end
2870
+
2871
+ # Update properties of this object
2872
+ def update!(**args)
2873
+ @generative_question_configs = args[:generative_question_configs] if args.key?(:generative_question_configs)
2874
+ end
2875
+ end
2876
+
2760
2877
  # A BigQuery output result.
2761
2878
  class GoogleCloudRetailV2betaBigQueryOutputResult
2762
2879
  include Google::Apis::Core::Hashable
@@ -2926,14 +3043,13 @@ module Google
2926
3043
  # Output only. Indicates whether this attribute has been used by any products. `
2927
3044
  # True` if at least one Product is using this attribute in Product.attributes.
2928
3045
  # Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using
2929
- # CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or
2930
- # CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-
2931
- # loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither
2932
- # in use by products nor predefined can be deleted. Catalog attributes that are
2933
- # either in use by products or are predefined attributes cannot be deleted;
2934
- # however, their configuration properties will reset to default values upon
2935
- # removal request. After catalog changes, it takes about 10 minutes for this
2936
- # field to update.
3046
+ # CatalogService.AddCatalogAttribute or CatalogService.UpdateAttributesConfig
3047
+ # APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded
3048
+ # catalog attributes that are neither in use by products nor predefined can be
3049
+ # deleted. Catalog attributes that are either in use by products or are
3050
+ # predefined attributes cannot be deleted; however, their configuration
3051
+ # properties will reset to default values upon removal request. After catalog
3052
+ # changes, it takes about 10 minutes for this field to update.
2937
3053
  # Corresponds to the JSON property `inUse`
2938
3054
  # @return [Boolean]
2939
3055
  attr_accessor :in_use
@@ -3134,13 +3250,6 @@ module Google
3134
3250
  # @return [String]
3135
3251
  attr_accessor :merged_facet_key
3136
3252
 
3137
- # Each instance is a list of facet values that map into the same (possibly
3138
- # different) merged facet value. For the current attribute config, each facet
3139
- # value should map to at most one merged facet value.
3140
- # Corresponds to the JSON property `mergedFacetValues`
3141
- # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCatalogAttributeFacetConfigMergedFacetValue>]
3142
- attr_accessor :merged_facet_values
3143
-
3144
3253
  def initialize(**args)
3145
3254
  update!(**args)
3146
3255
  end
@@ -3148,7 +3257,6 @@ module Google
3148
3257
  # Update properties of this object
3149
3258
  def update!(**args)
3150
3259
  @merged_facet_key = args[:merged_facet_key] if args.key?(:merged_facet_key)
3151
- @merged_facet_values = args[:merged_facet_values] if args.key?(:merged_facet_values)
3152
3260
  end
3153
3261
  end
3154
3262
 
@@ -3261,6 +3369,12 @@ module Google
3261
3369
  class GoogleCloudRetailV2betaCompleteQueryResponse
3262
3370
  include Google::Apis::Core::Hashable
3263
3371
 
3372
+ # A map of matched attribute suggestions. This field is only available for "
3373
+ # cloud-retail" dataset. Current supported keys: * `brands` * `categories`
3374
+ # Corresponds to the JSON property `attributeResults`
3375
+ # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCompleteQueryResponseAttributeResult>]
3376
+ attr_accessor :attribute_results
3377
+
3264
3378
  # A unique complete token. This should be included in the UserEvent.
3265
3379
  # completion_detail for search events resulting from this completion, which
3266
3380
  # enables accurate attribution of complete model performance.
@@ -3293,12 +3407,33 @@ module Google
3293
3407
 
3294
3408
  # Update properties of this object
3295
3409
  def update!(**args)
3410
+ @attribute_results = args[:attribute_results] if args.key?(:attribute_results)
3296
3411
  @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
3297
3412
  @completion_results = args[:completion_results] if args.key?(:completion_results)
3298
3413
  @recent_search_results = args[:recent_search_results] if args.key?(:recent_search_results)
3299
3414
  end
3300
3415
  end
3301
3416
 
3417
+ # Resource that represents attribute results. The list of suggestions for the
3418
+ # attribute.
3419
+ class GoogleCloudRetailV2betaCompleteQueryResponseAttributeResult
3420
+ include Google::Apis::Core::Hashable
3421
+
3422
+ #
3423
+ # Corresponds to the JSON property `suggestions`
3424
+ # @return [Array<String>]
3425
+ attr_accessor :suggestions
3426
+
3427
+ def initialize(**args)
3428
+ update!(**args)
3429
+ end
3430
+
3431
+ # Update properties of this object
3432
+ def update!(**args)
3433
+ @suggestions = args[:suggestions] if args.key?(:suggestions)
3434
+ end
3435
+ end
3436
+
3302
3437
  # Resource that represents completion results.
3303
3438
  class GoogleCloudRetailV2betaCompleteQueryResponseCompletionResult
3304
3439
  include Google::Apis::Core::Hashable
@@ -3327,7 +3462,7 @@ module Google
3327
3462
  end
3328
3463
  end
3329
3464
 
3330
- # Recent search of this user.
3465
+ # Deprecated: Recent search of this user.
3331
3466
  class GoogleCloudRetailV2betaCompleteQueryResponseRecentSearchResult
3332
3467
  include Google::Apis::Core::Hashable
3333
3468
 
@@ -3739,7 +3874,7 @@ module Google
3739
3874
  end
3740
3875
  end
3741
3876
 
3742
- # Metadata for active A/B testing Experiment.
3877
+ # Metadata for active A/B testing experiment.
3743
3878
  class GoogleCloudRetailV2betaExperimentInfo
3744
3879
  include Google::Apis::Core::Hashable
3745
3880
 
@@ -3770,8 +3905,8 @@ module Google
3770
3905
  class GoogleCloudRetailV2betaExperimentInfoServingConfigExperiment
3771
3906
  include Google::Apis::Core::Hashable
3772
3907
 
3773
- # The fully qualified resource name of the serving config Experiment.VariantArm.
3774
- # serving_config_id responsible for generating the search response. For example:
3908
+ # The fully qualified resource name of the serving config `Experiment.VariantArm.
3909
+ # serving_config_id` responsible for generating the search response. For example:
3775
3910
  # `projects/*/locations/*/catalogs/*/servingConfigs/*`.
3776
3911
  # Corresponds to the JSON property `experimentServingConfig`
3777
3912
  # @return [String]
@@ -3910,6 +4045,58 @@ module Google
3910
4045
  end
3911
4046
  end
3912
4047
 
4048
+ # Request message for ExportProducts method.
4049
+ class GoogleCloudRetailV2betaExportProductsRequest
4050
+ include Google::Apis::Core::Hashable
4051
+
4052
+ # A filtering expression to specify restrictions on returned events. The
4053
+ # expression is a sequence of terms. Each term applies a restriction to the
4054
+ # returned products. Use this expression to restrict results to a specific time
4055
+ # range, tag, or stock state or to filter products by product type. For example,
4056
+ # `lastModifiedTime > "2012-04-23T18:25:43.511Z" lastModifiedTime<"2012-04-23T18:
4057
+ # 25:43.511Z" productType=primary` We expect only four types of fields: * `
4058
+ # lastModifiedTime`: This can be specified twice, once with a less than operator
4059
+ # and once with a greater than operator. The `lastModifiedTime` restriction
4060
+ # should result in one, contiguous, valid, last-modified, time range. * `
4061
+ # productType`: Supported values are `primary` and `variant`. The Boolean
4062
+ # operators `OR` and `NOT` are supported if the expression is enclosed in
4063
+ # parentheses and must be separated from the `productType` values by a space. * `
4064
+ # availability`: Supported values are `IN_STOCK`, `OUT_OF_STOCK`, `PREORDER`,
4065
+ # and `BACKORDER`. Boolean operators `OR` and `NOT` are supported if the
4066
+ # expression is enclosed in parentheses and must be separated from the `
4067
+ # availability` values by a space. * `Tag expressions`: Restricts output to
4068
+ # products that match all of the specified tags. Boolean operators `OR` and `NOT`
4069
+ # are supported if the expression is enclosed in parentheses and the operators
4070
+ # are separated from the tag values by a space. Also supported is '`-"tagA"`',
4071
+ # which is equivalent to '`NOT "tagA"`'. Tag values must be double-quoted, UTF-8
4072
+ # encoded strings and have a size limit of 1,000 characters. Some examples of
4073
+ # valid filters expressions: * Example 1: `lastModifiedTime > "2012-04-23T18:25:
4074
+ # 43.511Z" lastModifiedTime < "2012-04-23T18:30:43.511Z"` * Example 2: `
4075
+ # lastModifiedTime > "2012-04-23T18:25:43.511Z" productType = "variant"` *
4076
+ # Example 3: `tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional")
4077
+ # productType = "primary" lastModifiedTime < "2018-04-23T18:30:43.511Z"` *
4078
+ # Example 4: `lastModifiedTime > "2012-04-23T18:25:43.511Z"` * Example 5: `
4079
+ # availability = (IN_STOCK OR BACKORDER)`
4080
+ # Corresponds to the JSON property `filter`
4081
+ # @return [String]
4082
+ attr_accessor :filter
4083
+
4084
+ # The output configuration setting.
4085
+ # Corresponds to the JSON property `outputConfig`
4086
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaOutputConfig]
4087
+ attr_accessor :output_config
4088
+
4089
+ def initialize(**args)
4090
+ update!(**args)
4091
+ end
4092
+
4093
+ # Update properties of this object
4094
+ def update!(**args)
4095
+ @filter = args[:filter] if args.key?(:filter)
4096
+ @output_config = args[:output_config] if args.key?(:output_config)
4097
+ end
4098
+ end
4099
+
3913
4100
  # Response of the ExportProductsRequest. If the long running operation is done,
3914
4101
  # then this message is returned by the google.longrunning.Operations.response
3915
4102
  # field if the operation was successful.
@@ -3944,6 +4131,51 @@ module Google
3944
4131
  end
3945
4132
  end
3946
4133
 
4134
+ # Request message for the `ExportUserEvents` method.
4135
+ class GoogleCloudRetailV2betaExportUserEventsRequest
4136
+ include Google::Apis::Core::Hashable
4137
+
4138
+ # A filtering expression to specify restrictions on returned events. The
4139
+ # expression is a sequence of terms. Each term applies a restriction to the
4140
+ # returned user events. Use this expression to restrict results to a specific
4141
+ # time range or to filter events by eventType. For example, `eventTime > "2012-
4142
+ # 04-23T18:25:43.511Z" eventsMissingCatalogItems eventTime<"2012-04-23T18:25:43.
4143
+ # 511Z" eventType=search` We expect only three types of fields: * `eventTime`:
4144
+ # This can be specified twice, once with a less than operator and once with a
4145
+ # greater than operator. The `eventTime` restriction should result in one,
4146
+ # contiguous, valid, `eventTime` range. * `eventType`: Boolean operators `OR`
4147
+ # and `NOT` are supported if the expression is enclosed in parentheses and the
4148
+ # operators are separated from the tag values by a space. * `
4149
+ # eventsMissingCatalogItems`: This restricts results to events for which catalog
4150
+ # items were not found in the catalog. The default behavior is to return only
4151
+ # those events for which catalog items were found. Some examples of valid
4152
+ # filters expressions: * Example 1: `eventTime > "2012-04-23T18:25:43.511Z"
4153
+ # eventTime < "2012-04-23T18:30:43.511Z"` * Example 2: `eventTime > "2012-04-
4154
+ # 23T18:25:43.511Z" eventType = detail-page-view` * Example 3: `
4155
+ # eventsMissingCatalogItems eventType = (NOT search) eventTime < "2018-04-23T18:
4156
+ # 30:43.511Z"` * Example 4: `eventTime > "2012-04-23T18:25:43.511Z"` * Example 5:
4157
+ # `eventType = (detail-page-view OR search)` * Example 6: `
4158
+ # eventsMissingCatalogItems`
4159
+ # Corresponds to the JSON property `filter`
4160
+ # @return [String]
4161
+ attr_accessor :filter
4162
+
4163
+ # The output configuration setting.
4164
+ # Corresponds to the JSON property `outputConfig`
4165
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaOutputConfig]
4166
+ attr_accessor :output_config
4167
+
4168
+ def initialize(**args)
4169
+ update!(**args)
4170
+ end
4171
+
4172
+ # Update properties of this object
4173
+ def update!(**args)
4174
+ @filter = args[:filter] if args.key?(:filter)
4175
+ @output_config = args[:output_config] if args.key?(:output_config)
4176
+ end
4177
+ end
4178
+
3947
4179
  # Response of the ExportUserEventsRequest. If the long running operation was
3948
4180
  # successful, then this message is returned by the google.longrunning.Operations.
3949
4181
  # response field if the operation was successful.
@@ -4073,6 +4305,99 @@ module Google
4073
4305
  end
4074
4306
  end
4075
4307
 
4308
+ # Configuration for a single generated question.
4309
+ class GoogleCloudRetailV2betaGenerativeQuestionConfig
4310
+ include Google::Apis::Core::Hashable
4311
+
4312
+ # Optional. Whether the question is asked at serving time.
4313
+ # Corresponds to the JSON property `allowedInConversation`
4314
+ # @return [Boolean]
4315
+ attr_accessor :allowed_in_conversation
4316
+ alias_method :allowed_in_conversation?, :allowed_in_conversation
4317
+
4318
+ # Required. Resource name of the catalog. Format: projects/`project`/locations/`
4319
+ # location`/catalogs/`catalog`
4320
+ # Corresponds to the JSON property `catalog`
4321
+ # @return [String]
4322
+ attr_accessor :catalog
4323
+
4324
+ # Output only. Values that can be used to answer the question.
4325
+ # Corresponds to the JSON property `exampleValues`
4326
+ # @return [Array<String>]
4327
+ attr_accessor :example_values
4328
+
4329
+ # Required. The facet to which the question is associated.
4330
+ # Corresponds to the JSON property `facet`
4331
+ # @return [String]
4332
+ attr_accessor :facet
4333
+
4334
+ # Optional. The question that will be used at serving time. Question can have a
4335
+ # max length of 300 bytes. When not populated, generated_question should be used.
4336
+ # Corresponds to the JSON property `finalQuestion`
4337
+ # @return [String]
4338
+ attr_accessor :final_question
4339
+
4340
+ # Output only. The ratio of how often a question was asked.
4341
+ # Corresponds to the JSON property `frequency`
4342
+ # @return [Float]
4343
+ attr_accessor :frequency
4344
+
4345
+ # Output only. The LLM generated question.
4346
+ # Corresponds to the JSON property `generatedQuestion`
4347
+ # @return [String]
4348
+ attr_accessor :generated_question
4349
+
4350
+ def initialize(**args)
4351
+ update!(**args)
4352
+ end
4353
+
4354
+ # Update properties of this object
4355
+ def update!(**args)
4356
+ @allowed_in_conversation = args[:allowed_in_conversation] if args.key?(:allowed_in_conversation)
4357
+ @catalog = args[:catalog] if args.key?(:catalog)
4358
+ @example_values = args[:example_values] if args.key?(:example_values)
4359
+ @facet = args[:facet] if args.key?(:facet)
4360
+ @final_question = args[:final_question] if args.key?(:final_question)
4361
+ @frequency = args[:frequency] if args.key?(:frequency)
4362
+ @generated_question = args[:generated_question] if args.key?(:generated_question)
4363
+ end
4364
+ end
4365
+
4366
+ # Configuration for overall generative question feature state.
4367
+ class GoogleCloudRetailV2betaGenerativeQuestionsFeatureConfig
4368
+ include Google::Apis::Core::Hashable
4369
+
4370
+ # Required. Resource name of the affected catalog. Format: projects/`project`/
4371
+ # locations/`location`/catalogs/`catalog`
4372
+ # Corresponds to the JSON property `catalog`
4373
+ # @return [String]
4374
+ attr_accessor :catalog
4375
+
4376
+ # Optional. Determines whether questions will be used at serving time. Note:
4377
+ # This feature cannot be enabled until initial data requirements are satisfied.
4378
+ # Corresponds to the JSON property `featureEnabled`
4379
+ # @return [Boolean]
4380
+ attr_accessor :feature_enabled
4381
+ alias_method :feature_enabled?, :feature_enabled
4382
+
4383
+ # Optional. Minimum number of products in the response to trigger follow-up
4384
+ # questions. Value must be 0 or positive.
4385
+ # Corresponds to the JSON property `minimumProducts`
4386
+ # @return [Fixnum]
4387
+ attr_accessor :minimum_products
4388
+
4389
+ def initialize(**args)
4390
+ update!(**args)
4391
+ end
4392
+
4393
+ # Update properties of this object
4394
+ def update!(**args)
4395
+ @catalog = args[:catalog] if args.key?(:catalog)
4396
+ @feature_enabled = args[:feature_enabled] if args.key?(:feature_enabled)
4397
+ @minimum_products = args[:minimum_products] if args.key?(:minimum_products)
4398
+ end
4399
+ end
4400
+
4076
4401
  # Response message of CatalogService.GetDefaultBranch.
4077
4402
  class GoogleCloudRetailV2betaGetDefaultBranchResponse
4078
4403
  include Google::Apis::Core::Hashable
@@ -4105,10 +4430,11 @@ module Google
4105
4430
  end
4106
4431
  end
4107
4432
 
4108
- # Product image. Recommendations AI and Retail Search do not use product images
4109
- # to improve prediction and search results. However, product images can be
4110
- # returned in results, and are shown in prediction or search previews in the
4111
- # console.
4433
+ # Product image. Recommendations AI and Retail Search use product images to
4434
+ # improve prediction and search results. Product images can be returned in
4435
+ # results, and are shown in prediction or search previews in the console. Please
4436
+ # try to provide correct product images and avoid using images with size too
4437
+ # small.
4112
4438
  class GoogleCloudRetailV2betaImage
4113
4439
  include Google::Apis::Core::Hashable
4114
4440
 
@@ -4503,6 +4829,25 @@ module Google
4503
4829
  end
4504
4830
  end
4505
4831
 
4832
+ # Response for ListQuestions method.
4833
+ class GoogleCloudRetailV2betaListGenerativeQuestionConfigsResponse
4834
+ include Google::Apis::Core::Hashable
4835
+
4836
+ # All the questions for a given catalog.
4837
+ # Corresponds to the JSON property `generativeQuestionConfigs`
4838
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaGenerativeQuestionConfig>]
4839
+ attr_accessor :generative_question_configs
4840
+
4841
+ def initialize(**args)
4842
+ update!(**args)
4843
+ end
4844
+
4845
+ # Update properties of this object
4846
+ def update!(**args)
4847
+ @generative_question_configs = args[:generative_question_configs] if args.key?(:generative_question_configs)
4848
+ end
4849
+ end
4850
+
4506
4851
  # Response to a ListModelRequest.
4507
4852
  class GoogleCloudRetailV2betaListModelsResponse
4508
4853
  include Google::Apis::Core::Hashable
@@ -4583,8 +4928,8 @@ module Google
4583
4928
  class GoogleCloudRetailV2betaLocalInventory
4584
4929
  include Google::Apis::Core::Hashable
4585
4930
 
4586
- # Additional local inventory attributes, for example, store name, promotion tags,
4587
- # etc. This field needs to pass all below criteria, otherwise an
4931
+ # Optional. Additional local inventory attributes, for example, store name,
4932
+ # promotion tags, etc. This field needs to pass all below criteria, otherwise an
4588
4933
  # INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The
4589
4934
  # key must be a UTF-8 encoded string with a length limit of 32 characters. * The
4590
4935
  # key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or
@@ -4597,7 +4942,20 @@ module Google
4597
4942
  # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCustomAttribute>]
4598
4943
  attr_accessor :attributes
4599
4944
 
4600
- # Input only. Supported fulfillment types. Valid fulfillment type values include
4945
+ # Optional. The availability of the Product at this place_id. Default to
4946
+ # Availability.IN_STOCK. For primary products with variants set the availability
4947
+ # of the primary as Availability.OUT_OF_STOCK and set the true availability at
4948
+ # the variant level. This way the primary product will be considered "in stock"
4949
+ # as long as it has at least one variant in stock. For primary products with no
4950
+ # variants set the true availability at the primary level. Corresponding
4951
+ # properties: Google Merchant Center property [availability](https://support.
4952
+ # google.com/merchants/answer/6324448). Schema.org property [Offer.availability](
4953
+ # https://schema.org/availability).
4954
+ # Corresponds to the JSON property `availability`
4955
+ # @return [String]
4956
+ attr_accessor :availability
4957
+
4958
+ # Optional. Supported fulfillment types. Valid fulfillment type values include
4601
4959
  # commonly used types (such as pickup in store and same day delivery), and
4602
4960
  # custom types. Customers have to map custom types to their display names before
4603
4961
  # rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-
@@ -4609,7 +4967,7 @@ module Google
4609
4967
  # @return [Array<String>]
4610
4968
  attr_accessor :fulfillment_types
4611
4969
 
4612
- # The place ID for the current set of inventory information.
4970
+ # Required. The place ID for the current set of inventory information.
4613
4971
  # Corresponds to the JSON property `placeId`
4614
4972
  # @return [String]
4615
4973
  attr_accessor :place_id
@@ -4626,6 +4984,7 @@ module Google
4626
4984
  # Update properties of this object
4627
4985
  def update!(**args)
4628
4986
  @attributes = args[:attributes] if args.key?(:attributes)
4987
+ @availability = args[:availability] if args.key?(:availability)
4629
4988
  @fulfillment_types = args[:fulfillment_types] if args.key?(:fulfillment_types)
4630
4989
  @place_id = args[:place_id] if args.key?(:place_id)
4631
4990
  @price_info = args[:price_info] if args.key?(:price_info)
@@ -5074,6 +5433,52 @@ module Google
5074
5433
  end
5075
5434
  end
5076
5435
 
5436
+ # Metadata for pinning to be returned in the response. This is used for
5437
+ # distinguishing between applied vs dropped pins.
5438
+ class GoogleCloudRetailV2betaPinControlMetadata
5439
+ include Google::Apis::Core::Hashable
5440
+
5441
+ # Map of all matched pins, keyed by pin position.
5442
+ # Corresponds to the JSON property `allMatchedPins`
5443
+ # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPinControlMetadataProductPins>]
5444
+ attr_accessor :all_matched_pins
5445
+
5446
+ # Map of pins that were dropped due to overlap with other matching pins, keyed
5447
+ # by pin position.
5448
+ # Corresponds to the JSON property `droppedPins`
5449
+ # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPinControlMetadataProductPins>]
5450
+ attr_accessor :dropped_pins
5451
+
5452
+ def initialize(**args)
5453
+ update!(**args)
5454
+ end
5455
+
5456
+ # Update properties of this object
5457
+ def update!(**args)
5458
+ @all_matched_pins = args[:all_matched_pins] if args.key?(:all_matched_pins)
5459
+ @dropped_pins = args[:dropped_pins] if args.key?(:dropped_pins)
5460
+ end
5461
+ end
5462
+
5463
+ # List of product ids which have associated pins.
5464
+ class GoogleCloudRetailV2betaPinControlMetadataProductPins
5465
+ include Google::Apis::Core::Hashable
5466
+
5467
+ # List of product ids which have associated pins.
5468
+ # Corresponds to the JSON property `productId`
5469
+ # @return [Array<String>]
5470
+ attr_accessor :product_id
5471
+
5472
+ def initialize(**args)
5473
+ update!(**args)
5474
+ end
5475
+
5476
+ # Update properties of this object
5477
+ def update!(**args)
5478
+ @product_id = args[:product_id] if args.key?(:product_id)
5479
+ end
5480
+ end
5481
+
5077
5482
  # Request message for Predict method.
5078
5483
  class GoogleCloudRetailV2betaPredictRequest
5079
5484
  include Google::Apis::Core::Hashable
@@ -5385,10 +5790,15 @@ module Google
5385
5790
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaAudience]
5386
5791
  attr_accessor :audience
5387
5792
 
5388
- # The online availability of the Product. Default to Availability.IN_STOCK.
5389
- # Corresponding properties: Google Merchant Center property [availability](https:
5390
- # //support.google.com/merchants/answer/6324448). Schema.org property [Offer.
5391
- # availability](https://schema.org/availability).
5793
+ # The online availability of the Product. Default to Availability.IN_STOCK. For
5794
+ # primary products with variants set the availability of the primary as
5795
+ # Availability.OUT_OF_STOCK and set the true availability at the variant level.
5796
+ # This way the primary product will be considered "in stock" as long as it has
5797
+ # at least one variant in stock. For primary products with no variants set the
5798
+ # true availability at the primary level. Corresponding properties: Google
5799
+ # Merchant Center property [availability](https://support.google.com/merchants/
5800
+ # answer/6324448). Schema.org property [Offer.availability](https://schema.org/
5801
+ # availability).
5392
5802
  # Corresponds to the JSON property `availability`
5393
5803
  # @return [String]
5394
5804
  attr_accessor :availability
@@ -5616,10 +6026,9 @@ module Google
5616
6026
  # attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION,
5617
6027
  # the following fields are always returned in SearchResponse by default: * name
5618
6028
  # For Type.VARIANT, the following fields are always returned in by default: *
5619
- # name * color_info The maximum number of paths is 30. Otherwise, an
5620
- # INVALID_ARGUMENT error is returned. Note: Returning more fields in
5621
- # SearchResponse can increase response payload size and serving latency. This
5622
- # field is deprecated. Use the retrievable site-wide control instead.
6029
+ # name * color_info Note: Returning more fields in SearchResponse can increase
6030
+ # response payload size and serving latency. This field is deprecated. Use the
6031
+ # retrievable site-wide control instead.
5623
6032
  # Corresponds to the JSON property `retrievableFields`
5624
6033
  # @return [String]
5625
6034
  attr_accessor :retrievable_fields
@@ -5744,6 +6153,58 @@ module Google
5744
6153
  end
5745
6154
  end
5746
6155
 
6156
+ # Product attribute name and numeric interval.
6157
+ class GoogleCloudRetailV2betaProductAttributeInterval
6158
+ include Google::Apis::Core::Hashable
6159
+
6160
+ # A floating point interval.
6161
+ # Corresponds to the JSON property `interval`
6162
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaInterval]
6163
+ attr_accessor :interval
6164
+
6165
+ # The attribute name (e.g. "length")
6166
+ # Corresponds to the JSON property `name`
6167
+ # @return [String]
6168
+ attr_accessor :name
6169
+
6170
+ def initialize(**args)
6171
+ update!(**args)
6172
+ end
6173
+
6174
+ # Update properties of this object
6175
+ def update!(**args)
6176
+ @interval = args[:interval] if args.key?(:interval)
6177
+ @name = args[:name] if args.key?(:name)
6178
+ end
6179
+ end
6180
+
6181
+ # Product attribute which structured by an attribute name and value. This
6182
+ # structure is used in conversational search filters and answers. For example,
6183
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
6184
+ class GoogleCloudRetailV2betaProductAttributeValue
6185
+ include Google::Apis::Core::Hashable
6186
+
6187
+ # The attribute name.
6188
+ # Corresponds to the JSON property `name`
6189
+ # @return [String]
6190
+ attr_accessor :name
6191
+
6192
+ # The attribute value.
6193
+ # Corresponds to the JSON property `value`
6194
+ # @return [String]
6195
+ attr_accessor :value
6196
+
6197
+ def initialize(**args)
6198
+ update!(**args)
6199
+ end
6200
+
6201
+ # Update properties of this object
6202
+ def update!(**args)
6203
+ @name = args[:name] if args.key?(:name)
6204
+ @value = args[:value] if args.key?(:value)
6205
+ end
6206
+ end
6207
+
5747
6208
  # Detailed product information associated with a user event.
5748
6209
  class GoogleCloudRetailV2betaProductDetail
5749
6210
  include Google::Apis::Core::Hashable
@@ -6685,7 +7146,7 @@ module Google
6685
7146
  include Google::Apis::Core::Hashable
6686
7147
 
6687
7148
  # Each instance corresponds to a force return attribute for the given condition.
6688
- # There can't be more 3 instances here.
7149
+ # There can't be more 15 instances here.
6689
7150
  # Corresponds to the JSON property `facetPositionAdjustments`
6690
7151
  # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaRuleForceReturnFacetActionFacetPositionAdjustment>]
6691
7152
  attr_accessor :facet_position_adjustments
@@ -6917,6 +7378,12 @@ module Google
6917
7378
  # @return [String]
6918
7379
  attr_accessor :canonical_filter
6919
7380
 
7381
+ # This field specifies all conversational related parameters addition to
7382
+ # traditional retail search.
7383
+ # Corresponds to the JSON property `conversationalSearchSpec`
7384
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestConversationalSearchSpec]
7385
+ attr_accessor :conversational_search_spec
7386
+
6920
7387
  # The specifications of dynamically generated facets.
6921
7388
  # Corresponds to the JSON property `dynamicFacetSpec`
6922
7389
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestDynamicFacetSpec]
@@ -7033,6 +7500,11 @@ module Google
7033
7500
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestSpellCorrectionSpec]
7034
7501
  attr_accessor :spell_correction_spec
7035
7502
 
7503
+ # This field specifies tile navigation related parameters.
7504
+ # Corresponds to the JSON property `tileNavigationSpec`
7505
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestTileNavigationSpec]
7506
+ attr_accessor :tile_navigation_spec
7507
+
7036
7508
  # Information of an end user.
7037
7509
  # Corresponds to the JSON property `userInfo`
7038
7510
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaUserInfo]
@@ -7087,6 +7559,7 @@ module Google
7087
7559
  @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
7088
7560
  @branch = args[:branch] if args.key?(:branch)
7089
7561
  @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
7562
+ @conversational_search_spec = args[:conversational_search_spec] if args.key?(:conversational_search_spec)
7090
7563
  @dynamic_facet_spec = args[:dynamic_facet_spec] if args.key?(:dynamic_facet_spec)
7091
7564
  @entity = args[:entity] if args.key?(:entity)
7092
7565
  @facet_specs = args[:facet_specs] if args.key?(:facet_specs)
@@ -7102,6 +7575,7 @@ module Google
7102
7575
  @query_expansion_spec = args[:query_expansion_spec] if args.key?(:query_expansion_spec)
7103
7576
  @search_mode = args[:search_mode] if args.key?(:search_mode)
7104
7577
  @spell_correction_spec = args[:spell_correction_spec] if args.key?(:spell_correction_spec)
7578
+ @tile_navigation_spec = args[:tile_navigation_spec] if args.key?(:tile_navigation_spec)
7105
7579
  @user_info = args[:user_info] if args.key?(:user_info)
7106
7580
  @variant_rollup_keys = args[:variant_rollup_keys] if args.key?(:variant_rollup_keys)
7107
7581
  @visitor_id = args[:visitor_id] if args.key?(:visitor_id)
@@ -7177,6 +7651,102 @@ module Google
7177
7651
  end
7178
7652
  end
7179
7653
 
7654
+ # This field specifies all conversational related parameters addition to
7655
+ # traditional retail search.
7656
+ class GoogleCloudRetailV2betaSearchRequestConversationalSearchSpec
7657
+ include Google::Apis::Core::Hashable
7658
+
7659
+ # This field specifies the conversation id, which maintains the state of the
7660
+ # conversation between client side and server side. Use the value from the
7661
+ # previous ConversationalSearchResult.conversation_id. For the initial request,
7662
+ # this should be empty.
7663
+ # Corresponds to the JSON property `conversationId`
7664
+ # @return [String]
7665
+ attr_accessor :conversation_id
7666
+
7667
+ # This field specifies whether the customer would like to do conversational
7668
+ # search. If this field is set to true, conversational related extra information
7669
+ # will be returned from server side, including follow-up question, answer
7670
+ # options, etc.
7671
+ # Corresponds to the JSON property `followupConversationRequested`
7672
+ # @return [Boolean]
7673
+ attr_accessor :followup_conversation_requested
7674
+ alias_method :followup_conversation_requested?, :followup_conversation_requested
7675
+
7676
+ # This field specifies the current user answer during the conversational search.
7677
+ # This can be either user selected from suggested answers or user input plain
7678
+ # text.
7679
+ # Corresponds to the JSON property `userAnswer`
7680
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestConversationalSearchSpecUserAnswer]
7681
+ attr_accessor :user_answer
7682
+
7683
+ def initialize(**args)
7684
+ update!(**args)
7685
+ end
7686
+
7687
+ # Update properties of this object
7688
+ def update!(**args)
7689
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
7690
+ @followup_conversation_requested = args[:followup_conversation_requested] if args.key?(:followup_conversation_requested)
7691
+ @user_answer = args[:user_answer] if args.key?(:user_answer)
7692
+ end
7693
+ end
7694
+
7695
+ # This field specifies the current user answer during the conversational search.
7696
+ # This can be either user selected from suggested answers or user input plain
7697
+ # text.
7698
+ class GoogleCloudRetailV2betaSearchRequestConversationalSearchSpecUserAnswer
7699
+ include Google::Apis::Core::Hashable
7700
+
7701
+ # This field specifies the selected answers during the conversational search.
7702
+ # Corresponds to the JSON property `selectedAnswer`
7703
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestConversationalSearchSpecUserAnswerSelectedAnswer]
7704
+ attr_accessor :selected_answer
7705
+
7706
+ # This field specifies the incremental input text from the user during the
7707
+ # conversational search.
7708
+ # Corresponds to the JSON property `textAnswer`
7709
+ # @return [String]
7710
+ attr_accessor :text_answer
7711
+
7712
+ def initialize(**args)
7713
+ update!(**args)
7714
+ end
7715
+
7716
+ # Update properties of this object
7717
+ def update!(**args)
7718
+ @selected_answer = args[:selected_answer] if args.key?(:selected_answer)
7719
+ @text_answer = args[:text_answer] if args.key?(:text_answer)
7720
+ end
7721
+ end
7722
+
7723
+ # This field specifies the selected answers during the conversational search.
7724
+ class GoogleCloudRetailV2betaSearchRequestConversationalSearchSpecUserAnswerSelectedAnswer
7725
+ include Google::Apis::Core::Hashable
7726
+
7727
+ # Product attribute which structured by an attribute name and value. This
7728
+ # structure is used in conversational search filters and answers. For example,
7729
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
7730
+ # Corresponds to the JSON property `productAttributeValue`
7731
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeValue]
7732
+ attr_accessor :product_attribute_value
7733
+
7734
+ # This field is deprecated and should not be set.
7735
+ # Corresponds to the JSON property `productAttributeValues`
7736
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeValue>]
7737
+ attr_accessor :product_attribute_values
7738
+
7739
+ def initialize(**args)
7740
+ update!(**args)
7741
+ end
7742
+
7743
+ # Update properties of this object
7744
+ def update!(**args)
7745
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
7746
+ @product_attribute_values = args[:product_attribute_values] if args.key?(:product_attribute_values)
7747
+ end
7748
+ end
7749
+
7180
7750
  # The specifications of dynamically generated facets.
7181
7751
  class GoogleCloudRetailV2betaSearchRequestDynamicFacetSpec
7182
7752
  include Google::Apis::Core::Hashable
@@ -7455,6 +8025,35 @@ module Google
7455
8025
  end
7456
8026
  end
7457
8027
 
8028
+ # This field specifies tile navigation related parameters.
8029
+ class GoogleCloudRetailV2betaSearchRequestTileNavigationSpec
8030
+ include Google::Apis::Core::Hashable
8031
+
8032
+ # This field specifies the tiles which are already clicked in client side. NOTE:
8033
+ # This field is not being used for filtering search products. Client side should
8034
+ # also put all the applied tiles in SearchRequest.filter.
8035
+ # Corresponds to the JSON property `appliedTiles`
8036
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaTile>]
8037
+ attr_accessor :applied_tiles
8038
+
8039
+ # This field specifies whether the customer would like to request tile
8040
+ # navigation.
8041
+ # Corresponds to the JSON property `tileNavigationRequested`
8042
+ # @return [Boolean]
8043
+ attr_accessor :tile_navigation_requested
8044
+ alias_method :tile_navigation_requested?, :tile_navigation_requested
8045
+
8046
+ def initialize(**args)
8047
+ update!(**args)
8048
+ end
8049
+
8050
+ # Update properties of this object
8051
+ def update!(**args)
8052
+ @applied_tiles = args[:applied_tiles] if args.key?(:applied_tiles)
8053
+ @tile_navigation_requested = args[:tile_navigation_requested] if args.key?(:tile_navigation_requested)
8054
+ end
8055
+ end
8056
+
7458
8057
  # Response message for SearchService.Search method.
7459
8058
  class GoogleCloudRetailV2betaSearchResponse
7460
8059
  include Google::Apis::Core::Hashable
@@ -7472,6 +8071,12 @@ module Google
7472
8071
  # @return [String]
7473
8072
  attr_accessor :attribution_token
7474
8073
 
8074
+ # This field specifies all related information that is needed on client side for
8075
+ # UI rendering of conversational retail search.
8076
+ # Corresponds to the JSON property `conversationalSearchResult`
8077
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseConversationalSearchResult]
8078
+ attr_accessor :conversational_search_result
8079
+
7475
8080
  # Contains the spell corrected query, if found. If the spell correction type is
7476
8081
  # AUTOMATIC, then the search results are based on corrected_query. Otherwise the
7477
8082
  # original query is used for search.
@@ -7479,7 +8084,7 @@ module Google
7479
8084
  # @return [String]
7480
8085
  attr_accessor :corrected_query
7481
8086
 
7482
- # Metadata related to A/B testing Experiment associated with this response. Only
8087
+ # Metadata related to A/B testing experiment associated with this response. Only
7483
8088
  # exists when an experiment is triggered.
7484
8089
  # Corresponds to the JSON property `experimentInfo`
7485
8090
  # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaExperimentInfo>]
@@ -7502,6 +8107,12 @@ module Google
7502
8107
  # @return [String]
7503
8108
  attr_accessor :next_page_token
7504
8109
 
8110
+ # Metadata for pinning to be returned in the response. This is used for
8111
+ # distinguishing between applied vs dropped pins.
8112
+ # Corresponds to the JSON property `pinControlMetadata`
8113
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPinControlMetadata]
8114
+ attr_accessor :pin_control_metadata
8115
+
7505
8116
  # Information describing query expansion including whether expansion has
7506
8117
  # occurred.
7507
8118
  # Corresponds to the JSON property `queryExpansionInfo`
@@ -7520,6 +8131,12 @@ module Google
7520
8131
  # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseSearchResult>]
7521
8132
  attr_accessor :results
7522
8133
 
8134
+ # This field specifies all related information for tile navigation that will be
8135
+ # used in client side.
8136
+ # Corresponds to the JSON property `tileNavigationResult`
8137
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseTileNavigationResult]
8138
+ attr_accessor :tile_navigation_result
8139
+
7523
8140
  # The estimated total count of matched items irrespective of pagination. The
7524
8141
  # count of results returned by pagination may be less than the total_size that
7525
8142
  # matches.
@@ -7535,18 +8152,123 @@ module Google
7535
8152
  def update!(**args)
7536
8153
  @applied_controls = args[:applied_controls] if args.key?(:applied_controls)
7537
8154
  @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
8155
+ @conversational_search_result = args[:conversational_search_result] if args.key?(:conversational_search_result)
7538
8156
  @corrected_query = args[:corrected_query] if args.key?(:corrected_query)
7539
8157
  @experiment_info = args[:experiment_info] if args.key?(:experiment_info)
7540
8158
  @facets = args[:facets] if args.key?(:facets)
7541
8159
  @invalid_condition_boost_specs = args[:invalid_condition_boost_specs] if args.key?(:invalid_condition_boost_specs)
7542
8160
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
8161
+ @pin_control_metadata = args[:pin_control_metadata] if args.key?(:pin_control_metadata)
7543
8162
  @query_expansion_info = args[:query_expansion_info] if args.key?(:query_expansion_info)
7544
8163
  @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
7545
8164
  @results = args[:results] if args.key?(:results)
8165
+ @tile_navigation_result = args[:tile_navigation_result] if args.key?(:tile_navigation_result)
7546
8166
  @total_size = args[:total_size] if args.key?(:total_size)
7547
8167
  end
7548
8168
  end
7549
8169
 
8170
+ # This field specifies all related information that is needed on client side for
8171
+ # UI rendering of conversational retail search.
8172
+ class GoogleCloudRetailV2betaSearchResponseConversationalSearchResult
8173
+ include Google::Apis::Core::Hashable
8174
+
8175
+ # Additional filter that client side need to apply.
8176
+ # Corresponds to the JSON property `additionalFilter`
8177
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseConversationalSearchResultAdditionalFilter]
8178
+ attr_accessor :additional_filter
8179
+
8180
+ # This field is deprecated but will be kept for backward compatibility. There is
8181
+ # expected to have only one additional filter and the value will be the same to
8182
+ # the same as field `additional_filter`.
8183
+ # Corresponds to the JSON property `additionalFilters`
8184
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseConversationalSearchResultAdditionalFilter>]
8185
+ attr_accessor :additional_filters
8186
+
8187
+ # Conversation UUID. This field will be stored in client side storage to
8188
+ # maintain the conversation session with server and will be used for next search
8189
+ # request's SearchRequest.ConversationalSearchSpec.conversation_id to restore
8190
+ # conversation state in server.
8191
+ # Corresponds to the JSON property `conversationId`
8192
+ # @return [String]
8193
+ attr_accessor :conversation_id
8194
+
8195
+ # The follow-up question. e.g., `What is the color?`
8196
+ # Corresponds to the JSON property `followupQuestion`
8197
+ # @return [String]
8198
+ attr_accessor :followup_question
8199
+
8200
+ # The current refined query for the conversational search. This field will be
8201
+ # used in customer UI that the query in the search bar should be replaced with
8202
+ # the refined query. For example, if SearchRequest.query is `dress` and next
8203
+ # SearchRequest.ConversationalSearchSpec.UserAnswer.text_answer is `red color`,
8204
+ # which does not match any product attribute value filters, the refined query
8205
+ # will be `dress, red color`.
8206
+ # Corresponds to the JSON property `refinedQuery`
8207
+ # @return [String]
8208
+ attr_accessor :refined_query
8209
+
8210
+ # The answer options provided to client for the follow-up question.
8211
+ # Corresponds to the JSON property `suggestedAnswers`
8212
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseConversationalSearchResultSuggestedAnswer>]
8213
+ attr_accessor :suggested_answers
8214
+
8215
+ def initialize(**args)
8216
+ update!(**args)
8217
+ end
8218
+
8219
+ # Update properties of this object
8220
+ def update!(**args)
8221
+ @additional_filter = args[:additional_filter] if args.key?(:additional_filter)
8222
+ @additional_filters = args[:additional_filters] if args.key?(:additional_filters)
8223
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
8224
+ @followup_question = args[:followup_question] if args.key?(:followup_question)
8225
+ @refined_query = args[:refined_query] if args.key?(:refined_query)
8226
+ @suggested_answers = args[:suggested_answers] if args.key?(:suggested_answers)
8227
+ end
8228
+ end
8229
+
8230
+ # Additional filter that client side need to apply.
8231
+ class GoogleCloudRetailV2betaSearchResponseConversationalSearchResultAdditionalFilter
8232
+ include Google::Apis::Core::Hashable
8233
+
8234
+ # Product attribute which structured by an attribute name and value. This
8235
+ # structure is used in conversational search filters and answers. For example,
8236
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
8237
+ # Corresponds to the JSON property `productAttributeValue`
8238
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeValue]
8239
+ attr_accessor :product_attribute_value
8240
+
8241
+ def initialize(**args)
8242
+ update!(**args)
8243
+ end
8244
+
8245
+ # Update properties of this object
8246
+ def update!(**args)
8247
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
8248
+ end
8249
+ end
8250
+
8251
+ # Suggested answers to the follow-up question.
8252
+ class GoogleCloudRetailV2betaSearchResponseConversationalSearchResultSuggestedAnswer
8253
+ include Google::Apis::Core::Hashable
8254
+
8255
+ # Product attribute which structured by an attribute name and value. This
8256
+ # structure is used in conversational search filters and answers. For example,
8257
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
8258
+ # Corresponds to the JSON property `productAttributeValue`
8259
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeValue]
8260
+ attr_accessor :product_attribute_value
8261
+
8262
+ def initialize(**args)
8263
+ update!(**args)
8264
+ end
8265
+
8266
+ # Update properties of this object
8267
+ def update!(**args)
8268
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
8269
+ end
8270
+ end
8271
+
7550
8272
  # A facet result.
7551
8273
  class GoogleCloudRetailV2betaSearchResponseFacet
7552
8274
  include Google::Apis::Core::Hashable
@@ -7722,6 +8444,26 @@ module Google
7722
8444
  end
7723
8445
  end
7724
8446
 
8447
+ # This field specifies all related information for tile navigation that will be
8448
+ # used in client side.
8449
+ class GoogleCloudRetailV2betaSearchResponseTileNavigationResult
8450
+ include Google::Apis::Core::Hashable
8451
+
8452
+ # The current tiles that are used for tile navigation, sorted by engagement.
8453
+ # Corresponds to the JSON property `tiles`
8454
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaTile>]
8455
+ attr_accessor :tiles
8456
+
8457
+ def initialize(**args)
8458
+ update!(**args)
8459
+ end
8460
+
8461
+ # Update properties of this object
8462
+ def update!(**args)
8463
+ @tiles = args[:tiles] if args.key?(:tiles)
8464
+ end
8465
+ end
8466
+
7725
8467
  # Configures metadata that is used to generate serving time results (e.g. search
7726
8468
  # results or recommendation predictions).
7727
8469
  class GoogleCloudRetailV2betaServingConfig
@@ -8032,6 +8774,41 @@ module Google
8032
8774
  end
8033
8775
  end
8034
8776
 
8777
+ # This field specifies the tile information including an attribute key,
8778
+ # attribute value. More fields will be added in the future, eg: product id or
8779
+ # product counts, etc.
8780
+ class GoogleCloudRetailV2betaTile
8781
+ include Google::Apis::Core::Hashable
8782
+
8783
+ # Product attribute name and numeric interval.
8784
+ # Corresponds to the JSON property `productAttributeInterval`
8785
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeInterval]
8786
+ attr_accessor :product_attribute_interval
8787
+
8788
+ # Product attribute which structured by an attribute name and value. This
8789
+ # structure is used in conversational search filters and answers. For example,
8790
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
8791
+ # Corresponds to the JSON property `productAttributeValue`
8792
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeValue]
8793
+ attr_accessor :product_attribute_value
8794
+
8795
+ # The representative product id for this tile.
8796
+ # Corresponds to the JSON property `representativeProductId`
8797
+ # @return [String]
8798
+ attr_accessor :representative_product_id
8799
+
8800
+ def initialize(**args)
8801
+ update!(**args)
8802
+ end
8803
+
8804
+ # Update properties of this object
8805
+ def update!(**args)
8806
+ @product_attribute_interval = args[:product_attribute_interval] if args.key?(:product_attribute_interval)
8807
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
8808
+ @representative_product_id = args[:representative_product_id] if args.key?(:representative_product_id)
8809
+ end
8810
+ end
8811
+
8035
8812
  # Metadata associated with a tune operation.
8036
8813
  class GoogleCloudRetailV2betaTuneModelMetadata
8037
8814
  include Google::Apis::Core::Hashable
@@ -8080,6 +8857,33 @@ module Google
8080
8857
  end
8081
8858
  end
8082
8859
 
8860
+ # Request for UpdateGenerativeQuestionConfig method.
8861
+ class GoogleCloudRetailV2betaUpdateGenerativeQuestionConfigRequest
8862
+ include Google::Apis::Core::Hashable
8863
+
8864
+ # Configuration for a single generated question.
8865
+ # Corresponds to the JSON property `generativeQuestionConfig`
8866
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaGenerativeQuestionConfig]
8867
+ attr_accessor :generative_question_config
8868
+
8869
+ # Optional. Indicates which fields in the provided GenerativeQuestionConfig to
8870
+ # update. The following are NOT supported: * GenerativeQuestionConfig.frequency
8871
+ # If not set or empty, all supported fields are updated.
8872
+ # Corresponds to the JSON property `updateMask`
8873
+ # @return [String]
8874
+ attr_accessor :update_mask
8875
+
8876
+ def initialize(**args)
8877
+ update!(**args)
8878
+ end
8879
+
8880
+ # Update properties of this object
8881
+ def update!(**args)
8882
+ @generative_question_config = args[:generative_question_config] if args.key?(:generative_question_config)
8883
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
8884
+ end
8885
+ end
8886
+
8083
8887
  # UserEvent captures all metadata information Retail API needs to know about how
8084
8888
  # end users interact with customers' website.
8085
8889
  class GoogleCloudRetailV2betaUserEvent
@@ -8419,12 +9223,11 @@ module Google
8419
9223
  # @return [String]
8420
9224
  attr_accessor :ip_address
8421
9225
 
8422
- # User agent as included in the HTTP header. Required for getting SearchResponse.
8423
- # sponsored_results. The field must be a UTF-8 encoded string with a length
8424
- # limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
8425
- # This should not be set when using the client side event reporting with GTM or
8426
- # JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request
8427
- # is set.
9226
+ # User agent as included in the HTTP header. The field must be a UTF-8 encoded
9227
+ # string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT
9228
+ # error is returned. This should not be set when using the client side event
9229
+ # reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or
9230
+ # if direct_user_request is set.
8428
9231
  # Corresponds to the JSON property `userAgent`
8429
9232
  # @return [String]
8430
9233
  attr_accessor :user_agent