google-apis-retail_v2beta 0.99.0 → 0.100.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
@@ -4503,6 +4828,25 @@ module Google
4503
4828
  end
4504
4829
  end
4505
4830
 
4831
+ # Response for ListQuestions method.
4832
+ class GoogleCloudRetailV2betaListGenerativeQuestionConfigsResponse
4833
+ include Google::Apis::Core::Hashable
4834
+
4835
+ # All the questions for a given catalog.
4836
+ # Corresponds to the JSON property `generativeQuestionConfigs`
4837
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaGenerativeQuestionConfig>]
4838
+ attr_accessor :generative_question_configs
4839
+
4840
+ def initialize(**args)
4841
+ update!(**args)
4842
+ end
4843
+
4844
+ # Update properties of this object
4845
+ def update!(**args)
4846
+ @generative_question_configs = args[:generative_question_configs] if args.key?(:generative_question_configs)
4847
+ end
4848
+ end
4849
+
4506
4850
  # Response to a ListModelRequest.
4507
4851
  class GoogleCloudRetailV2betaListModelsResponse
4508
4852
  include Google::Apis::Core::Hashable
@@ -4583,8 +4927,8 @@ module Google
4583
4927
  class GoogleCloudRetailV2betaLocalInventory
4584
4928
  include Google::Apis::Core::Hashable
4585
4929
 
4586
- # Additional local inventory attributes, for example, store name, promotion tags,
4587
- # etc. This field needs to pass all below criteria, otherwise an
4930
+ # Optional. Additional local inventory attributes, for example, store name,
4931
+ # promotion tags, etc. This field needs to pass all below criteria, otherwise an
4588
4932
  # INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The
4589
4933
  # key must be a UTF-8 encoded string with a length limit of 32 characters. * The
4590
4934
  # key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or
@@ -4597,7 +4941,20 @@ module Google
4597
4941
  # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCustomAttribute>]
4598
4942
  attr_accessor :attributes
4599
4943
 
4600
- # Input only. Supported fulfillment types. Valid fulfillment type values include
4944
+ # Optional. The availability of the Product at this place_id. Default to
4945
+ # Availability.IN_STOCK. For primary products with variants set the availability
4946
+ # of the primary as Availability.OUT_OF_STOCK and set the true availability at
4947
+ # the variant level. This way the primary product will be considered "in stock"
4948
+ # as long as it has at least one variant in stock. For primary products with no
4949
+ # variants set the true availability at the primary level. Corresponding
4950
+ # properties: Google Merchant Center property [availability](https://support.
4951
+ # google.com/merchants/answer/6324448). Schema.org property [Offer.availability](
4952
+ # https://schema.org/availability).
4953
+ # Corresponds to the JSON property `availability`
4954
+ # @return [String]
4955
+ attr_accessor :availability
4956
+
4957
+ # Optional. Supported fulfillment types. Valid fulfillment type values include
4601
4958
  # commonly used types (such as pickup in store and same day delivery), and
4602
4959
  # custom types. Customers have to map custom types to their display names before
4603
4960
  # rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-
@@ -4609,7 +4966,7 @@ module Google
4609
4966
  # @return [Array<String>]
4610
4967
  attr_accessor :fulfillment_types
4611
4968
 
4612
- # The place ID for the current set of inventory information.
4969
+ # Required. The place ID for the current set of inventory information.
4613
4970
  # Corresponds to the JSON property `placeId`
4614
4971
  # @return [String]
4615
4972
  attr_accessor :place_id
@@ -4626,6 +4983,7 @@ module Google
4626
4983
  # Update properties of this object
4627
4984
  def update!(**args)
4628
4985
  @attributes = args[:attributes] if args.key?(:attributes)
4986
+ @availability = args[:availability] if args.key?(:availability)
4629
4987
  @fulfillment_types = args[:fulfillment_types] if args.key?(:fulfillment_types)
4630
4988
  @place_id = args[:place_id] if args.key?(:place_id)
4631
4989
  @price_info = args[:price_info] if args.key?(:price_info)
@@ -5074,6 +5432,52 @@ module Google
5074
5432
  end
5075
5433
  end
5076
5434
 
5435
+ # Metadata for pinning to be returned in the response. This is used for
5436
+ # distinguishing between applied vs dropped pins.
5437
+ class GoogleCloudRetailV2betaPinControlMetadata
5438
+ include Google::Apis::Core::Hashable
5439
+
5440
+ # Map of all matched pins, keyed by pin position.
5441
+ # Corresponds to the JSON property `allMatchedPins`
5442
+ # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPinControlMetadataProductPins>]
5443
+ attr_accessor :all_matched_pins
5444
+
5445
+ # Map of pins that were dropped due to overlap with other matching pins, keyed
5446
+ # by pin position.
5447
+ # Corresponds to the JSON property `droppedPins`
5448
+ # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPinControlMetadataProductPins>]
5449
+ attr_accessor :dropped_pins
5450
+
5451
+ def initialize(**args)
5452
+ update!(**args)
5453
+ end
5454
+
5455
+ # Update properties of this object
5456
+ def update!(**args)
5457
+ @all_matched_pins = args[:all_matched_pins] if args.key?(:all_matched_pins)
5458
+ @dropped_pins = args[:dropped_pins] if args.key?(:dropped_pins)
5459
+ end
5460
+ end
5461
+
5462
+ # List of product ids which have associated pins.
5463
+ class GoogleCloudRetailV2betaPinControlMetadataProductPins
5464
+ include Google::Apis::Core::Hashable
5465
+
5466
+ # List of product ids which have associated pins.
5467
+ # Corresponds to the JSON property `productId`
5468
+ # @return [Array<String>]
5469
+ attr_accessor :product_id
5470
+
5471
+ def initialize(**args)
5472
+ update!(**args)
5473
+ end
5474
+
5475
+ # Update properties of this object
5476
+ def update!(**args)
5477
+ @product_id = args[:product_id] if args.key?(:product_id)
5478
+ end
5479
+ end
5480
+
5077
5481
  # Request message for Predict method.
5078
5482
  class GoogleCloudRetailV2betaPredictRequest
5079
5483
  include Google::Apis::Core::Hashable
@@ -5385,10 +5789,15 @@ module Google
5385
5789
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaAudience]
5386
5790
  attr_accessor :audience
5387
5791
 
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).
5792
+ # The online availability of the Product. Default to Availability.IN_STOCK. For
5793
+ # primary products with variants set the availability of the primary as
5794
+ # Availability.OUT_OF_STOCK and set the true availability at the variant level.
5795
+ # This way the primary product will be considered "in stock" as long as it has
5796
+ # at least one variant in stock. For primary products with no variants set the
5797
+ # true availability at the primary level. Corresponding properties: Google
5798
+ # Merchant Center property [availability](https://support.google.com/merchants/
5799
+ # answer/6324448). Schema.org property [Offer.availability](https://schema.org/
5800
+ # availability).
5392
5801
  # Corresponds to the JSON property `availability`
5393
5802
  # @return [String]
5394
5803
  attr_accessor :availability
@@ -5616,10 +6025,9 @@ module Google
5616
6025
  # attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION,
5617
6026
  # the following fields are always returned in SearchResponse by default: * name
5618
6027
  # 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.
6028
+ # name * color_info Note: Returning more fields in SearchResponse can increase
6029
+ # response payload size and serving latency. This field is deprecated. Use the
6030
+ # retrievable site-wide control instead.
5623
6031
  # Corresponds to the JSON property `retrievableFields`
5624
6032
  # @return [String]
5625
6033
  attr_accessor :retrievable_fields
@@ -5744,6 +6152,58 @@ module Google
5744
6152
  end
5745
6153
  end
5746
6154
 
6155
+ # Product attribute name and numeric interval.
6156
+ class GoogleCloudRetailV2betaProductAttributeInterval
6157
+ include Google::Apis::Core::Hashable
6158
+
6159
+ # A floating point interval.
6160
+ # Corresponds to the JSON property `interval`
6161
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaInterval]
6162
+ attr_accessor :interval
6163
+
6164
+ # The attribute name (e.g. "length")
6165
+ # Corresponds to the JSON property `name`
6166
+ # @return [String]
6167
+ attr_accessor :name
6168
+
6169
+ def initialize(**args)
6170
+ update!(**args)
6171
+ end
6172
+
6173
+ # Update properties of this object
6174
+ def update!(**args)
6175
+ @interval = args[:interval] if args.key?(:interval)
6176
+ @name = args[:name] if args.key?(:name)
6177
+ end
6178
+ end
6179
+
6180
+ # Product attribute which structured by an attribute name and value. This
6181
+ # structure is used in conversational search filters and answers. For example,
6182
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
6183
+ class GoogleCloudRetailV2betaProductAttributeValue
6184
+ include Google::Apis::Core::Hashable
6185
+
6186
+ # The attribute name.
6187
+ # Corresponds to the JSON property `name`
6188
+ # @return [String]
6189
+ attr_accessor :name
6190
+
6191
+ # The attribute value.
6192
+ # Corresponds to the JSON property `value`
6193
+ # @return [String]
6194
+ attr_accessor :value
6195
+
6196
+ def initialize(**args)
6197
+ update!(**args)
6198
+ end
6199
+
6200
+ # Update properties of this object
6201
+ def update!(**args)
6202
+ @name = args[:name] if args.key?(:name)
6203
+ @value = args[:value] if args.key?(:value)
6204
+ end
6205
+ end
6206
+
5747
6207
  # Detailed product information associated with a user event.
5748
6208
  class GoogleCloudRetailV2betaProductDetail
5749
6209
  include Google::Apis::Core::Hashable
@@ -6685,7 +7145,7 @@ module Google
6685
7145
  include Google::Apis::Core::Hashable
6686
7146
 
6687
7147
  # Each instance corresponds to a force return attribute for the given condition.
6688
- # There can't be more 3 instances here.
7148
+ # There can't be more 15 instances here.
6689
7149
  # Corresponds to the JSON property `facetPositionAdjustments`
6690
7150
  # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaRuleForceReturnFacetActionFacetPositionAdjustment>]
6691
7151
  attr_accessor :facet_position_adjustments
@@ -6917,6 +7377,12 @@ module Google
6917
7377
  # @return [String]
6918
7378
  attr_accessor :canonical_filter
6919
7379
 
7380
+ # This field specifies all conversational related parameters addition to
7381
+ # traditional retail search.
7382
+ # Corresponds to the JSON property `conversationalSearchSpec`
7383
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestConversationalSearchSpec]
7384
+ attr_accessor :conversational_search_spec
7385
+
6920
7386
  # The specifications of dynamically generated facets.
6921
7387
  # Corresponds to the JSON property `dynamicFacetSpec`
6922
7388
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestDynamicFacetSpec]
@@ -7033,6 +7499,11 @@ module Google
7033
7499
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestSpellCorrectionSpec]
7034
7500
  attr_accessor :spell_correction_spec
7035
7501
 
7502
+ # This field specifies tile navigation related parameters.
7503
+ # Corresponds to the JSON property `tileNavigationSpec`
7504
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestTileNavigationSpec]
7505
+ attr_accessor :tile_navigation_spec
7506
+
7036
7507
  # Information of an end user.
7037
7508
  # Corresponds to the JSON property `userInfo`
7038
7509
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaUserInfo]
@@ -7087,6 +7558,7 @@ module Google
7087
7558
  @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
7088
7559
  @branch = args[:branch] if args.key?(:branch)
7089
7560
  @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
7561
+ @conversational_search_spec = args[:conversational_search_spec] if args.key?(:conversational_search_spec)
7090
7562
  @dynamic_facet_spec = args[:dynamic_facet_spec] if args.key?(:dynamic_facet_spec)
7091
7563
  @entity = args[:entity] if args.key?(:entity)
7092
7564
  @facet_specs = args[:facet_specs] if args.key?(:facet_specs)
@@ -7102,6 +7574,7 @@ module Google
7102
7574
  @query_expansion_spec = args[:query_expansion_spec] if args.key?(:query_expansion_spec)
7103
7575
  @search_mode = args[:search_mode] if args.key?(:search_mode)
7104
7576
  @spell_correction_spec = args[:spell_correction_spec] if args.key?(:spell_correction_spec)
7577
+ @tile_navigation_spec = args[:tile_navigation_spec] if args.key?(:tile_navigation_spec)
7105
7578
  @user_info = args[:user_info] if args.key?(:user_info)
7106
7579
  @variant_rollup_keys = args[:variant_rollup_keys] if args.key?(:variant_rollup_keys)
7107
7580
  @visitor_id = args[:visitor_id] if args.key?(:visitor_id)
@@ -7177,6 +7650,102 @@ module Google
7177
7650
  end
7178
7651
  end
7179
7652
 
7653
+ # This field specifies all conversational related parameters addition to
7654
+ # traditional retail search.
7655
+ class GoogleCloudRetailV2betaSearchRequestConversationalSearchSpec
7656
+ include Google::Apis::Core::Hashable
7657
+
7658
+ # This field specifies the conversation id, which maintains the state of the
7659
+ # conversation between client side and server side. Use the value from the
7660
+ # previous ConversationalSearchResult.conversation_id. For the initial request,
7661
+ # this should be empty.
7662
+ # Corresponds to the JSON property `conversationId`
7663
+ # @return [String]
7664
+ attr_accessor :conversation_id
7665
+
7666
+ # This field specifies whether the customer would like to do conversational
7667
+ # search. If this field is set to true, conversational related extra information
7668
+ # will be returned from server side, including follow-up question, answer
7669
+ # options, etc.
7670
+ # Corresponds to the JSON property `followupConversationRequested`
7671
+ # @return [Boolean]
7672
+ attr_accessor :followup_conversation_requested
7673
+ alias_method :followup_conversation_requested?, :followup_conversation_requested
7674
+
7675
+ # This field specifies the current user answer during the conversational search.
7676
+ # This can be either user selected from suggested answers or user input plain
7677
+ # text.
7678
+ # Corresponds to the JSON property `userAnswer`
7679
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestConversationalSearchSpecUserAnswer]
7680
+ attr_accessor :user_answer
7681
+
7682
+ def initialize(**args)
7683
+ update!(**args)
7684
+ end
7685
+
7686
+ # Update properties of this object
7687
+ def update!(**args)
7688
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
7689
+ @followup_conversation_requested = args[:followup_conversation_requested] if args.key?(:followup_conversation_requested)
7690
+ @user_answer = args[:user_answer] if args.key?(:user_answer)
7691
+ end
7692
+ end
7693
+
7694
+ # This field specifies the current user answer during the conversational search.
7695
+ # This can be either user selected from suggested answers or user input plain
7696
+ # text.
7697
+ class GoogleCloudRetailV2betaSearchRequestConversationalSearchSpecUserAnswer
7698
+ include Google::Apis::Core::Hashable
7699
+
7700
+ # This field specifies the selected answers during the conversational search.
7701
+ # Corresponds to the JSON property `selectedAnswer`
7702
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestConversationalSearchSpecUserAnswerSelectedAnswer]
7703
+ attr_accessor :selected_answer
7704
+
7705
+ # This field specifies the incremental input text from the user during the
7706
+ # conversational search.
7707
+ # Corresponds to the JSON property `textAnswer`
7708
+ # @return [String]
7709
+ attr_accessor :text_answer
7710
+
7711
+ def initialize(**args)
7712
+ update!(**args)
7713
+ end
7714
+
7715
+ # Update properties of this object
7716
+ def update!(**args)
7717
+ @selected_answer = args[:selected_answer] if args.key?(:selected_answer)
7718
+ @text_answer = args[:text_answer] if args.key?(:text_answer)
7719
+ end
7720
+ end
7721
+
7722
+ # This field specifies the selected answers during the conversational search.
7723
+ class GoogleCloudRetailV2betaSearchRequestConversationalSearchSpecUserAnswerSelectedAnswer
7724
+ include Google::Apis::Core::Hashable
7725
+
7726
+ # Product attribute which structured by an attribute name and value. This
7727
+ # structure is used in conversational search filters and answers. For example,
7728
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
7729
+ # Corresponds to the JSON property `productAttributeValue`
7730
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeValue]
7731
+ attr_accessor :product_attribute_value
7732
+
7733
+ # This field is deprecated and should not be set.
7734
+ # Corresponds to the JSON property `productAttributeValues`
7735
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeValue>]
7736
+ attr_accessor :product_attribute_values
7737
+
7738
+ def initialize(**args)
7739
+ update!(**args)
7740
+ end
7741
+
7742
+ # Update properties of this object
7743
+ def update!(**args)
7744
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
7745
+ @product_attribute_values = args[:product_attribute_values] if args.key?(:product_attribute_values)
7746
+ end
7747
+ end
7748
+
7180
7749
  # The specifications of dynamically generated facets.
7181
7750
  class GoogleCloudRetailV2betaSearchRequestDynamicFacetSpec
7182
7751
  include Google::Apis::Core::Hashable
@@ -7455,6 +8024,35 @@ module Google
7455
8024
  end
7456
8025
  end
7457
8026
 
8027
+ # This field specifies tile navigation related parameters.
8028
+ class GoogleCloudRetailV2betaSearchRequestTileNavigationSpec
8029
+ include Google::Apis::Core::Hashable
8030
+
8031
+ # This field specifies the tiles which are already clicked in client side. NOTE:
8032
+ # This field is not being used for filtering search products. Client side should
8033
+ # also put all the applied tiles in SearchRequest.filter.
8034
+ # Corresponds to the JSON property `appliedTiles`
8035
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaTile>]
8036
+ attr_accessor :applied_tiles
8037
+
8038
+ # This field specifies whether the customer would like to request tile
8039
+ # navigation.
8040
+ # Corresponds to the JSON property `tileNavigationRequested`
8041
+ # @return [Boolean]
8042
+ attr_accessor :tile_navigation_requested
8043
+ alias_method :tile_navigation_requested?, :tile_navigation_requested
8044
+
8045
+ def initialize(**args)
8046
+ update!(**args)
8047
+ end
8048
+
8049
+ # Update properties of this object
8050
+ def update!(**args)
8051
+ @applied_tiles = args[:applied_tiles] if args.key?(:applied_tiles)
8052
+ @tile_navigation_requested = args[:tile_navigation_requested] if args.key?(:tile_navigation_requested)
8053
+ end
8054
+ end
8055
+
7458
8056
  # Response message for SearchService.Search method.
7459
8057
  class GoogleCloudRetailV2betaSearchResponse
7460
8058
  include Google::Apis::Core::Hashable
@@ -7472,6 +8070,12 @@ module Google
7472
8070
  # @return [String]
7473
8071
  attr_accessor :attribution_token
7474
8072
 
8073
+ # This field specifies all related information that is needed on client side for
8074
+ # UI rendering of conversational retail search.
8075
+ # Corresponds to the JSON property `conversationalSearchResult`
8076
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseConversationalSearchResult]
8077
+ attr_accessor :conversational_search_result
8078
+
7475
8079
  # Contains the spell corrected query, if found. If the spell correction type is
7476
8080
  # AUTOMATIC, then the search results are based on corrected_query. Otherwise the
7477
8081
  # original query is used for search.
@@ -7479,7 +8083,7 @@ module Google
7479
8083
  # @return [String]
7480
8084
  attr_accessor :corrected_query
7481
8085
 
7482
- # Metadata related to A/B testing Experiment associated with this response. Only
8086
+ # Metadata related to A/B testing experiment associated with this response. Only
7483
8087
  # exists when an experiment is triggered.
7484
8088
  # Corresponds to the JSON property `experimentInfo`
7485
8089
  # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaExperimentInfo>]
@@ -7502,6 +8106,12 @@ module Google
7502
8106
  # @return [String]
7503
8107
  attr_accessor :next_page_token
7504
8108
 
8109
+ # Metadata for pinning to be returned in the response. This is used for
8110
+ # distinguishing between applied vs dropped pins.
8111
+ # Corresponds to the JSON property `pinControlMetadata`
8112
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPinControlMetadata]
8113
+ attr_accessor :pin_control_metadata
8114
+
7505
8115
  # Information describing query expansion including whether expansion has
7506
8116
  # occurred.
7507
8117
  # Corresponds to the JSON property `queryExpansionInfo`
@@ -7520,6 +8130,12 @@ module Google
7520
8130
  # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseSearchResult>]
7521
8131
  attr_accessor :results
7522
8132
 
8133
+ # This field specifies all related information for tile navigation that will be
8134
+ # used in client side.
8135
+ # Corresponds to the JSON property `tileNavigationResult`
8136
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseTileNavigationResult]
8137
+ attr_accessor :tile_navigation_result
8138
+
7523
8139
  # The estimated total count of matched items irrespective of pagination. The
7524
8140
  # count of results returned by pagination may be less than the total_size that
7525
8141
  # matches.
@@ -7535,18 +8151,123 @@ module Google
7535
8151
  def update!(**args)
7536
8152
  @applied_controls = args[:applied_controls] if args.key?(:applied_controls)
7537
8153
  @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
8154
+ @conversational_search_result = args[:conversational_search_result] if args.key?(:conversational_search_result)
7538
8155
  @corrected_query = args[:corrected_query] if args.key?(:corrected_query)
7539
8156
  @experiment_info = args[:experiment_info] if args.key?(:experiment_info)
7540
8157
  @facets = args[:facets] if args.key?(:facets)
7541
8158
  @invalid_condition_boost_specs = args[:invalid_condition_boost_specs] if args.key?(:invalid_condition_boost_specs)
7542
8159
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
8160
+ @pin_control_metadata = args[:pin_control_metadata] if args.key?(:pin_control_metadata)
7543
8161
  @query_expansion_info = args[:query_expansion_info] if args.key?(:query_expansion_info)
7544
8162
  @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
7545
8163
  @results = args[:results] if args.key?(:results)
8164
+ @tile_navigation_result = args[:tile_navigation_result] if args.key?(:tile_navigation_result)
7546
8165
  @total_size = args[:total_size] if args.key?(:total_size)
7547
8166
  end
7548
8167
  end
7549
8168
 
8169
+ # This field specifies all related information that is needed on client side for
8170
+ # UI rendering of conversational retail search.
8171
+ class GoogleCloudRetailV2betaSearchResponseConversationalSearchResult
8172
+ include Google::Apis::Core::Hashable
8173
+
8174
+ # Additional filter that client side need to apply.
8175
+ # Corresponds to the JSON property `additionalFilter`
8176
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseConversationalSearchResultAdditionalFilter]
8177
+ attr_accessor :additional_filter
8178
+
8179
+ # This field is deprecated but will be kept for backward compatibility. There is
8180
+ # expected to have only one additional filter and the value will be the same to
8181
+ # the same as field `additional_filter`.
8182
+ # Corresponds to the JSON property `additionalFilters`
8183
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseConversationalSearchResultAdditionalFilter>]
8184
+ attr_accessor :additional_filters
8185
+
8186
+ # Conversation UUID. This field will be stored in client side storage to
8187
+ # maintain the conversation session with server and will be used for next search
8188
+ # request's SearchRequest.ConversationalSearchSpec.conversation_id to restore
8189
+ # conversation state in server.
8190
+ # Corresponds to the JSON property `conversationId`
8191
+ # @return [String]
8192
+ attr_accessor :conversation_id
8193
+
8194
+ # The follow-up question. e.g., `What is the color?`
8195
+ # Corresponds to the JSON property `followupQuestion`
8196
+ # @return [String]
8197
+ attr_accessor :followup_question
8198
+
8199
+ # The current refined query for the conversational search. This field will be
8200
+ # used in customer UI that the query in the search bar should be replaced with
8201
+ # the refined query. For example, if SearchRequest.query is `dress` and next
8202
+ # SearchRequest.ConversationalSearchSpec.UserAnswer.text_answer is `red color`,
8203
+ # which does not match any product attribute value filters, the refined query
8204
+ # will be `dress, red color`.
8205
+ # Corresponds to the JSON property `refinedQuery`
8206
+ # @return [String]
8207
+ attr_accessor :refined_query
8208
+
8209
+ # The answer options provided to client for the follow-up question.
8210
+ # Corresponds to the JSON property `suggestedAnswers`
8211
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseConversationalSearchResultSuggestedAnswer>]
8212
+ attr_accessor :suggested_answers
8213
+
8214
+ def initialize(**args)
8215
+ update!(**args)
8216
+ end
8217
+
8218
+ # Update properties of this object
8219
+ def update!(**args)
8220
+ @additional_filter = args[:additional_filter] if args.key?(:additional_filter)
8221
+ @additional_filters = args[:additional_filters] if args.key?(:additional_filters)
8222
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
8223
+ @followup_question = args[:followup_question] if args.key?(:followup_question)
8224
+ @refined_query = args[:refined_query] if args.key?(:refined_query)
8225
+ @suggested_answers = args[:suggested_answers] if args.key?(:suggested_answers)
8226
+ end
8227
+ end
8228
+
8229
+ # Additional filter that client side need to apply.
8230
+ class GoogleCloudRetailV2betaSearchResponseConversationalSearchResultAdditionalFilter
8231
+ include Google::Apis::Core::Hashable
8232
+
8233
+ # Product attribute which structured by an attribute name and value. This
8234
+ # structure is used in conversational search filters and answers. For example,
8235
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
8236
+ # Corresponds to the JSON property `productAttributeValue`
8237
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeValue]
8238
+ attr_accessor :product_attribute_value
8239
+
8240
+ def initialize(**args)
8241
+ update!(**args)
8242
+ end
8243
+
8244
+ # Update properties of this object
8245
+ def update!(**args)
8246
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
8247
+ end
8248
+ end
8249
+
8250
+ # Suggested answers to the follow-up question.
8251
+ class GoogleCloudRetailV2betaSearchResponseConversationalSearchResultSuggestedAnswer
8252
+ include Google::Apis::Core::Hashable
8253
+
8254
+ # Product attribute which structured by an attribute name and value. This
8255
+ # structure is used in conversational search filters and answers. For example,
8256
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
8257
+ # Corresponds to the JSON property `productAttributeValue`
8258
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeValue]
8259
+ attr_accessor :product_attribute_value
8260
+
8261
+ def initialize(**args)
8262
+ update!(**args)
8263
+ end
8264
+
8265
+ # Update properties of this object
8266
+ def update!(**args)
8267
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
8268
+ end
8269
+ end
8270
+
7550
8271
  # A facet result.
7551
8272
  class GoogleCloudRetailV2betaSearchResponseFacet
7552
8273
  include Google::Apis::Core::Hashable
@@ -7722,6 +8443,26 @@ module Google
7722
8443
  end
7723
8444
  end
7724
8445
 
8446
+ # This field specifies all related information for tile navigation that will be
8447
+ # used in client side.
8448
+ class GoogleCloudRetailV2betaSearchResponseTileNavigationResult
8449
+ include Google::Apis::Core::Hashable
8450
+
8451
+ # The current tiles that are used for tile navigation, sorted by engagement.
8452
+ # Corresponds to the JSON property `tiles`
8453
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaTile>]
8454
+ attr_accessor :tiles
8455
+
8456
+ def initialize(**args)
8457
+ update!(**args)
8458
+ end
8459
+
8460
+ # Update properties of this object
8461
+ def update!(**args)
8462
+ @tiles = args[:tiles] if args.key?(:tiles)
8463
+ end
8464
+ end
8465
+
7725
8466
  # Configures metadata that is used to generate serving time results (e.g. search
7726
8467
  # results or recommendation predictions).
7727
8468
  class GoogleCloudRetailV2betaServingConfig
@@ -8032,6 +8773,41 @@ module Google
8032
8773
  end
8033
8774
  end
8034
8775
 
8776
+ # This field specifies the tile information including an attribute key,
8777
+ # attribute value. More fields will be added in the future, eg: product id or
8778
+ # product counts, etc.
8779
+ class GoogleCloudRetailV2betaTile
8780
+ include Google::Apis::Core::Hashable
8781
+
8782
+ # Product attribute name and numeric interval.
8783
+ # Corresponds to the JSON property `productAttributeInterval`
8784
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeInterval]
8785
+ attr_accessor :product_attribute_interval
8786
+
8787
+ # Product attribute which structured by an attribute name and value. This
8788
+ # structure is used in conversational search filters and answers. For example,
8789
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
8790
+ # Corresponds to the JSON property `productAttributeValue`
8791
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductAttributeValue]
8792
+ attr_accessor :product_attribute_value
8793
+
8794
+ # The representative product id for this tile.
8795
+ # Corresponds to the JSON property `representativeProductId`
8796
+ # @return [String]
8797
+ attr_accessor :representative_product_id
8798
+
8799
+ def initialize(**args)
8800
+ update!(**args)
8801
+ end
8802
+
8803
+ # Update properties of this object
8804
+ def update!(**args)
8805
+ @product_attribute_interval = args[:product_attribute_interval] if args.key?(:product_attribute_interval)
8806
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
8807
+ @representative_product_id = args[:representative_product_id] if args.key?(:representative_product_id)
8808
+ end
8809
+ end
8810
+
8035
8811
  # Metadata associated with a tune operation.
8036
8812
  class GoogleCloudRetailV2betaTuneModelMetadata
8037
8813
  include Google::Apis::Core::Hashable
@@ -8080,6 +8856,33 @@ module Google
8080
8856
  end
8081
8857
  end
8082
8858
 
8859
+ # Request for UpdateGenerativeQuestionConfig method.
8860
+ class GoogleCloudRetailV2betaUpdateGenerativeQuestionConfigRequest
8861
+ include Google::Apis::Core::Hashable
8862
+
8863
+ # Configuration for a single generated question.
8864
+ # Corresponds to the JSON property `generativeQuestionConfig`
8865
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaGenerativeQuestionConfig]
8866
+ attr_accessor :generative_question_config
8867
+
8868
+ # Optional. Indicates which fields in the provided GenerativeQuestionConfig to
8869
+ # update. The following are NOT supported: * GenerativeQuestionConfig.frequency
8870
+ # If not set or empty, all supported fields are updated.
8871
+ # Corresponds to the JSON property `updateMask`
8872
+ # @return [String]
8873
+ attr_accessor :update_mask
8874
+
8875
+ def initialize(**args)
8876
+ update!(**args)
8877
+ end
8878
+
8879
+ # Update properties of this object
8880
+ def update!(**args)
8881
+ @generative_question_config = args[:generative_question_config] if args.key?(:generative_question_config)
8882
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
8883
+ end
8884
+ end
8885
+
8083
8886
  # UserEvent captures all metadata information Retail API needs to know about how
8084
8887
  # end users interact with customers' website.
8085
8888
  class GoogleCloudRetailV2betaUserEvent
@@ -8419,12 +9222,11 @@ module Google
8419
9222
  # @return [String]
8420
9223
  attr_accessor :ip_address
8421
9224
 
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.
9225
+ # User agent as included in the HTTP header. The field must be a UTF-8 encoded
9226
+ # string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT
9227
+ # error is returned. This should not be set when using the client side event
9228
+ # reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or
9229
+ # if direct_user_request is set.
8428
9230
  # Corresponds to the JSON property `userAgent`
8429
9231
  # @return [String]
8430
9232
  attr_accessor :user_agent