google-apis-retail_v2alpha 0.104.0 → 0.105.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
@@ -3700,6 +3884,25 @@ module Google
3700
3884
  end
3701
3885
  end
3702
3886
 
3887
+ # Response for ListQuestions method.
3888
+ class GoogleCloudRetailV2alphaListGenerativeQuestionConfigsResponse
3889
+ include Google::Apis::Core::Hashable
3890
+
3891
+ # All the questions for a given catalog.
3892
+ # Corresponds to the JSON property `generativeQuestionConfigs`
3893
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaGenerativeQuestionConfig>]
3894
+ attr_accessor :generative_question_configs
3895
+
3896
+ def initialize(**args)
3897
+ update!(**args)
3898
+ end
3899
+
3900
+ # Update properties of this object
3901
+ def update!(**args)
3902
+ @generative_question_configs = args[:generative_question_configs] if args.key?(:generative_question_configs)
3903
+ end
3904
+ end
3905
+
3703
3906
  # Response for MerchantCenterAccountLinkService.ListMerchantCenterAccountLinks
3704
3907
  # method.
3705
3908
  class GoogleCloudRetailV2alphaListMerchantCenterAccountLinksResponse
@@ -3809,8 +4012,8 @@ module Google
3809
4012
  class GoogleCloudRetailV2alphaLocalInventory
3810
4013
  include Google::Apis::Core::Hashable
3811
4014
 
3812
- # Additional local inventory attributes, for example, store name, promotion tags,
3813
- # etc. This field needs to pass all below criteria, otherwise an
4015
+ # Optional. Additional local inventory attributes, for example, store name,
4016
+ # promotion tags, etc. This field needs to pass all below criteria, otherwise an
3814
4017
  # INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The
3815
4018
  # key must be a UTF-8 encoded string with a length limit of 32 characters. * The
3816
4019
  # key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or
@@ -3823,7 +4026,20 @@ module Google
3823
4026
  # @return [Hash<String,Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaCustomAttribute>]
3824
4027
  attr_accessor :attributes
3825
4028
 
3826
- # Input only. Supported fulfillment types. Valid fulfillment type values include
4029
+ # Optional. The availability of the Product at this place_id. Default to
4030
+ # Availability.IN_STOCK. For primary products with variants set the availability
4031
+ # of the primary as Availability.OUT_OF_STOCK and set the true availability at
4032
+ # the variant level. This way the primary product will be considered "in stock"
4033
+ # as long as it has at least one variant in stock. For primary products with no
4034
+ # variants set the true availability at the primary level. Corresponding
4035
+ # properties: Google Merchant Center property [availability](https://support.
4036
+ # google.com/merchants/answer/6324448). Schema.org property [Offer.availability](
4037
+ # https://schema.org/availability).
4038
+ # Corresponds to the JSON property `availability`
4039
+ # @return [String]
4040
+ attr_accessor :availability
4041
+
4042
+ # Optional. Supported fulfillment types. Valid fulfillment type values include
3827
4043
  # commonly used types (such as pickup in store and same day delivery), and
3828
4044
  # custom types. Customers have to map custom types to their display names before
3829
4045
  # rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-
@@ -3835,7 +4051,7 @@ module Google
3835
4051
  # @return [Array<String>]
3836
4052
  attr_accessor :fulfillment_types
3837
4053
 
3838
- # The place ID for the current set of inventory information.
4054
+ # Required. The place ID for the current set of inventory information.
3839
4055
  # Corresponds to the JSON property `placeId`
3840
4056
  # @return [String]
3841
4057
  attr_accessor :place_id
@@ -3852,6 +4068,7 @@ module Google
3852
4068
  # Update properties of this object
3853
4069
  def update!(**args)
3854
4070
  @attributes = args[:attributes] if args.key?(:attributes)
4071
+ @availability = args[:availability] if args.key?(:availability)
3855
4072
  @fulfillment_types = args[:fulfillment_types] if args.key?(:fulfillment_types)
3856
4073
  @place_id = args[:place_id] if args.key?(:place_id)
3857
4074
  @price_info = args[:price_info] if args.key?(:price_info)
@@ -4620,6 +4837,52 @@ module Google
4620
4837
  end
4621
4838
  end
4622
4839
 
4840
+ # Metadata for pinning to be returned in the response. This is used for
4841
+ # distinguishing between applied vs dropped pins.
4842
+ class GoogleCloudRetailV2alphaPinControlMetadata
4843
+ include Google::Apis::Core::Hashable
4844
+
4845
+ # Map of all matched pins, keyed by pin position.
4846
+ # Corresponds to the JSON property `allMatchedPins`
4847
+ # @return [Hash<String,Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaPinControlMetadataProductPins>]
4848
+ attr_accessor :all_matched_pins
4849
+
4850
+ # Map of pins that were dropped due to overlap with other matching pins, keyed
4851
+ # by pin position.
4852
+ # Corresponds to the JSON property `droppedPins`
4853
+ # @return [Hash<String,Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaPinControlMetadataProductPins>]
4854
+ attr_accessor :dropped_pins
4855
+
4856
+ def initialize(**args)
4857
+ update!(**args)
4858
+ end
4859
+
4860
+ # Update properties of this object
4861
+ def update!(**args)
4862
+ @all_matched_pins = args[:all_matched_pins] if args.key?(:all_matched_pins)
4863
+ @dropped_pins = args[:dropped_pins] if args.key?(:dropped_pins)
4864
+ end
4865
+ end
4866
+
4867
+ # List of product ids which have associated pins.
4868
+ class GoogleCloudRetailV2alphaPinControlMetadataProductPins
4869
+ include Google::Apis::Core::Hashable
4870
+
4871
+ # List of product ids which have associated pins.
4872
+ # Corresponds to the JSON property `productId`
4873
+ # @return [Array<String>]
4874
+ attr_accessor :product_id
4875
+
4876
+ def initialize(**args)
4877
+ update!(**args)
4878
+ end
4879
+
4880
+ # Update properties of this object
4881
+ def update!(**args)
4882
+ @product_id = args[:product_id] if args.key?(:product_id)
4883
+ end
4884
+ end
4885
+
4623
4886
  # Request message for Predict method.
4624
4887
  class GoogleCloudRetailV2alphaPredictRequest
4625
4888
  include Google::Apis::Core::Hashable
@@ -4931,10 +5194,15 @@ module Google
4931
5194
  # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaAudience]
4932
5195
  attr_accessor :audience
4933
5196
 
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).
5197
+ # The online availability of the Product. Default to Availability.IN_STOCK. For
5198
+ # primary products with variants set the availability of the primary as
5199
+ # Availability.OUT_OF_STOCK and set the true availability at the variant level.
5200
+ # This way the primary product will be considered "in stock" as long as it has
5201
+ # at least one variant in stock. For primary products with no variants set the
5202
+ # true availability at the primary level. Corresponding properties: Google
5203
+ # Merchant Center property [availability](https://support.google.com/merchants/
5204
+ # answer/6324448). Schema.org property [Offer.availability](https://schema.org/
5205
+ # availability).
4938
5206
  # Corresponds to the JSON property `availability`
4939
5207
  # @return [String]
4940
5208
  attr_accessor :availability
@@ -5162,10 +5430,9 @@ module Google
5162
5430
  # attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION,
5163
5431
  # the following fields are always returned in SearchResponse by default: * name
5164
5432
  # 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.
5433
+ # name * color_info Note: Returning more fields in SearchResponse can increase
5434
+ # response payload size and serving latency. This field is deprecated. Use the
5435
+ # retrievable site-wide control instead.
5169
5436
  # Corresponds to the JSON property `retrievableFields`
5170
5437
  # @return [String]
5171
5438
  attr_accessor :retrievable_fields
@@ -5290,6 +5557,58 @@ module Google
5290
5557
  end
5291
5558
  end
5292
5559
 
5560
+ # Product attribute name and numeric interval.
5561
+ class GoogleCloudRetailV2alphaProductAttributeInterval
5562
+ include Google::Apis::Core::Hashable
5563
+
5564
+ # A floating point interval.
5565
+ # Corresponds to the JSON property `interval`
5566
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaInterval]
5567
+ attr_accessor :interval
5568
+
5569
+ # The attribute name (e.g. "length")
5570
+ # Corresponds to the JSON property `name`
5571
+ # @return [String]
5572
+ attr_accessor :name
5573
+
5574
+ def initialize(**args)
5575
+ update!(**args)
5576
+ end
5577
+
5578
+ # Update properties of this object
5579
+ def update!(**args)
5580
+ @interval = args[:interval] if args.key?(:interval)
5581
+ @name = args[:name] if args.key?(:name)
5582
+ end
5583
+ end
5584
+
5585
+ # Product attribute which structured by an attribute name and value. This
5586
+ # structure is used in conversational search filters and answers. For example,
5587
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
5588
+ class GoogleCloudRetailV2alphaProductAttributeValue
5589
+ include Google::Apis::Core::Hashable
5590
+
5591
+ # The attribute name.
5592
+ # Corresponds to the JSON property `name`
5593
+ # @return [String]
5594
+ attr_accessor :name
5595
+
5596
+ # The attribute value.
5597
+ # Corresponds to the JSON property `value`
5598
+ # @return [String]
5599
+ attr_accessor :value
5600
+
5601
+ def initialize(**args)
5602
+ update!(**args)
5603
+ end
5604
+
5605
+ # Update properties of this object
5606
+ def update!(**args)
5607
+ @name = args[:name] if args.key?(:name)
5608
+ @value = args[:value] if args.key?(:value)
5609
+ end
5610
+ end
5611
+
5293
5612
  # Detailed product information associated with a user event.
5294
5613
  class GoogleCloudRetailV2alphaProductDetail
5295
5614
  include Google::Apis::Core::Hashable
@@ -6257,7 +6576,7 @@ module Google
6257
6576
  include Google::Apis::Core::Hashable
6258
6577
 
6259
6578
  # Each instance corresponds to a force return attribute for the given condition.
6260
- # There can't be more 3 instances here.
6579
+ # There can't be more 15 instances here.
6261
6580
  # Corresponds to the JSON property `facetPositionAdjustments`
6262
6581
  # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaRuleForceReturnFacetActionFacetPositionAdjustment>]
6263
6582
  attr_accessor :facet_position_adjustments
@@ -6489,6 +6808,12 @@ module Google
6489
6808
  # @return [String]
6490
6809
  attr_accessor :canonical_filter
6491
6810
 
6811
+ # This field specifies all conversational related parameters addition to
6812
+ # traditional retail search.
6813
+ # Corresponds to the JSON property `conversationalSearchSpec`
6814
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpec]
6815
+ attr_accessor :conversational_search_spec
6816
+
6492
6817
  # The specifications of dynamically generated facets.
6493
6818
  # Corresponds to the JSON property `dynamicFacetSpec`
6494
6819
  # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestDynamicFacetSpec]
@@ -6613,6 +6938,11 @@ module Google
6613
6938
  # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestSpellCorrectionSpec]
6614
6939
  attr_accessor :spell_correction_spec
6615
6940
 
6941
+ # This field specifies tile navigation related parameters.
6942
+ # Corresponds to the JSON property `tileNavigationSpec`
6943
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestTileNavigationSpec]
6944
+ attr_accessor :tile_navigation_spec
6945
+
6616
6946
  # Information of an end user.
6617
6947
  # Corresponds to the JSON property `userInfo`
6618
6948
  # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaUserInfo]
@@ -6667,6 +6997,7 @@ module Google
6667
6997
  @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
6668
6998
  @branch = args[:branch] if args.key?(:branch)
6669
6999
  @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
7000
+ @conversational_search_spec = args[:conversational_search_spec] if args.key?(:conversational_search_spec)
6670
7001
  @dynamic_facet_spec = args[:dynamic_facet_spec] if args.key?(:dynamic_facet_spec)
6671
7002
  @entity = args[:entity] if args.key?(:entity)
6672
7003
  @facet_specs = args[:facet_specs] if args.key?(:facet_specs)
@@ -6683,6 +7014,7 @@ module Google
6683
7014
  @relevance_threshold = args[:relevance_threshold] if args.key?(:relevance_threshold)
6684
7015
  @search_mode = args[:search_mode] if args.key?(:search_mode)
6685
7016
  @spell_correction_spec = args[:spell_correction_spec] if args.key?(:spell_correction_spec)
7017
+ @tile_navigation_spec = args[:tile_navigation_spec] if args.key?(:tile_navigation_spec)
6686
7018
  @user_info = args[:user_info] if args.key?(:user_info)
6687
7019
  @variant_rollup_keys = args[:variant_rollup_keys] if args.key?(:variant_rollup_keys)
6688
7020
  @visitor_id = args[:visitor_id] if args.key?(:visitor_id)
@@ -6758,6 +7090,102 @@ module Google
6758
7090
  end
6759
7091
  end
6760
7092
 
7093
+ # This field specifies all conversational related parameters addition to
7094
+ # traditional retail search.
7095
+ class GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpec
7096
+ include Google::Apis::Core::Hashable
7097
+
7098
+ # This field specifies the conversation id, which maintains the state of the
7099
+ # conversation between client side and server side. Use the value from the
7100
+ # previous ConversationalSearchResult.conversation_id. For the initial request,
7101
+ # this should be empty.
7102
+ # Corresponds to the JSON property `conversationId`
7103
+ # @return [String]
7104
+ attr_accessor :conversation_id
7105
+
7106
+ # This field specifies whether the customer would like to do conversational
7107
+ # search. If this field is set to true, conversational related extra information
7108
+ # will be returned from server side, including follow-up question, answer
7109
+ # options, etc.
7110
+ # Corresponds to the JSON property `followupConversationRequested`
7111
+ # @return [Boolean]
7112
+ attr_accessor :followup_conversation_requested
7113
+ alias_method :followup_conversation_requested?, :followup_conversation_requested
7114
+
7115
+ # This field specifies the current user answer during the conversational search.
7116
+ # This can be either user selected from suggested answers or user input plain
7117
+ # text.
7118
+ # Corresponds to the JSON property `userAnswer`
7119
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswer]
7120
+ attr_accessor :user_answer
7121
+
7122
+ def initialize(**args)
7123
+ update!(**args)
7124
+ end
7125
+
7126
+ # Update properties of this object
7127
+ def update!(**args)
7128
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
7129
+ @followup_conversation_requested = args[:followup_conversation_requested] if args.key?(:followup_conversation_requested)
7130
+ @user_answer = args[:user_answer] if args.key?(:user_answer)
7131
+ end
7132
+ end
7133
+
7134
+ # This field specifies the current user answer during the conversational search.
7135
+ # This can be either user selected from suggested answers or user input plain
7136
+ # text.
7137
+ class GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswer
7138
+ include Google::Apis::Core::Hashable
7139
+
7140
+ # This field specifies the selected answers during the conversational search.
7141
+ # Corresponds to the JSON property `selectedAnswer`
7142
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswerSelectedAnswer]
7143
+ attr_accessor :selected_answer
7144
+
7145
+ # This field specifies the incremental input text from the user during the
7146
+ # conversational search.
7147
+ # Corresponds to the JSON property `textAnswer`
7148
+ # @return [String]
7149
+ attr_accessor :text_answer
7150
+
7151
+ def initialize(**args)
7152
+ update!(**args)
7153
+ end
7154
+
7155
+ # Update properties of this object
7156
+ def update!(**args)
7157
+ @selected_answer = args[:selected_answer] if args.key?(:selected_answer)
7158
+ @text_answer = args[:text_answer] if args.key?(:text_answer)
7159
+ end
7160
+ end
7161
+
7162
+ # This field specifies the selected answers during the conversational search.
7163
+ class GoogleCloudRetailV2alphaSearchRequestConversationalSearchSpecUserAnswerSelectedAnswer
7164
+ include Google::Apis::Core::Hashable
7165
+
7166
+ # Product attribute which structured by an attribute name and value. This
7167
+ # structure is used in conversational search filters and answers. For example,
7168
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
7169
+ # Corresponds to the JSON property `productAttributeValue`
7170
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeValue]
7171
+ attr_accessor :product_attribute_value
7172
+
7173
+ # This field is deprecated and should not be set.
7174
+ # Corresponds to the JSON property `productAttributeValues`
7175
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeValue>]
7176
+ attr_accessor :product_attribute_values
7177
+
7178
+ def initialize(**args)
7179
+ update!(**args)
7180
+ end
7181
+
7182
+ # Update properties of this object
7183
+ def update!(**args)
7184
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
7185
+ @product_attribute_values = args[:product_attribute_values] if args.key?(:product_attribute_values)
7186
+ end
7187
+ end
7188
+
6761
7189
  # The specifications of dynamically generated facets.
6762
7190
  class GoogleCloudRetailV2alphaSearchRequestDynamicFacetSpec
6763
7191
  include Google::Apis::Core::Hashable
@@ -7036,6 +7464,35 @@ module Google
7036
7464
  end
7037
7465
  end
7038
7466
 
7467
+ # This field specifies tile navigation related parameters.
7468
+ class GoogleCloudRetailV2alphaSearchRequestTileNavigationSpec
7469
+ include Google::Apis::Core::Hashable
7470
+
7471
+ # This field specifies the tiles which are already clicked in client side. NOTE:
7472
+ # This field is not being used for filtering search products. Client side should
7473
+ # also put all the applied tiles in SearchRequest.filter.
7474
+ # Corresponds to the JSON property `appliedTiles`
7475
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaTile>]
7476
+ attr_accessor :applied_tiles
7477
+
7478
+ # This field specifies whether the customer would like to request tile
7479
+ # navigation.
7480
+ # Corresponds to the JSON property `tileNavigationRequested`
7481
+ # @return [Boolean]
7482
+ attr_accessor :tile_navigation_requested
7483
+ alias_method :tile_navigation_requested?, :tile_navigation_requested
7484
+
7485
+ def initialize(**args)
7486
+ update!(**args)
7487
+ end
7488
+
7489
+ # Update properties of this object
7490
+ def update!(**args)
7491
+ @applied_tiles = args[:applied_tiles] if args.key?(:applied_tiles)
7492
+ @tile_navigation_requested = args[:tile_navigation_requested] if args.key?(:tile_navigation_requested)
7493
+ end
7494
+ end
7495
+
7039
7496
  # Response message for SearchService.Search method.
7040
7497
  class GoogleCloudRetailV2alphaSearchResponse
7041
7498
  include Google::Apis::Core::Hashable
@@ -7053,6 +7510,12 @@ module Google
7053
7510
  # @return [String]
7054
7511
  attr_accessor :attribution_token
7055
7512
 
7513
+ # This field specifies all related information that is needed on client side for
7514
+ # UI rendering of conversational retail search.
7515
+ # Corresponds to the JSON property `conversationalSearchResult`
7516
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseConversationalSearchResult]
7517
+ attr_accessor :conversational_search_result
7518
+
7056
7519
  # Contains the spell corrected query, if found. If the spell correction type is
7057
7520
  # AUTOMATIC, then the search results are based on corrected_query. Otherwise the
7058
7521
  # original query is used for search.
@@ -7060,7 +7523,7 @@ module Google
7060
7523
  # @return [String]
7061
7524
  attr_accessor :corrected_query
7062
7525
 
7063
- # Metadata related to A/B testing Experiment associated with this response. Only
7526
+ # Metadata related to A/B testing experiment associated with this response. Only
7064
7527
  # exists when an experiment is triggered.
7065
7528
  # Corresponds to the JSON property `experimentInfo`
7066
7529
  # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaExperimentInfo>]
@@ -7083,6 +7546,12 @@ module Google
7083
7546
  # @return [String]
7084
7547
  attr_accessor :next_page_token
7085
7548
 
7549
+ # Metadata for pinning to be returned in the response. This is used for
7550
+ # distinguishing between applied vs dropped pins.
7551
+ # Corresponds to the JSON property `pinControlMetadata`
7552
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaPinControlMetadata]
7553
+ attr_accessor :pin_control_metadata
7554
+
7086
7555
  # Information describing query expansion including whether expansion has
7087
7556
  # occurred.
7088
7557
  # Corresponds to the JSON property `queryExpansionInfo`
@@ -7101,6 +7570,12 @@ module Google
7101
7570
  # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseSearchResult>]
7102
7571
  attr_accessor :results
7103
7572
 
7573
+ # This field specifies all related information for tile navigation that will be
7574
+ # used in client side.
7575
+ # Corresponds to the JSON property `tileNavigationResult`
7576
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseTileNavigationResult]
7577
+ attr_accessor :tile_navigation_result
7578
+
7104
7579
  # The estimated total count of matched items irrespective of pagination. The
7105
7580
  # count of results returned by pagination may be less than the total_size that
7106
7581
  # matches.
@@ -7116,18 +7591,123 @@ module Google
7116
7591
  def update!(**args)
7117
7592
  @applied_controls = args[:applied_controls] if args.key?(:applied_controls)
7118
7593
  @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
7594
+ @conversational_search_result = args[:conversational_search_result] if args.key?(:conversational_search_result)
7119
7595
  @corrected_query = args[:corrected_query] if args.key?(:corrected_query)
7120
7596
  @experiment_info = args[:experiment_info] if args.key?(:experiment_info)
7121
7597
  @facets = args[:facets] if args.key?(:facets)
7122
7598
  @invalid_condition_boost_specs = args[:invalid_condition_boost_specs] if args.key?(:invalid_condition_boost_specs)
7123
7599
  @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
7600
+ @pin_control_metadata = args[:pin_control_metadata] if args.key?(:pin_control_metadata)
7124
7601
  @query_expansion_info = args[:query_expansion_info] if args.key?(:query_expansion_info)
7125
7602
  @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
7126
7603
  @results = args[:results] if args.key?(:results)
7604
+ @tile_navigation_result = args[:tile_navigation_result] if args.key?(:tile_navigation_result)
7127
7605
  @total_size = args[:total_size] if args.key?(:total_size)
7128
7606
  end
7129
7607
  end
7130
7608
 
7609
+ # This field specifies all related information that is needed on client side for
7610
+ # UI rendering of conversational retail search.
7611
+ class GoogleCloudRetailV2alphaSearchResponseConversationalSearchResult
7612
+ include Google::Apis::Core::Hashable
7613
+
7614
+ # Additional filter that client side need to apply.
7615
+ # Corresponds to the JSON property `additionalFilter`
7616
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultAdditionalFilter]
7617
+ attr_accessor :additional_filter
7618
+
7619
+ # This field is deprecated but will be kept for backward compatibility. There is
7620
+ # expected to have only one additional filter and the value will be the same to
7621
+ # the same as field `additional_filter`.
7622
+ # Corresponds to the JSON property `additionalFilters`
7623
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultAdditionalFilter>]
7624
+ attr_accessor :additional_filters
7625
+
7626
+ # Conversation UUID. This field will be stored in client side storage to
7627
+ # maintain the conversation session with server and will be used for next search
7628
+ # request's SearchRequest.ConversationalSearchSpec.conversation_id to restore
7629
+ # conversation state in server.
7630
+ # Corresponds to the JSON property `conversationId`
7631
+ # @return [String]
7632
+ attr_accessor :conversation_id
7633
+
7634
+ # The follow-up question. e.g., `What is the color?`
7635
+ # Corresponds to the JSON property `followupQuestion`
7636
+ # @return [String]
7637
+ attr_accessor :followup_question
7638
+
7639
+ # The current refined query for the conversational search. This field will be
7640
+ # used in customer UI that the query in the search bar should be replaced with
7641
+ # the refined query. For example, if SearchRequest.query is `dress` and next
7642
+ # SearchRequest.ConversationalSearchSpec.UserAnswer.text_answer is `red color`,
7643
+ # which does not match any product attribute value filters, the refined query
7644
+ # will be `dress, red color`.
7645
+ # Corresponds to the JSON property `refinedQuery`
7646
+ # @return [String]
7647
+ attr_accessor :refined_query
7648
+
7649
+ # The answer options provided to client for the follow-up question.
7650
+ # Corresponds to the JSON property `suggestedAnswers`
7651
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultSuggestedAnswer>]
7652
+ attr_accessor :suggested_answers
7653
+
7654
+ def initialize(**args)
7655
+ update!(**args)
7656
+ end
7657
+
7658
+ # Update properties of this object
7659
+ def update!(**args)
7660
+ @additional_filter = args[:additional_filter] if args.key?(:additional_filter)
7661
+ @additional_filters = args[:additional_filters] if args.key?(:additional_filters)
7662
+ @conversation_id = args[:conversation_id] if args.key?(:conversation_id)
7663
+ @followup_question = args[:followup_question] if args.key?(:followup_question)
7664
+ @refined_query = args[:refined_query] if args.key?(:refined_query)
7665
+ @suggested_answers = args[:suggested_answers] if args.key?(:suggested_answers)
7666
+ end
7667
+ end
7668
+
7669
+ # Additional filter that client side need to apply.
7670
+ class GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultAdditionalFilter
7671
+ include Google::Apis::Core::Hashable
7672
+
7673
+ # Product attribute which structured by an attribute name and value. This
7674
+ # structure is used in conversational search filters and answers. For example,
7675
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
7676
+ # Corresponds to the JSON property `productAttributeValue`
7677
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeValue]
7678
+ attr_accessor :product_attribute_value
7679
+
7680
+ def initialize(**args)
7681
+ update!(**args)
7682
+ end
7683
+
7684
+ # Update properties of this object
7685
+ def update!(**args)
7686
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
7687
+ end
7688
+ end
7689
+
7690
+ # Suggested answers to the follow-up question.
7691
+ class GoogleCloudRetailV2alphaSearchResponseConversationalSearchResultSuggestedAnswer
7692
+ include Google::Apis::Core::Hashable
7693
+
7694
+ # Product attribute which structured by an attribute name and value. This
7695
+ # structure is used in conversational search filters and answers. For example,
7696
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
7697
+ # Corresponds to the JSON property `productAttributeValue`
7698
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeValue]
7699
+ attr_accessor :product_attribute_value
7700
+
7701
+ def initialize(**args)
7702
+ update!(**args)
7703
+ end
7704
+
7705
+ # Update properties of this object
7706
+ def update!(**args)
7707
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
7708
+ end
7709
+ end
7710
+
7131
7711
  # A facet result.
7132
7712
  class GoogleCloudRetailV2alphaSearchResponseFacet
7133
7713
  include Google::Apis::Core::Hashable
@@ -7303,6 +7883,26 @@ module Google
7303
7883
  end
7304
7884
  end
7305
7885
 
7886
+ # This field specifies all related information for tile navigation that will be
7887
+ # used in client side.
7888
+ class GoogleCloudRetailV2alphaSearchResponseTileNavigationResult
7889
+ include Google::Apis::Core::Hashable
7890
+
7891
+ # The current tiles that are used for tile navigation, sorted by engagement.
7892
+ # Corresponds to the JSON property `tiles`
7893
+ # @return [Array<Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaTile>]
7894
+ attr_accessor :tiles
7895
+
7896
+ def initialize(**args)
7897
+ update!(**args)
7898
+ end
7899
+
7900
+ # Update properties of this object
7901
+ def update!(**args)
7902
+ @tiles = args[:tiles] if args.key?(:tiles)
7903
+ end
7904
+ end
7905
+
7306
7906
  # Configures metadata that is used to generate serving time results (e.g. search
7307
7907
  # results or recommendation predictions).
7308
7908
  class GoogleCloudRetailV2alphaServingConfig
@@ -7613,6 +8213,41 @@ module Google
7613
8213
  end
7614
8214
  end
7615
8215
 
8216
+ # This field specifies the tile information including an attribute key,
8217
+ # attribute value. More fields will be added in the future, eg: product id or
8218
+ # product counts, etc.
8219
+ class GoogleCloudRetailV2alphaTile
8220
+ include Google::Apis::Core::Hashable
8221
+
8222
+ # Product attribute name and numeric interval.
8223
+ # Corresponds to the JSON property `productAttributeInterval`
8224
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeInterval]
8225
+ attr_accessor :product_attribute_interval
8226
+
8227
+ # Product attribute which structured by an attribute name and value. This
8228
+ # structure is used in conversational search filters and answers. For example,
8229
+ # if we have `name=color` and `value=red`, this means that the color is `red`.
8230
+ # Corresponds to the JSON property `productAttributeValue`
8231
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaProductAttributeValue]
8232
+ attr_accessor :product_attribute_value
8233
+
8234
+ # The representative product id for this tile.
8235
+ # Corresponds to the JSON property `representativeProductId`
8236
+ # @return [String]
8237
+ attr_accessor :representative_product_id
8238
+
8239
+ def initialize(**args)
8240
+ update!(**args)
8241
+ end
8242
+
8243
+ # Update properties of this object
8244
+ def update!(**args)
8245
+ @product_attribute_interval = args[:product_attribute_interval] if args.key?(:product_attribute_interval)
8246
+ @product_attribute_value = args[:product_attribute_value] if args.key?(:product_attribute_value)
8247
+ @representative_product_id = args[:representative_product_id] if args.key?(:representative_product_id)
8248
+ end
8249
+ end
8250
+
7616
8251
  # Metadata related to transform user events operation.
7617
8252
  class GoogleCloudRetailV2alphaTransformedUserEventsMetadata
7618
8253
  include Google::Apis::Core::Hashable
@@ -7687,6 +8322,33 @@ module Google
7687
8322
  end
7688
8323
  end
7689
8324
 
8325
+ # Request for UpdateGenerativeQuestionConfig method.
8326
+ class GoogleCloudRetailV2alphaUpdateGenerativeQuestionConfigRequest
8327
+ include Google::Apis::Core::Hashable
8328
+
8329
+ # Configuration for a single generated question.
8330
+ # Corresponds to the JSON property `generativeQuestionConfig`
8331
+ # @return [Google::Apis::RetailV2alpha::GoogleCloudRetailV2alphaGenerativeQuestionConfig]
8332
+ attr_accessor :generative_question_config
8333
+
8334
+ # Optional. Indicates which fields in the provided GenerativeQuestionConfig to
8335
+ # update. The following are NOT supported: * GenerativeQuestionConfig.frequency
8336
+ # If not set or empty, all supported fields are updated.
8337
+ # Corresponds to the JSON property `updateMask`
8338
+ # @return [String]
8339
+ attr_accessor :update_mask
8340
+
8341
+ def initialize(**args)
8342
+ update!(**args)
8343
+ end
8344
+
8345
+ # Update properties of this object
8346
+ def update!(**args)
8347
+ @generative_question_config = args[:generative_question_config] if args.key?(:generative_question_config)
8348
+ @update_mask = args[:update_mask] if args.key?(:update_mask)
8349
+ end
8350
+ end
8351
+
7690
8352
  # UserEvent captures all metadata information Retail API needs to know about how
7691
8353
  # end users interact with customers' website.
7692
8354
  class GoogleCloudRetailV2alphaUserEvent
@@ -8026,12 +8688,11 @@ module Google
8026
8688
  # @return [String]
8027
8689
  attr_accessor :ip_address
8028
8690
 
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.
8691
+ # User agent as included in the HTTP header. The field must be a UTF-8 encoded
8692
+ # string with a length limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT
8693
+ # error is returned. This should not be set when using the client side event
8694
+ # reporting with GTM or JavaScript tag in UserEventService.CollectUserEvent or
8695
+ # if direct_user_request is set.
8035
8696
  # Corresponds to the JSON property `userAgent`
8036
8697
  # @return [String]
8037
8698
  attr_accessor :user_agent