google-apis-retail_v2alpha 0.104.0 → 0.106.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1410,8 +1410,9 @@ module Google
1410
1410
  class GoogleCloudRetailV2alphaAlertConfigAlertPolicy
1411
1411
  include Google::Apis::Core::Hashable
1412
1412
 
1413
- # The feature that provides alerting capability. Supported value is only `search-
1414
- # data-quality` for now.
1413
+ # The feature that provides alerting capability. Supported value: - `search-data-
1414
+ # quality` for retail search customers. - `conv-data-quality` for retail
1415
+ # conversation customers.
1415
1416
  # Corresponds to the JSON property `alertGroup`
1416
1417
  # @return [String]
1417
1418
  attr_accessor :alert_group
@@ -1580,6 +1581,44 @@ module Google
1580
1581
  end
1581
1582
  end
1582
1583
 
1584
+ # Request for BatchUpdateGenerativeQuestionConfig method.
1585
+ class GoogleCloudRetailV2alphaBatchUpdateGenerativeQuestionConfigsRequest
1586
+ include Google::Apis::Core::Hashable
1587
+
1588
+ # Required. The updates question configs.
1589
+ # Corresponds to the JSON property `requests`
1590
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaUpdateGenerativeQuestionConfigRequest>]
1591
+ attr_accessor :requests
1592
+
1593
+ def initialize(**args)
1594
+ update!(**args)
1595
+ end
1596
+
1597
+ # Update properties of this object
1598
+ def update!(**args)
1599
+ @requests = args[:requests] if args.key?(:requests)
1600
+ end
1601
+ end
1602
+
1603
+ # Aggregated response for UpdateGenerativeQuestionConfig method.
1604
+ class GoogleCloudRetailV2alphaBatchUpdateGenerativeQuestionConfigsResponse
1605
+ include Google::Apis::Core::Hashable
1606
+
1607
+ # Optional. The updates question configs.
1608
+ # Corresponds to the JSON property `generativeQuestionConfigs`
1609
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaGenerativeQuestionConfig>]
1610
+ attr_accessor :generative_question_configs
1611
+
1612
+ def initialize(**args)
1613
+ update!(**args)
1614
+ end
1615
+
1616
+ # Update properties of this object
1617
+ def update!(**args)
1618
+ @generative_question_configs = args[:generative_question_configs] if args.key?(:generative_question_configs)
1619
+ end
1620
+ end
1621
+
1583
1622
  # A BigQuery output result.
1584
1623
  class GoogleCloudRetailV2alphaBigQueryOutputResult
1585
1624
  include Google::Apis::Core::Hashable
@@ -1911,14 +1950,13 @@ module Google
1911
1950
  # Output only. Indicates whether this attribute has been used by any products. `
1912
1951
  # True` if at least one Product is using this attribute in Product.attributes.
1913
1952
  # Otherwise, this field is `False`. CatalogAttribute can be pre-loaded by using
1914
- # CatalogService.AddCatalogAttribute, CatalogService.ImportCatalogAttributes, or
1915
- # CatalogService.UpdateAttributesConfig APIs. This field is `False` for pre-
1916
- # loaded CatalogAttributes. Only pre-loaded catalog attributes that are neither
1917
- # in use by products nor predefined can be deleted. Catalog attributes that are
1918
- # either in use by products or are predefined attributes cannot be deleted;
1919
- # however, their configuration properties will reset to default values upon
1920
- # removal request. After catalog changes, it takes about 10 minutes for this
1921
- # field to update.
1953
+ # CatalogService.AddCatalogAttribute or CatalogService.UpdateAttributesConfig
1954
+ # APIs. This field is `False` for pre-loaded CatalogAttributes. Only pre-loaded
1955
+ # catalog attributes that are neither in use by products nor predefined can be
1956
+ # deleted. Catalog attributes that are either in use by products or are
1957
+ # predefined attributes cannot be deleted; however, their configuration
1958
+ # properties will reset to default values upon removal request. After catalog
1959
+ # changes, it takes about 10 minutes for this field to update.
1922
1960
  # Corresponds to the JSON property `inUse`
1923
1961
  # @return [Boolean]
1924
1962
  attr_accessor :in_use
@@ -2283,11 +2321,12 @@ module Google
2283
2321
  end
2284
2322
  end
2285
2323
 
2286
- # Resource that represents attribute results.
2324
+ # Resource that represents attribute results. The list of suggestions for the
2325
+ # attribute.
2287
2326
  class GoogleCloudRetailV2alphaCompleteQueryResponseAttributeResult
2288
2327
  include Google::Apis::Core::Hashable
2289
2328
 
2290
- # The list of suggestions for the attribute.
2329
+ #
2291
2330
  # Corresponds to the JSON property `suggestions`
2292
2331
  # @return [Array<String>]
2293
2332
  attr_accessor :suggestions
@@ -2837,7 +2876,7 @@ module Google
2837
2876
  end
2838
2877
  end
2839
2878
 
2840
- # Metadata for active A/B testing Experiment.
2879
+ # Metadata for active A/B testing experiment.
2841
2880
  class GoogleCloudRetailV2alphaExperimentInfo
2842
2881
  include Google::Apis::Core::Hashable
2843
2882
 
@@ -2868,8 +2907,8 @@ module Google
2868
2907
  class GoogleCloudRetailV2alphaExperimentInfoServingConfigExperiment
2869
2908
  include Google::Apis::Core::Hashable
2870
2909
 
2871
- # The fully qualified resource name of the serving config Experiment.VariantArm.
2872
- # serving_config_id responsible for generating the search response. For example:
2910
+ # The fully qualified resource name of the serving config `Experiment.VariantArm.
2911
+ # serving_config_id` responsible for generating the search response. For example:
2873
2912
  # `projects/*/locations/*/catalogs/*/servingConfigs/*`.
2874
2913
  # Corresponds to the JSON property `experimentServingConfig`
2875
2914
  # @return [String]
@@ -3008,6 +3047,58 @@ module Google
3008
3047
  end
3009
3048
  end
3010
3049
 
3050
+ # Request message for ExportProducts method.
3051
+ class GoogleCloudRetailV2alphaExportProductsRequest
3052
+ include Google::Apis::Core::Hashable
3053
+
3054
+ # A filtering expression to specify restrictions on returned events. The
3055
+ # expression is a sequence of terms. Each term applies a restriction to the
3056
+ # returned products. Use this expression to restrict results to a specific time
3057
+ # range, tag, or stock state or to filter products by product type. For example,
3058
+ # `lastModifiedTime > "2012-04-23T18:25:43.511Z" lastModifiedTime<"2012-04-23T18:
3059
+ # 25:43.511Z" productType=primary` We expect only four types of fields: * `
3060
+ # lastModifiedTime`: This can be specified twice, once with a less than operator
3061
+ # and once with a greater than operator. The `lastModifiedTime` restriction
3062
+ # should result in one, contiguous, valid, last-modified, time range. * `
3063
+ # productType`: Supported values are `primary` and `variant`. The Boolean
3064
+ # operators `OR` and `NOT` are supported if the expression is enclosed in
3065
+ # parentheses and must be separated from the `productType` values by a space. * `
3066
+ # availability`: Supported values are `IN_STOCK`, `OUT_OF_STOCK`, `PREORDER`,
3067
+ # and `BACKORDER`. Boolean operators `OR` and `NOT` are supported if the
3068
+ # expression is enclosed in parentheses and must be separated from the `
3069
+ # availability` values by a space. * `Tag expressions`: Restricts output to
3070
+ # products that match all of the specified tags. Boolean operators `OR` and `NOT`
3071
+ # are supported if the expression is enclosed in parentheses and the operators
3072
+ # are separated from the tag values by a space. Also supported is '`-"tagA"`',
3073
+ # which is equivalent to '`NOT "tagA"`'. Tag values must be double-quoted, UTF-8
3074
+ # encoded strings and have a size limit of 1,000 characters. Some examples of
3075
+ # valid filters expressions: * Example 1: `lastModifiedTime > "2012-04-23T18:25:
3076
+ # 43.511Z" lastModifiedTime < "2012-04-23T18:30:43.511Z"` * Example 2: `
3077
+ # lastModifiedTime > "2012-04-23T18:25:43.511Z" productType = "variant"` *
3078
+ # Example 3: `tag=("Red" OR "Blue") tag="New-Arrival" tag=(NOT "promotional")
3079
+ # productType = "primary" lastModifiedTime < "2018-04-23T18:30:43.511Z"` *
3080
+ # Example 4: `lastModifiedTime > "2012-04-23T18:25:43.511Z"` * Example 5: `
3081
+ # availability = (IN_STOCK OR BACKORDER)`
3082
+ # Corresponds to the JSON property `filter`
3083
+ # @return [String]
3084
+ attr_accessor :filter
3085
+
3086
+ # The output configuration setting.
3087
+ # Corresponds to the JSON property `outputConfig`
3088
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaOutputConfig]
3089
+ attr_accessor :output_config
3090
+
3091
+ def initialize(**args)
3092
+ update!(**args)
3093
+ end
3094
+
3095
+ # Update properties of this object
3096
+ def update!(**args)
3097
+ @filter = args[:filter] if args.key?(:filter)
3098
+ @output_config = args[:output_config] if args.key?(:output_config)
3099
+ end
3100
+ end
3101
+
3011
3102
  # Response of the ExportProductsRequest. If the long running operation is done,
3012
3103
  # then this message is returned by the google.longrunning.Operations.response
3013
3104
  # field if the operation was successful.
@@ -3216,6 +3307,99 @@ module Google
3216
3307
  end
3217
3308
  end
3218
3309
 
3310
+ # Configuration for a single generated question.
3311
+ class GoogleCloudRetailV2alphaGenerativeQuestionConfig
3312
+ include Google::Apis::Core::Hashable
3313
+
3314
+ # Optional. Whether the question is asked at serving time.
3315
+ # Corresponds to the JSON property `allowedInConversation`
3316
+ # @return [Boolean]
3317
+ attr_accessor :allowed_in_conversation
3318
+ alias_method :allowed_in_conversation?, :allowed_in_conversation
3319
+
3320
+ # Required. Resource name of the catalog. Format: projects/`project`/locations/`
3321
+ # location`/catalogs/`catalog`
3322
+ # Corresponds to the JSON property `catalog`
3323
+ # @return [String]
3324
+ attr_accessor :catalog
3325
+
3326
+ # Output only. Values that can be used to answer the question.
3327
+ # Corresponds to the JSON property `exampleValues`
3328
+ # @return [Array<String>]
3329
+ attr_accessor :example_values
3330
+
3331
+ # Required. The facet to which the question is associated.
3332
+ # Corresponds to the JSON property `facet`
3333
+ # @return [String]
3334
+ attr_accessor :facet
3335
+
3336
+ # Optional. The question that will be used at serving time. Question can have a
3337
+ # max length of 300 bytes. When not populated, generated_question should be used.
3338
+ # Corresponds to the JSON property `finalQuestion`
3339
+ # @return [String]
3340
+ attr_accessor :final_question
3341
+
3342
+ # Output only. The ratio of how often a question was asked.
3343
+ # Corresponds to the JSON property `frequency`
3344
+ # @return [Float]
3345
+ attr_accessor :frequency
3346
+
3347
+ # Output only. The LLM generated question.
3348
+ # Corresponds to the JSON property `generatedQuestion`
3349
+ # @return [String]
3350
+ attr_accessor :generated_question
3351
+
3352
+ def initialize(**args)
3353
+ update!(**args)
3354
+ end
3355
+
3356
+ # Update properties of this object
3357
+ def update!(**args)
3358
+ @allowed_in_conversation = args[:allowed_in_conversation] if args.key?(:allowed_in_conversation)
3359
+ @catalog = args[:catalog] if args.key?(:catalog)
3360
+ @example_values = args[:example_values] if args.key?(:example_values)
3361
+ @facet = args[:facet] if args.key?(:facet)
3362
+ @final_question = args[:final_question] if args.key?(:final_question)
3363
+ @frequency = args[:frequency] if args.key?(:frequency)
3364
+ @generated_question = args[:generated_question] if args.key?(:generated_question)
3365
+ end
3366
+ end
3367
+
3368
+ # Configuration for overall generative question feature state.
3369
+ class GoogleCloudRetailV2alphaGenerativeQuestionsFeatureConfig
3370
+ include Google::Apis::Core::Hashable
3371
+
3372
+ # Required. Resource name of the affected catalog. Format: projects/`project`/
3373
+ # locations/`location`/catalogs/`catalog`
3374
+ # Corresponds to the JSON property `catalog`
3375
+ # @return [String]
3376
+ attr_accessor :catalog
3377
+
3378
+ # Optional. Determines whether questions will be used at serving time. Note:
3379
+ # This feature cannot be enabled until initial data requirements are satisfied.
3380
+ # Corresponds to the JSON property `featureEnabled`
3381
+ # @return [Boolean]
3382
+ attr_accessor :feature_enabled
3383
+ alias_method :feature_enabled?, :feature_enabled
3384
+
3385
+ # Optional. Minimum number of products in the response to trigger follow-up
3386
+ # questions. Value must be 0 or positive.
3387
+ # Corresponds to the JSON property `minimumProducts`
3388
+ # @return [Fixnum]
3389
+ attr_accessor :minimum_products
3390
+
3391
+ def initialize(**args)
3392
+ update!(**args)
3393
+ end
3394
+
3395
+ # Update properties of this object
3396
+ def update!(**args)
3397
+ @catalog = args[:catalog] if args.key?(:catalog)
3398
+ @feature_enabled = args[:feature_enabled] if args.key?(:feature_enabled)
3399
+ @minimum_products = args[:minimum_products] if args.key?(:minimum_products)
3400
+ end
3401
+ end
3402
+
3219
3403
  # Response message of CatalogService.GetDefaultBranch.
3220
3404
  class GoogleCloudRetailV2alphaGetDefaultBranchResponse
3221
3405
  include Google::Apis::Core::Hashable
@@ -3248,10 +3432,11 @@ module Google
3248
3432
  end
3249
3433
  end
3250
3434
 
3251
- # Product image. Recommendations AI and Retail Search do not use product images
3252
- # to improve prediction and search results. However, product images can be
3253
- # returned in results, and are shown in prediction or search previews in the
3254
- # console.
3435
+ # Product image. Recommendations AI and Retail Search use product images to
3436
+ # improve prediction and search results. Product images can be returned in
3437
+ # results, and are shown in prediction or search previews in the console. Please
3438
+ # try to provide correct product images and avoid using images with size too
3439
+ # small.
3255
3440
  class GoogleCloudRetailV2alphaImage
3256
3441
  include Google::Apis::Core::Hashable
3257
3442
 
@@ -3700,6 +3885,25 @@ module Google
3700
3885
  end
3701
3886
  end
3702
3887
 
3888
+ # Response for ListQuestions method.
3889
+ class GoogleCloudRetailV2alphaListGenerativeQuestionConfigsResponse
3890
+ include Google::Apis::Core::Hashable
3891
+
3892
+ # All the questions for a given catalog.
3893
+ # Corresponds to the JSON property `generativeQuestionConfigs`
3894
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaGenerativeQuestionConfig>]
3895
+ attr_accessor :generative_question_configs
3896
+
3897
+ def initialize(**args)
3898
+ update!(**args)
3899
+ end
3900
+
3901
+ # Update properties of this object
3902
+ def update!(**args)
3903
+ @generative_question_configs = args[:generative_question_configs] if args.key?(:generative_question_configs)
3904
+ end
3905
+ end
3906
+
3703
3907
  # Response for MerchantCenterAccountLinkService.ListMerchantCenterAccountLinks
3704
3908
  # method.
3705
3909
  class GoogleCloudRetailV2alphaListMerchantCenterAccountLinksResponse
@@ -3809,8 +4013,8 @@ module Google
3809
4013
  class GoogleCloudRetailV2alphaLocalInventory
3810
4014
  include Google::Apis::Core::Hashable
3811
4015
 
3812
- # Additional local inventory attributes, for example, store name, promotion tags,
3813
- # etc. This field needs to pass all below criteria, otherwise an
4016
+ # Optional. Additional local inventory attributes, for example, store name,
4017
+ # promotion tags, etc. This field needs to pass all below criteria, otherwise an
3814
4018
  # INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The
3815
4019
  # key must be a UTF-8 encoded string with a length limit of 32 characters. * The
3816
4020
  # key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or
@@ -3823,7 +4027,20 @@ module Google
3823
4027
  # @return [Hash<String,Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaCustomAttribute>]
3824
4028
  attr_accessor :attributes
3825
4029
 
3826
- # Input only. Supported fulfillment types. Valid fulfillment type values include
4030
+ # Optional. The availability of the Product at this place_id. Default to
4031
+ # Availability.IN_STOCK. For primary products with variants set the availability
4032
+ # of the primary as Availability.OUT_OF_STOCK and set the true availability at
4033
+ # the variant level. This way the primary product will be considered "in stock"
4034
+ # as long as it has at least one variant in stock. For primary products with no
4035
+ # variants set the true availability at the primary level. Corresponding
4036
+ # properties: Google Merchant Center property [availability](https://support.
4037
+ # google.com/merchants/answer/6324448). Schema.org property [Offer.availability](
4038
+ # https://schema.org/availability).
4039
+ # Corresponds to the JSON property `availability`
4040
+ # @return [String]
4041
+ attr_accessor :availability
4042
+
4043
+ # Optional. Supported fulfillment types. Valid fulfillment type values include
3827
4044
  # commonly used types (such as pickup in store and same day delivery), and
3828
4045
  # custom types. Customers have to map custom types to their display names before
3829
4046
  # rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-
@@ -3835,7 +4052,7 @@ module Google
3835
4052
  # @return [Array<String>]
3836
4053
  attr_accessor :fulfillment_types
3837
4054
 
3838
- # The place ID for the current set of inventory information.
4055
+ # Required. The place ID for the current set of inventory information.
3839
4056
  # Corresponds to the JSON property `placeId`
3840
4057
  # @return [String]
3841
4058
  attr_accessor :place_id
@@ -3852,6 +4069,7 @@ module Google
3852
4069
  # Update properties of this object
3853
4070
  def update!(**args)
3854
4071
  @attributes = args[:attributes] if args.key?(:attributes)
4072
+ @availability = args[:availability] if args.key?(:availability)
3855
4073
  @fulfillment_types = args[:fulfillment_types] if args.key?(:fulfillment_types)
3856
4074
  @place_id = args[:place_id] if args.key?(:place_id)
3857
4075
  @price_info = args[:price_info] if args.key?(:price_info)
@@ -4620,6 +4838,52 @@ module Google
4620
4838
  end
4621
4839
  end
4622
4840
 
4841
+ # Metadata for pinning to be returned in the response. This is used for
4842
+ # distinguishing between applied vs dropped pins.
4843
+ class GoogleCloudRetailV2alphaPinControlMetadata
4844
+ include Google::Apis::Core::Hashable
4845
+
4846
+ # Map of all matched pins, keyed by pin position.
4847
+ # Corresponds to the JSON property `allMatchedPins`
4848
+ # @return [Hash<String,Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaPinControlMetadataProductPins>]
4849
+ attr_accessor :all_matched_pins
4850
+
4851
+ # Map of pins that were dropped due to overlap with other matching pins, keyed
4852
+ # by pin position.
4853
+ # Corresponds to the JSON property `droppedPins`
4854
+ # @return [Hash<String,Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaPinControlMetadataProductPins>]
4855
+ attr_accessor :dropped_pins
4856
+
4857
+ def initialize(**args)
4858
+ update!(**args)
4859
+ end
4860
+
4861
+ # Update properties of this object
4862
+ def update!(**args)
4863
+ @all_matched_pins = args[:all_matched_pins] if args.key?(:all_matched_pins)
4864
+ @dropped_pins = args[:dropped_pins] if args.key?(:dropped_pins)
4865
+ end
4866
+ end
4867
+
4868
+ # List of product ids which have associated pins.
4869
+ class GoogleCloudRetailV2alphaPinControlMetadataProductPins
4870
+ include Google::Apis::Core::Hashable
4871
+
4872
+ # List of product ids which have associated pins.
4873
+ # Corresponds to the JSON property `productId`
4874
+ # @return [Array<String>]
4875
+ attr_accessor :product_id
4876
+
4877
+ def initialize(**args)
4878
+ update!(**args)
4879
+ end
4880
+
4881
+ # Update properties of this object
4882
+ def update!(**args)
4883
+ @product_id = args[:product_id] if args.key?(:product_id)
4884
+ end
4885
+ end
4886
+
4623
4887
  # Request message for Predict method.
4624
4888
  class GoogleCloudRetailV2alphaPredictRequest
4625
4889
  include Google::Apis::Core::Hashable
@@ -4931,10 +5195,15 @@ module Google
4931
5195
  # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaAudience]
4932
5196
  attr_accessor :audience
4933
5197
 
4934
- # The online availability of the Product. Default to Availability.IN_STOCK.
4935
- # Corresponding properties: Google Merchant Center property [availability](https:
4936
- # //support.google.com/merchants/answer/6324448). Schema.org property [Offer.
4937
- # availability](https://schema.org/availability).
5198
+ # The online availability of the Product. Default to Availability.IN_STOCK. For
5199
+ # primary products with variants set the availability of the primary as
5200
+ # Availability.OUT_OF_STOCK and set the true availability at the variant level.
5201
+ # This way the primary product will be considered "in stock" as long as it has
5202
+ # at least one variant in stock. For primary products with no variants set the
5203
+ # true availability at the primary level. Corresponding properties: Google
5204
+ # Merchant Center property [availability](https://support.google.com/merchants/
5205
+ # answer/6324448). Schema.org property [Offer.availability](https://schema.org/
5206
+ # availability).
4938
5207
  # Corresponds to the JSON property `availability`
4939
5208
  # @return [String]
4940
5209
  attr_accessor :availability
@@ -5162,10 +5431,9 @@ module Google
5162
5431
  # attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION,
5163
5432
  # the following fields are always returned in SearchResponse by default: * name
5164
5433
  # For Type.VARIANT, the following fields are always returned in by default: *
5165
- # name * color_info The maximum number of paths is 30. Otherwise, an
5166
- # INVALID_ARGUMENT error is returned. Note: Returning more fields in
5167
- # SearchResponse can increase response payload size and serving latency. This
5168
- # field is deprecated. Use the retrievable site-wide control instead.
5434
+ # name * color_info Note: Returning more fields in SearchResponse can increase
5435
+ # response payload size and serving latency. This field is deprecated. Use the
5436
+ # retrievable site-wide control instead.
5169
5437
  # Corresponds to the JSON property `retrievableFields`
5170
5438
  # @return [String]
5171
5439
  attr_accessor :retrievable_fields
@@ -5290,6 +5558,58 @@ module Google
5290
5558
  end
5291
5559
  end
5292
5560
 
5561
+ # Product attribute name and numeric interval.
5562
+ class GoogleCloudRetailV2alphaProductAttributeInterval
5563
+ include Google::Apis::Core::Hashable
5564
+
5565
+ # A floating point interval.
5566
+ # Corresponds to the JSON property `interval`
5567
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaInterval]
5568
+ attr_accessor :interval
5569
+
5570
+ # The attribute name (e.g. "length")
5571
+ # Corresponds to the JSON property `name`
5572
+ # @return [String]
5573
+ attr_accessor :name
5574
+
5575
+ def initialize(**args)
5576
+ update!(**args)
5577
+ end
5578
+
5579
+ # Update properties of this object
5580
+ def update!(**args)
5581
+ @interval = args[:interval] if args.key?(:interval)
5582
+ @name = args[:name] if args.key?(:name)
5583
+ end
5584
+ end
5585
+
5586
+ # Product attribute which structured by an attribute name and value. This
5587
+ # structure is used in conversational search filters and answers. For example,
5588
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
5589
+ class GoogleCloudRetailV2alphaProductAttributeValue
5590
+ include Google::Apis::Core::Hashable
5591
+
5592
+ # The attribute name.
5593
+ # Corresponds to the JSON property `name`
5594
+ # @return [String]
5595
+ attr_accessor :name
5596
+
5597
+ # The attribute value.
5598
+ # Corresponds to the JSON property `value`
5599
+ # @return [String]
5600
+ attr_accessor :value
5601
+
5602
+ def initialize(**args)
5603
+ update!(**args)
5604
+ end
5605
+
5606
+ # Update properties of this object
5607
+ def update!(**args)
5608
+ @name = args[:name] if args.key?(:name)
5609
+ @value = args[:value] if args.key?(:value)
5610
+ end
5611
+ end
5612
+
5293
5613
  # Detailed product information associated with a user event.
5294
5614
  class GoogleCloudRetailV2alphaProductDetail
5295
5615
  include Google::Apis::Core::Hashable
@@ -6257,7 +6577,7 @@ module Google
6257
6577
  include Google::Apis::Core::Hashable
6258
6578
 
6259
6579
  # Each instance corresponds to a force return attribute for the given condition.
6260
- # There can't be more 3 instances here.
6580
+ # There can't be more 15 instances here.
6261
6581
  # Corresponds to the JSON property `facetPositionAdjustments`
6262
6582
  # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaRuleForceReturnFacetActionFacetPositionAdjustment>]
6263
6583
  attr_accessor :facet_position_adjustments
@@ -6489,6 +6809,12 @@ module Google
6489
6809
  # @return [String]
6490
6810
  attr_accessor :canonical_filter
6491
6811
 
6812
+ # This field specifies all conversational related parameters addition to
6813
+ # traditional retail search.
6814
+ # Corresponds to the JSON property `conversationalSearchSpec`
6815
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpec]
6816
+ attr_accessor :conversational_search_spec
6817
+
6492
6818
  # The specifications of dynamically generated facets.
6493
6819
  # Corresponds to the JSON property `dynamicFacetSpec`
6494
6820
  # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestDynamicFacetSpec]
@@ -6613,6 +6939,11 @@ module Google
6613
6939
  # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestSpellCorrectionSpec]
6614
6940
  attr_accessor :spell_correction_spec
6615
6941
 
6942
+ # This field specifies tile navigation related parameters.
6943
+ # Corresponds to the JSON property `tileNavigationSpec`
6944
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestTileNavigationSpec]
6945
+ attr_accessor :tile_navigation_spec
6946
+
6616
6947
  # Information of an end user.
6617
6948
  # Corresponds to the JSON property `userInfo`
6618
6949
  # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaUserInfo]
@@ -6667,6 +6998,7 @@ module Google
6667
6998
  @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
6668
6999
  @branch = args[:branch] if args.key?(:branch)
6669
7000
  @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
7001
+ @conversational_search_spec = args[:conversational_search_spec] if args.key?(:conversational_search_spec)
6670
7002
  @dynamic_facet_spec = args[:dynamic_facet_spec] if args.key?(:dynamic_facet_spec)
6671
7003
  @entity = args[:entity] if args.key?(:entity)
6672
7004
  @facet_specs = args[:facet_specs] if args.key?(:facet_specs)
@@ -6683,6 +7015,7 @@ module Google
6683
7015
  @relevance_threshold = args[:relevance_threshold] if args.key?(:relevance_threshold)
6684
7016
  @search_mode = args[:search_mode] if args.key?(:search_mode)
6685
7017
  @spell_correction_spec = args[:spell_correction_spec] if args.key?(:spell_correction_spec)
7018
+ @tile_navigation_spec = args[:tile_navigation_spec] if args.key?(:tile_navigation_spec)
6686
7019
  @user_info = args[:user_info] if args.key?(:user_info)
6687
7020
  @variant_rollup_keys = args[:variant_rollup_keys] if args.key?(:variant_rollup_keys)
6688
7021
  @visitor_id = args[:visitor_id] if args.key?(:visitor_id)
@@ -6758,6 +7091,102 @@ module Google
6758
7091
  end
6759
7092
  end
6760
7093
 
7094
+ # This field specifies all conversational related parameters addition to
7095
+ # traditional retail search.
7096
+ class GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpec
7097
+ include Google::Apis::Core::Hashable
7098
+
7099
+ # This field specifies the conversation id, which maintains the state of the
7100
+ # conversation between client side and server side. Use the value from the
7101
+ # previous ConversationalSearchResult.conversation_id. For the initial request,
7102
+ # this should be empty.
7103
+ # Corresponds to the JSON property `conversationId`
7104
+ # @return [String]
7105
+ attr_accessor :conversation_id
7106
+
7107
+ # This field specifies whether the customer would like to do conversational
7108
+ # search. If this field is set to true, conversational related extra information
7109
+ # will be returned from server side, including follow-up question, answer
7110
+ # options, etc.
7111
+ # Corresponds to the JSON property `followupConversationRequested`
7112
+ # @return [Boolean]
7113
+ attr_accessor :followup_conversation_requested
7114
+ alias_method :followup_conversation_requested?, :followup_conversation_requested
7115
+
7116
+ # This field specifies the current user answer during the conversational search.
7117
+ # This can be either user selected from suggested answers or user input plain
7118
+ # text.
7119
+ # Corresponds to the JSON property `userAnswer`
7120
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswer]
7121
+ attr_accessor :user_answer
7122
+
7123
+ def initialize(**args)
7124
+ update!(**args)
7125
+ end
7126
+
7127
+ # Update properties of this object
7128
+ def update!(**args)
7129
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
7130
+ @followup_conversation_requested = args[:followup_conversation_requested] if args.key?(:followup_conversation_requested)
7131
+ @user_answer = args[:user_answer] if args.key?(:user_answer)
7132
+ end
7133
+ end
7134
+
7135
+ # This field specifies the current user answer during the conversational search.
7136
+ # This can be either user selected from suggested answers or user input plain
7137
+ # text.
7138
+ class GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswer
7139
+ include Google::Apis::Core::Hashable
7140
+
7141
+ # This field specifies the selected answers during the conversational search.
7142
+ # Corresponds to the JSON property `selectedAnswer`
7143
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswerSelectedAnswer]
7144
+ attr_accessor :selected_answer
7145
+
7146
+ # This field specifies the incremental input text from the user during the
7147
+ # conversational search.
7148
+ # Corresponds to the JSON property `textAnswer`
7149
+ # @return [String]
7150
+ attr_accessor :text_answer
7151
+
7152
+ def initialize(**args)
7153
+ update!(**args)
7154
+ end
7155
+
7156
+ # Update properties of this object
7157
+ def update!(**args)
7158
+ @selected_answer = args[:selected_answer] if args.key?(:selected_answer)
7159
+ @text_answer = args[:text_answer] if args.key?(:text_answer)
7160
+ end
7161
+ end
7162
+
7163
+ # This field specifies the selected answers during the conversational search.
7164
+ class GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswerSelectedAnswer
7165
+ include Google::Apis::Core::Hashable
7166
+
7167
+ # Product attribute which structured by an attribute name and value. This
7168
+ # structure is used in conversational search filters and answers. For example,
7169
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
7170
+ # Corresponds to the JSON property `productAttributeValue`
7171
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeValue]
7172
+ attr_accessor :product_attribute_value
7173
+
7174
+ # This field is deprecated and should not be set.
7175
+ # Corresponds to the JSON property `productAttributeValues`
7176
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeValue>]
7177
+ attr_accessor :product_attribute_values
7178
+
7179
+ def initialize(**args)
7180
+ update!(**args)
7181
+ end
7182
+
7183
+ # Update properties of this object
7184
+ def update!(**args)
7185
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
7186
+ @product_attribute_values = args[:product_attribute_values] if args.key?(:product_attribute_values)
7187
+ end
7188
+ end
7189
+
6761
7190
  # The specifications of dynamically generated facets.
6762
7191
  class GoogleCloudRetailV2alphaSearchRequestDynamicFacetSpec
6763
7192
  include Google::Apis::Core::Hashable
@@ -7036,6 +7465,35 @@ module Google
7036
7465
  end
7037
7466
  end
7038
7467
 
7468
+ # This field specifies tile navigation related parameters.
7469
+ class GoogleCloudRetailV2alphaSearchRequestTileNavigationSpec
7470
+ include Google::Apis::Core::Hashable
7471
+
7472
+ # This field specifies the tiles which are already clicked in client side. NOTE:
7473
+ # This field is not being used for filtering search products. Client side should
7474
+ # also put all the applied tiles in SearchRequest.filter.
7475
+ # Corresponds to the JSON property `appliedTiles`
7476
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaTile>]
7477
+ attr_accessor :applied_tiles
7478
+
7479
+ # This field specifies whether the customer would like to request tile
7480
+ # navigation.
7481
+ # Corresponds to the JSON property `tileNavigationRequested`
7482
+ # @return [Boolean]
7483
+ attr_accessor :tile_navigation_requested
7484
+ alias_method :tile_navigation_requested?, :tile_navigation_requested
7485
+
7486
+ def initialize(**args)
7487
+ update!(**args)
7488
+ end
7489
+
7490
+ # Update properties of this object
7491
+ def update!(**args)
7492
+ @applied_tiles = args[:applied_tiles] if args.key?(:applied_tiles)
7493
+ @tile_navigation_requested = args[:tile_navigation_requested] if args.key?(:tile_navigation_requested)
7494
+ end
7495
+ end
7496
+
7039
7497
  # Response message for SearchService.Search method.
7040
7498
  class GoogleCloudRetailV2alphaSearchResponse
7041
7499
  include Google::Apis::Core::Hashable
@@ -7053,6 +7511,12 @@ module Google
7053
7511
  # @return [String]
7054
7512
  attr_accessor :attribution_token
7055
7513
 
7514
+ # This field specifies all related information that is needed on client side for
7515
+ # UI rendering of conversational retail search.
7516
+ # Corresponds to the JSON property `conversationalSearchResult`
7517
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseConversationalSearchResult]
7518
+ attr_accessor :conversational_search_result
7519
+
7056
7520
  # Contains the spell corrected query, if found. If the spell correction type is
7057
7521
  # AUTOMATIC, then the search results are based on corrected_query. Otherwise the
7058
7522
  # original query is used for search.
@@ -7060,7 +7524,7 @@ module Google
7060
7524
  # @return [String]
7061
7525
  attr_accessor :corrected_query
7062
7526
 
7063
- # Metadata related to A/B testing Experiment associated with this response. Only
7527
+ # Metadata related to A/B testing experiment associated with this response. Only
7064
7528
  # exists when an experiment is triggered.
7065
7529
  # Corresponds to the JSON property `experimentInfo`
7066
7530
  # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaExperimentInfo>]
@@ -7083,6 +7547,12 @@ module Google
7083
7547
  # @return [String]
7084
7548
  attr_accessor :next_page_token
7085
7549
 
7550
+ # Metadata for pinning to be returned in the response. This is used for
7551
+ # distinguishing between applied vs dropped pins.
7552
+ # Corresponds to the JSON property `pinControlMetadata`
7553
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaPinControlMetadata]
7554
+ attr_accessor :pin_control_metadata
7555
+
7086
7556
  # Information describing query expansion including whether expansion has
7087
7557
  # occurred.
7088
7558
  # Corresponds to the JSON property `queryExpansionInfo`
@@ -7101,6 +7571,12 @@ module Google
7101
7571
  # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseSearchResult>]
7102
7572
  attr_accessor :results
7103
7573
 
7574
+ # This field specifies all related information for tile navigation that will be
7575
+ # used in client side.
7576
+ # Corresponds to the JSON property `tileNavigationResult`
7577
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseTileNavigationResult]
7578
+ attr_accessor :tile_navigation_result
7579
+
7104
7580
  # The estimated total count of matched items irrespective of pagination. The
7105
7581
  # count of results returned by pagination may be less than the total_size that
7106
7582
  # matches.
@@ -7116,18 +7592,123 @@ module Google
7116
7592
  def update!(**args)
7117
7593
  @applied_controls = args[:applied_controls] if args.key?(:applied_controls)
7118
7594
  @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
7595
+ @conversational_search_result = args[:conversational_search_result] if args.key?(:conversational_search_result)
7119
7596
  @corrected_query = args[:corrected_query] if args.key?(:corrected_query)
7120
7597
  @experiment_info = args[:experiment_info] if args.key?(:experiment_info)
7121
7598
  @facets = args[:facets] if args.key?(:facets)
7122
7599
  @invalid_condition_boost_specs = args[:invalid_condition_boost_specs] if args.key?(:invalid_condition_boost_specs)
7123
7600
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
7601
+ @pin_control_metadata = args[:pin_control_metadata] if args.key?(:pin_control_metadata)
7124
7602
  @query_expansion_info = args[:query_expansion_info] if args.key?(:query_expansion_info)
7125
7603
  @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
7126
7604
  @results = args[:results] if args.key?(:results)
7605
+ @tile_navigation_result = args[:tile_navigation_result] if args.key?(:tile_navigation_result)
7127
7606
  @total_size = args[:total_size] if args.key?(:total_size)
7128
7607
  end
7129
7608
  end
7130
7609
 
7610
+ # This field specifies all related information that is needed on client side for
7611
+ # UI rendering of conversational retail search.
7612
+ class GoogleCloudRetailV2alphaSearchResponseConversationalSearchResult
7613
+ include Google::Apis::Core::Hashable
7614
+
7615
+ # Additional filter that client side need to apply.
7616
+ # Corresponds to the JSON property `additionalFilter`
7617
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultAdditionalFilter]
7618
+ attr_accessor :additional_filter
7619
+
7620
+ # This field is deprecated but will be kept for backward compatibility. There is
7621
+ # expected to have only one additional filter and the value will be the same to
7622
+ # the same as field `additional_filter`.
7623
+ # Corresponds to the JSON property `additionalFilters`
7624
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultAdditionalFilter>]
7625
+ attr_accessor :additional_filters
7626
+
7627
+ # Conversation UUID. This field will be stored in client side storage to
7628
+ # maintain the conversation session with server and will be used for next search
7629
+ # request's SearchRequest.ConversationalSearchSpec.conversation_id to restore
7630
+ # conversation state in server.
7631
+ # Corresponds to the JSON property `conversationId`
7632
+ # @return [String]
7633
+ attr_accessor :conversation_id
7634
+
7635
+ # The follow-up question. e.g., `What is the color?`
7636
+ # Corresponds to the JSON property `followupQuestion`
7637
+ # @return [String]
7638
+ attr_accessor :followup_question
7639
+
7640
+ # The current refined query for the conversational search. This field will be
7641
+ # used in customer UI that the query in the search bar should be replaced with
7642
+ # the refined query. For example, if SearchRequest.query is `dress` and next
7643
+ # SearchRequest.ConversationalSearchSpec.UserAnswer.text_answer is `red color`,
7644
+ # which does not match any product attribute value filters, the refined query
7645
+ # will be `dress, red color`.
7646
+ # Corresponds to the JSON property `refinedQuery`
7647
+ # @return [String]
7648
+ attr_accessor :refined_query
7649
+
7650
+ # The answer options provided to client for the follow-up question.
7651
+ # Corresponds to the JSON property `suggestedAnswers`
7652
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultSuggestedAnswer>]
7653
+ attr_accessor :suggested_answers
7654
+
7655
+ def initialize(**args)
7656
+ update!(**args)
7657
+ end
7658
+
7659
+ # Update properties of this object
7660
+ def update!(**args)
7661
+ @additional_filter = args[:additional_filter] if args.key?(:additional_filter)
7662
+ @additional_filters = args[:additional_filters] if args.key?(:additional_filters)
7663
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
7664
+ @followup_question = args[:followup_question] if args.key?(:followup_question)
7665
+ @refined_query = args[:refined_query] if args.key?(:refined_query)
7666
+ @suggested_answers = args[:suggested_answers] if args.key?(:suggested_answers)
7667
+ end
7668
+ end
7669
+
7670
+ # Additional filter that client side need to apply.
7671
+ class GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultAdditionalFilter
7672
+ include Google::Apis::Core::Hashable
7673
+
7674
+ # Product attribute which structured by an attribute name and value. This
7675
+ # structure is used in conversational search filters and answers. For example,
7676
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
7677
+ # Corresponds to the JSON property `productAttributeValue`
7678
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeValue]
7679
+ attr_accessor :product_attribute_value
7680
+
7681
+ def initialize(**args)
7682
+ update!(**args)
7683
+ end
7684
+
7685
+ # Update properties of this object
7686
+ def update!(**args)
7687
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
7688
+ end
7689
+ end
7690
+
7691
+ # Suggested answers to the follow-up question.
7692
+ class GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultSuggestedAnswer
7693
+ include Google::Apis::Core::Hashable
7694
+
7695
+ # Product attribute which structured by an attribute name and value. This
7696
+ # structure is used in conversational search filters and answers. For example,
7697
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
7698
+ # Corresponds to the JSON property `productAttributeValue`
7699
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeValue]
7700
+ attr_accessor :product_attribute_value
7701
+
7702
+ def initialize(**args)
7703
+ update!(**args)
7704
+ end
7705
+
7706
+ # Update properties of this object
7707
+ def update!(**args)
7708
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
7709
+ end
7710
+ end
7711
+
7131
7712
  # A facet result.
7132
7713
  class GoogleCloudRetailV2alphaSearchResponseFacet
7133
7714
  include Google::Apis::Core::Hashable
@@ -7303,6 +7884,26 @@ module Google
7303
7884
  end
7304
7885
  end
7305
7886
 
7887
+ # This field specifies all related information for tile navigation that will be
7888
+ # used in client side.
7889
+ class GoogleCloudRetailV2alphaSearchResponseTileNavigationResult
7890
+ include Google::Apis::Core::Hashable
7891
+
7892
+ # The current tiles that are used for tile navigation, sorted by engagement.
7893
+ # Corresponds to the JSON property `tiles`
7894
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaTile>]
7895
+ attr_accessor :tiles
7896
+
7897
+ def initialize(**args)
7898
+ update!(**args)
7899
+ end
7900
+
7901
+ # Update properties of this object
7902
+ def update!(**args)
7903
+ @tiles = args[:tiles] if args.key?(:tiles)
7904
+ end
7905
+ end
7906
+
7306
7907
  # Configures metadata that is used to generate serving time results (e.g. search
7307
7908
  # results or recommendation predictions).
7308
7909
  class GoogleCloudRetailV2alphaServingConfig
@@ -7613,6 +8214,41 @@ module Google
7613
8214
  end
7614
8215
  end
7615
8216
 
8217
+ # This field specifies the tile information including an attribute key,
8218
+ # attribute value. More fields will be added in the future, eg: product id or
8219
+ # product counts, etc.
8220
+ class GoogleCloudRetailV2alphaTile
8221
+ include Google::Apis::Core::Hashable
8222
+
8223
+ # Product attribute name and numeric interval.
8224
+ # Corresponds to the JSON property `productAttributeInterval`
8225
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeInterval]
8226
+ attr_accessor :product_attribute_interval
8227
+
8228
+ # Product attribute which structured by an attribute name and value. This
8229
+ # structure is used in conversational search filters and answers. For example,
8230
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
8231
+ # Corresponds to the JSON property `productAttributeValue`
8232
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeValue]
8233
+ attr_accessor :product_attribute_value
8234
+
8235
+ # The representative product id for this tile.
8236
+ # Corresponds to the JSON property `representativeProductId`
8237
+ # @return [String]
8238
+ attr_accessor :representative_product_id
8239
+
8240
+ def initialize(**args)
8241
+ update!(**args)
8242
+ end
8243
+
8244
+ # Update properties of this object
8245
+ def update!(**args)
8246
+ @product_attribute_interval = args[:product_attribute_interval] if args.key?(:product_attribute_interval)
8247
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
8248
+ @representative_product_id = args[:representative_product_id] if args.key?(:representative_product_id)
8249
+ end
8250
+ end
8251
+
7616
8252
  # Metadata related to transform user events operation.
7617
8253
  class GoogleCloudRetailV2alphaTransformedUserEventsMetadata
7618
8254
  include Google::Apis::Core::Hashable
@@ -7687,6 +8323,33 @@ module Google
7687
8323
  end
7688
8324
  end
7689
8325
 
8326
+ # Request for UpdateGenerativeQuestionConfig method.
8327
+ class GoogleCloudRetailV2alphaUpdateGenerativeQuestionConfigRequest
8328
+ include Google::Apis::Core::Hashable
8329
+
8330
+ # Configuration for a single generated question.
8331
+ # Corresponds to the JSON property `generativeQuestionConfig`
8332
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaGenerativeQuestionConfig]
8333
+ attr_accessor :generative_question_config
8334
+
8335
+ # Optional. Indicates which fields in the provided GenerativeQuestionConfig to
8336
+ # update. The following are NOT supported: * GenerativeQuestionConfig.frequency
8337
+ # If not set or empty, all supported fields are updated.
8338
+ # Corresponds to the JSON property `updateMask`
8339
+ # @return [String]
8340
+ attr_accessor :update_mask
8341
+
8342
+ def initialize(**args)
8343
+ update!(**args)
8344
+ end
8345
+
8346
+ # Update properties of this object
8347
+ def update!(**args)
8348
+ @generative_question_config = args[:generative_question_config] if args.key?(:generative_question_config)
8349
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
8350
+ end
8351
+ end
8352
+
7690
8353
  # UserEvent captures all metadata information Retail API needs to know about how
7691
8354
  # end users interact with customers' website.
7692
8355
  class GoogleCloudRetailV2alphaUserEvent
@@ -8026,12 +8689,11 @@ module Google
8026
8689
  # @return [String]
8027
8690
  attr_accessor :ip_address
8028
8691
 
8029
- # User agent as included in the HTTP header. Required for getting SearchResponse.
8030
- # sponsored_results. The field must be a UTF-8 encoded string with a length
8031
- # limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
8032
- # This should not be set when using the client side event reporting with GTM or
8033
- # JavaScript tag in UserEventService.CollectUserEvent or if direct_user_request
8034
- # is set.
8692
+ # User agent as included in the HTTP header. The field must be a UTF-8 encoded
8693
+ # string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT
8694
+ # error is returned. This should not be set when using the client side event
8695
+ # reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or
8696
+ # if direct_user_request is set.
8035
8697
  # Corresponds to the JSON property `userAgent`
8036
8698
  # @return [String]
8037
8699
  attr_accessor :user_agent