google-apis-retail_v2beta 0.98.0 → 0.100.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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
 
@@ -3661,32 +3796,6 @@ module Google
3661
3796
  end
3662
3797
  end
3663
3798
 
3664
- # Common metadata related to the progress of the operations.
3665
- class GoogleCloudRetailV2betaCreateMerchantCenterAccountLinkMetadata
3666
- include Google::Apis::Core::Hashable
3667
-
3668
- # Operation create time.
3669
- # Corresponds to the JSON property `createTime`
3670
- # @return [String]
3671
- attr_accessor :create_time
3672
-
3673
- # Operation last update time. If the operation is done, this is also the finish
3674
- # time.
3675
- # Corresponds to the JSON property `updateTime`
3676
- # @return [String]
3677
- attr_accessor :update_time
3678
-
3679
- def initialize(**args)
3680
- update!(**args)
3681
- end
3682
-
3683
- # Update properties of this object
3684
- def update!(**args)
3685
- @create_time = args[:create_time] if args.key?(:create_time)
3686
- @update_time = args[:update_time] if args.key?(:update_time)
3687
- end
3688
- end
3689
-
3690
3799
  # Metadata associated with a create operation.
3691
3800
  class GoogleCloudRetailV2betaCreateModelMetadata
3692
3801
  include Google::Apis::Core::Hashable
@@ -3765,7 +3874,7 @@ module Google
3765
3874
  end
3766
3875
  end
3767
3876
 
3768
- # Metadata for active A/B testing Experiment.
3877
+ # Metadata for active A/B testing experiment.
3769
3878
  class GoogleCloudRetailV2betaExperimentInfo
3770
3879
  include Google::Apis::Core::Hashable
3771
3880
 
@@ -3796,8 +3905,8 @@ module Google
3796
3905
  class GoogleCloudRetailV2betaExperimentInfoServingConfigExperiment
3797
3906
  include Google::Apis::Core::Hashable
3798
3907
 
3799
- # The fully qualified resource name of the serving config Experiment.VariantArm.
3800
- # 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:
3801
3910
  # `projects/*/locations/*/catalogs/*/servingConfigs/*`.
3802
3911
  # Corresponds to the JSON property `experimentServingConfig`
3803
3912
  # @return [String]
@@ -3936,6 +4045,58 @@ module Google
3936
4045
  end
3937
4046
  end
3938
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
+
3939
4100
  # Response of the ExportProductsRequest. If the long running operation is done,
3940
4101
  # then this message is returned by the google.longrunning.Operations.response
3941
4102
  # field if the operation was successful.
@@ -3970,6 +4131,51 @@ module Google
3970
4131
  end
3971
4132
  end
3972
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
+
3973
4179
  # Response of the ExportUserEventsRequest. If the long running operation was
3974
4180
  # successful, then this message is returned by the google.longrunning.Operations.
3975
4181
  # response field if the operation was successful.
@@ -4099,6 +4305,99 @@ module Google
4099
4305
  end
4100
4306
  end
4101
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
+
4102
4401
  # Response message of CatalogService.GetDefaultBranch.
4103
4402
  class GoogleCloudRetailV2betaGetDefaultBranchResponse
4104
4403
  include Google::Apis::Core::Hashable
@@ -4529,6 +4828,25 @@ module Google
4529
4828
  end
4530
4829
  end
4531
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
+
4532
4850
  # Response to a ListModelRequest.
4533
4851
  class GoogleCloudRetailV2betaListModelsResponse
4534
4852
  include Google::Apis::Core::Hashable
@@ -4609,8 +4927,8 @@ module Google
4609
4927
  class GoogleCloudRetailV2betaLocalInventory
4610
4928
  include Google::Apis::Core::Hashable
4611
4929
 
4612
- # Additional local inventory attributes, for example, store name, promotion tags,
4613
- # 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
4614
4932
  # INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The
4615
4933
  # key must be a UTF-8 encoded string with a length limit of 32 characters. * The
4616
4934
  # key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or
@@ -4623,150 +4941,40 @@ module Google
4623
4941
  # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCustomAttribute>]
4624
4942
  attr_accessor :attributes
4625
4943
 
4626
- # Input only. Supported fulfillment types. Valid fulfillment type values include
4627
- # commonly used types (such as pickup in store and same day delivery), and
4628
- # custom types. Customers have to map custom types to their display names before
4629
- # rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-
4630
- # day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "
4631
- # custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an
4632
- # invalid value other than these, an INVALID_ARGUMENT error is returned. All the
4633
- # elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned.
4634
- # Corresponds to the JSON property `fulfillmentTypes`
4635
- # @return [Array<String>]
4636
- attr_accessor :fulfillment_types
4637
-
4638
- # The place ID for the current set of inventory information.
4639
- # Corresponds to the JSON property `placeId`
4640
- # @return [String]
4641
- attr_accessor :place_id
4642
-
4643
- # The price information of a Product.
4644
- # Corresponds to the JSON property `priceInfo`
4645
- # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPriceInfo]
4646
- attr_accessor :price_info
4647
-
4648
- def initialize(**args)
4649
- update!(**args)
4650
- end
4651
-
4652
- # Update properties of this object
4653
- def update!(**args)
4654
- @attributes = args[:attributes] if args.key?(:attributes)
4655
- @fulfillment_types = args[:fulfillment_types] if args.key?(:fulfillment_types)
4656
- @place_id = args[:place_id] if args.key?(:place_id)
4657
- @price_info = args[:price_info] if args.key?(:price_info)
4658
- end
4659
- end
4660
-
4661
- # Represents a link between a Merchant Center account and a branch. After a link
4662
- # is established, products from the linked Merchant Center account are streamed
4663
- # to the linked branch.
4664
- class GoogleCloudRetailV2betaMerchantCenterAccountLink
4665
- include Google::Apis::Core::Hashable
4666
-
4667
- # Required. The branch ID (e.g. 0/1/2) within the catalog that products from
4668
- # merchant_center_account_id are streamed to. When updating this field, an empty
4669
- # value will use the currently configured default branch. However, changing the
4670
- # default branch later on won't change the linked branch here. A single branch
4671
- # ID can only have one linked Merchant Center account ID.
4672
- # Corresponds to the JSON property `branchId`
4673
- # @return [String]
4674
- attr_accessor :branch_id
4675
-
4676
- # Criteria for the Merchant Center feeds to be ingested via the link. All offers
4677
- # will be ingested if the list is empty. Otherwise the offers will be ingested
4678
- # from selected feeds.
4679
- # Corresponds to the JSON property `feedFilters`
4680
- # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaMerchantCenterAccountLinkMerchantCenterFeedFilter>]
4681
- attr_accessor :feed_filters
4682
-
4683
- # The FeedLabel used to perform filtering. Note: this replaces [region_id](https:
4684
- # //developers.google.com/shopping-content/reference/rest/v2.1/products#Product.
4685
- # FIELDS.feed_label). Example value: `US`. Example value: `FeedLabel1`.
4686
- # Corresponds to the JSON property `feedLabel`
4687
- # @return [String]
4688
- attr_accessor :feed_label
4689
-
4690
- # Output only. Immutable. MerchantCenterAccountLink identifier, which is the
4691
- # final component of name. This field is auto generated and follows the
4692
- # convention: `BranchId_MerchantCenterAccountId`. `projects/*/locations/global/
4693
- # catalogs/default_catalog/merchantCenterAccountLinks/id_1`.
4694
- # Corresponds to the JSON property `id`
4695
- # @return [String]
4696
- attr_accessor :id
4697
-
4698
- # Language of the title/description and other string attributes. Use language
4699
- # tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). ISO
4700
- # 639-1. This specifies the language of offers in Merchant Center that will be
4701
- # accepted. If empty, no language filtering will be performed. Example value: `
4702
- # en`.
4703
- # Corresponds to the JSON property `languageCode`
4704
- # @return [String]
4705
- attr_accessor :language_code
4706
-
4707
- # Required. The linked [Merchant center account id](https://developers.google.
4708
- # com/shopping-content/guides/accountstatuses). The account must be a standalone
4709
- # account or a sub-account of a MCA.
4710
- # Corresponds to the JSON property `merchantCenterAccountId`
4711
- # @return [Fixnum]
4712
- attr_accessor :merchant_center_account_id
4713
-
4714
- # Output only. Immutable. Full resource name of the Merchant Center Account Link,
4715
- # such as `projects/*/locations/global/catalogs/default_catalog/
4716
- # merchantCenterAccountLinks/merchant_center_account_link`.
4717
- # Corresponds to the JSON property `name`
4718
- # @return [String]
4719
- attr_accessor :name
4720
-
4721
- # Output only. Google Cloud project ID.
4722
- # Corresponds to the JSON property `projectId`
4723
- # @return [String]
4724
- attr_accessor :project_id
4725
-
4726
- # Optional. An optional arbitrary string that could be used as a tag for
4727
- # tracking link source.
4728
- # Corresponds to the JSON property `source`
4729
- # @return [String]
4730
- attr_accessor :source
4731
-
4732
- # Output only. Represents the state of the link.
4733
- # Corresponds to the JSON property `state`
4734
- # @return [String]
4735
- attr_accessor :state
4736
-
4737
- def initialize(**args)
4738
- update!(**args)
4739
- end
4740
-
4741
- # Update properties of this object
4742
- def update!(**args)
4743
- @branch_id = args[:branch_id] if args.key?(:branch_id)
4744
- @feed_filters = args[:feed_filters] if args.key?(:feed_filters)
4745
- @feed_label = args[:feed_label] if args.key?(:feed_label)
4746
- @id = args[:id] if args.key?(:id)
4747
- @language_code = args[:language_code] if args.key?(:language_code)
4748
- @merchant_center_account_id = args[:merchant_center_account_id] if args.key?(:merchant_center_account_id)
4749
- @name = args[:name] if args.key?(:name)
4750
- @project_id = args[:project_id] if args.key?(:project_id)
4751
- @source = args[:source] if args.key?(:source)
4752
- @state = args[:state] if args.key?(:state)
4753
- end
4754
- end
4755
-
4756
- # Merchant Center Feed filter criterion.
4757
- class GoogleCloudRetailV2betaMerchantCenterAccountLinkMerchantCenterFeedFilter
4758
- include Google::Apis::Core::Hashable
4759
-
4760
- # Merchant Center primary feed ID.
4761
- # Corresponds to the JSON property `primaryFeedId`
4762
- # @return [Fixnum]
4763
- attr_accessor :primary_feed_id
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
4764
4956
 
4765
- # Merchant Center primary feed name. The name is used for the display purposes
4766
- # only.
4767
- # Corresponds to the JSON property `primaryFeedName`
4957
+ # Optional. Supported fulfillment types. Valid fulfillment type values include
4958
+ # commonly used types (such as pickup in store and same day delivery), and
4959
+ # custom types. Customers have to map custom types to their display names before
4960
+ # rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-
4961
+ # day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "
4962
+ # custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an
4963
+ # invalid value other than these, an INVALID_ARGUMENT error is returned. All the
4964
+ # elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned.
4965
+ # Corresponds to the JSON property `fulfillmentTypes`
4966
+ # @return [Array<String>]
4967
+ attr_accessor :fulfillment_types
4968
+
4969
+ # Required. The place ID for the current set of inventory information.
4970
+ # Corresponds to the JSON property `placeId`
4768
4971
  # @return [String]
4769
- attr_accessor :primary_feed_name
4972
+ attr_accessor :place_id
4973
+
4974
+ # The price information of a Product.
4975
+ # Corresponds to the JSON property `priceInfo`
4976
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPriceInfo]
4977
+ attr_accessor :price_info
4770
4978
 
4771
4979
  def initialize(**args)
4772
4980
  update!(**args)
@@ -4774,8 +4982,11 @@ module Google
4774
4982
 
4775
4983
  # Update properties of this object
4776
4984
  def update!(**args)
4777
- @primary_feed_id = args[:primary_feed_id] if args.key?(:primary_feed_id)
4778
- @primary_feed_name = args[:primary_feed_name] if args.key?(:primary_feed_name)
4985
+ @attributes = args[:attributes] if args.key?(:attributes)
4986
+ @availability = args[:availability] if args.key?(:availability)
4987
+ @fulfillment_types = args[:fulfillment_types] if args.key?(:fulfillment_types)
4988
+ @place_id = args[:place_id] if args.key?(:place_id)
4989
+ @price_info = args[:price_info] if args.key?(:price_info)
4779
4990
  end
4780
4991
  end
4781
4992
 
@@ -5221,6 +5432,52 @@ module Google
5221
5432
  end
5222
5433
  end
5223
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
+
5224
5481
  # Request message for Predict method.
5225
5482
  class GoogleCloudRetailV2betaPredictRequest
5226
5483
  include Google::Apis::Core::Hashable
@@ -5532,10 +5789,15 @@ module Google
5532
5789
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaAudience]
5533
5790
  attr_accessor :audience
5534
5791
 
5535
- # The online availability of the Product. Default to Availability.IN_STOCK.
5536
- # Corresponding properties: Google Merchant Center property [availability](https:
5537
- # //support.google.com/merchants/answer/6324448). Schema.org property [Offer.
5538
- # 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).
5539
5801
  # Corresponds to the JSON property `availability`
5540
5802
  # @return [String]
5541
5803
  attr_accessor :availability
@@ -5763,10 +6025,9 @@ module Google
5763
6025
  # attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION,
5764
6026
  # the following fields are always returned in SearchResponse by default: * name
5765
6027
  # For Type.VARIANT, the following fields are always returned in by default: *
5766
- # name * color_info The maximum number of paths is 30. Otherwise, an
5767
- # INVALID_ARGUMENT error is returned. Note: Returning more fields in
5768
- # SearchResponse can increase response payload size and serving latency. This
5769
- # 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.
5770
6031
  # Corresponds to the JSON property `retrievableFields`
5771
6032
  # @return [String]
5772
6033
  attr_accessor :retrievable_fields
@@ -5891,6 +6152,58 @@ module Google
5891
6152
  end
5892
6153
  end
5893
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
+
5894
6207
  # Detailed product information associated with a user event.
5895
6208
  class GoogleCloudRetailV2betaProductDetail
5896
6209
  include Google::Apis::Core::Hashable
@@ -6832,7 +7145,7 @@ module Google
6832
7145
  include Google::Apis::Core::Hashable
6833
7146
 
6834
7147
  # Each instance corresponds to a force return attribute for the given condition.
6835
- # There can't be more 3 instances here.
7148
+ # There can't be more 15 instances here.
6836
7149
  # Corresponds to the JSON property `facetPositionAdjustments`
6837
7150
  # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaRuleForceReturnFacetActionFacetPositionAdjustment>]
6838
7151
  attr_accessor :facet_position_adjustments
@@ -7064,6 +7377,12 @@ module Google
7064
7377
  # @return [String]
7065
7378
  attr_accessor :canonical_filter
7066
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
+
7067
7386
  # The specifications of dynamically generated facets.
7068
7387
  # Corresponds to the JSON property `dynamicFacetSpec`
7069
7388
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestDynamicFacetSpec]
@@ -7180,6 +7499,11 @@ module Google
7180
7499
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestSpellCorrectionSpec]
7181
7500
  attr_accessor :spell_correction_spec
7182
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
+
7183
7507
  # Information of an end user.
7184
7508
  # Corresponds to the JSON property `userInfo`
7185
7509
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaUserInfo]
@@ -7234,6 +7558,7 @@ module Google
7234
7558
  @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
7235
7559
  @branch = args[:branch] if args.key?(:branch)
7236
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)
7237
7562
  @dynamic_facet_spec = args[:dynamic_facet_spec] if args.key?(:dynamic_facet_spec)
7238
7563
  @entity = args[:entity] if args.key?(:entity)
7239
7564
  @facet_specs = args[:facet_specs] if args.key?(:facet_specs)
@@ -7249,6 +7574,7 @@ module Google
7249
7574
  @query_expansion_spec = args[:query_expansion_spec] if args.key?(:query_expansion_spec)
7250
7575
  @search_mode = args[:search_mode] if args.key?(:search_mode)
7251
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)
7252
7578
  @user_info = args[:user_info] if args.key?(:user_info)
7253
7579
  @variant_rollup_keys = args[:variant_rollup_keys] if args.key?(:variant_rollup_keys)
7254
7580
  @visitor_id = args[:visitor_id] if args.key?(:visitor_id)
@@ -7324,6 +7650,102 @@ module Google
7324
7650
  end
7325
7651
  end
7326
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
+
7327
7749
  # The specifications of dynamically generated facets.
7328
7750
  class GoogleCloudRetailV2betaSearchRequestDynamicFacetSpec
7329
7751
  include Google::Apis::Core::Hashable
@@ -7602,6 +8024,35 @@ module Google
7602
8024
  end
7603
8025
  end
7604
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
+
7605
8056
  # Response message for SearchService.Search method.
7606
8057
  class GoogleCloudRetailV2betaSearchResponse
7607
8058
  include Google::Apis::Core::Hashable
@@ -7619,6 +8070,12 @@ module Google
7619
8070
  # @return [String]
7620
8071
  attr_accessor :attribution_token
7621
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
+
7622
8079
  # Contains the spell corrected query, if found. If the spell correction type is
7623
8080
  # AUTOMATIC, then the search results are based on corrected_query. Otherwise the
7624
8081
  # original query is used for search.
@@ -7626,7 +8083,7 @@ module Google
7626
8083
  # @return [String]
7627
8084
  attr_accessor :corrected_query
7628
8085
 
7629
- # 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
7630
8087
  # exists when an experiment is triggered.
7631
8088
  # Corresponds to the JSON property `experimentInfo`
7632
8089
  # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaExperimentInfo>]
@@ -7649,6 +8106,12 @@ module Google
7649
8106
  # @return [String]
7650
8107
  attr_accessor :next_page_token
7651
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
+
7652
8115
  # Information describing query expansion including whether expansion has
7653
8116
  # occurred.
7654
8117
  # Corresponds to the JSON property `queryExpansionInfo`
@@ -7667,6 +8130,12 @@ module Google
7667
8130
  # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseSearchResult>]
7668
8131
  attr_accessor :results
7669
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
+
7670
8139
  # The estimated total count of matched items irrespective of pagination. The
7671
8140
  # count of results returned by pagination may be less than the total_size that
7672
8141
  # matches.
@@ -7682,18 +8151,123 @@ module Google
7682
8151
  def update!(**args)
7683
8152
  @applied_controls = args[:applied_controls] if args.key?(:applied_controls)
7684
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)
7685
8155
  @corrected_query = args[:corrected_query] if args.key?(:corrected_query)
7686
8156
  @experiment_info = args[:experiment_info] if args.key?(:experiment_info)
7687
8157
  @facets = args[:facets] if args.key?(:facets)
7688
8158
  @invalid_condition_boost_specs = args[:invalid_condition_boost_specs] if args.key?(:invalid_condition_boost_specs)
7689
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)
7690
8161
  @query_expansion_info = args[:query_expansion_info] if args.key?(:query_expansion_info)
7691
8162
  @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
7692
8163
  @results = args[:results] if args.key?(:results)
8164
+ @tile_navigation_result = args[:tile_navigation_result] if args.key?(:tile_navigation_result)
7693
8165
  @total_size = args[:total_size] if args.key?(:total_size)
7694
8166
  end
7695
8167
  end
7696
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
+
7697
8271
  # A facet result.
7698
8272
  class GoogleCloudRetailV2betaSearchResponseFacet
7699
8273
  include Google::Apis::Core::Hashable
@@ -7869,6 +8443,26 @@ module Google
7869
8443
  end
7870
8444
  end
7871
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
+
7872
8466
  # Configures metadata that is used to generate serving time results (e.g. search
7873
8467
  # results or recommendation predictions).
7874
8468
  class GoogleCloudRetailV2betaServingConfig
@@ -8179,6 +8773,41 @@ module Google
8179
8773
  end
8180
8774
  end
8181
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
+
8182
8811
  # Metadata associated with a tune operation.
8183
8812
  class GoogleCloudRetailV2betaTuneModelMetadata
8184
8813
  include Google::Apis::Core::Hashable
@@ -8227,6 +8856,33 @@ module Google
8227
8856
  end
8228
8857
  end
8229
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
+
8230
8886
  # UserEvent captures all metadata information Retail API needs to know about how
8231
8887
  # end users interact with customers' website.
8232
8888
  class GoogleCloudRetailV2betaUserEvent
@@ -8566,12 +9222,11 @@ module Google
8566
9222
  # @return [String]
8567
9223
  attr_accessor :ip_address
8568
9224
 
8569
- # User agent as included in the HTTP header. Required for getting SearchResponse.
8570
- # sponsored_results. The field must be a UTF-8 encoded string with a length
8571
- # limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
8572
- # This should not be set when using the client side event reporting with GTM or
8573
- # JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request
8574
- # 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.
8575
9230
  # Corresponds to the JSON property `userAgent`
8576
9231
  # @return [String]
8577
9232
  attr_accessor :user_agent