google-apis-retail_v2beta 0.32.0 → 0.35.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -308,6 +308,35 @@ module Google
308
308
  end
309
309
  end
310
310
 
311
+ # Metadata related to the progress of the AddLocalInventories operation.
312
+ # Currently empty because there is no meaningful metadata populated from the
313
+ # AddLocalInventories method.
314
+ class GoogleCloudRetailV2AddLocalInventoriesMetadata
315
+ include Google::Apis::Core::Hashable
316
+
317
+ def initialize(**args)
318
+ update!(**args)
319
+ end
320
+
321
+ # Update properties of this object
322
+ def update!(**args)
323
+ end
324
+ end
325
+
326
+ # Response of the AddLocalInventories API. Currently empty because there is no
327
+ # meaningful response populated from the AddLocalInventories method.
328
+ class GoogleCloudRetailV2AddLocalInventoriesResponse
329
+ include Google::Apis::Core::Hashable
330
+
331
+ def initialize(**args)
332
+ update!(**args)
333
+ end
334
+
335
+ # Update properties of this object
336
+ def update!(**args)
337
+ end
338
+ end
339
+
311
340
  # Response of the ImportCompletionDataRequest. If the long running operation is
312
341
  # done, this message is returned by the google.longrunning.Operations.response
313
342
  # field if the operation is successful.
@@ -373,8 +402,7 @@ module Google
373
402
  # @return [String]
374
403
  attr_accessor :notification_pubsub_topic
375
404
 
376
- # Id of the request / operation. This is parroting back the requestId that was
377
- # passed in the request.
405
+ # Deprecated. This field is never set.
378
406
  # Corresponds to the JSON property `requestId`
379
407
  # @return [String]
380
408
  attr_accessor :request_id
@@ -562,6 +590,35 @@ module Google
562
590
  end
563
591
  end
564
592
 
593
+ # Metadata related to the progress of the RemoveLocalInventories operation.
594
+ # Currently empty because there is no meaningful metadata populated from the
595
+ # RemoveLocalInventories method.
596
+ class GoogleCloudRetailV2RemoveLocalInventoriesMetadata
597
+ include Google::Apis::Core::Hashable
598
+
599
+ def initialize(**args)
600
+ update!(**args)
601
+ end
602
+
603
+ # Update properties of this object
604
+ def update!(**args)
605
+ end
606
+ end
607
+
608
+ # Response of the RemoveLocalInventories API. Currently empty because there is
609
+ # no meaningful response populated from the RemoveLocalInventories method.
610
+ class GoogleCloudRetailV2RemoveLocalInventoriesResponse
611
+ include Google::Apis::Core::Hashable
612
+
613
+ def initialize(**args)
614
+ update!(**args)
615
+ end
616
+
617
+ # Update properties of this object
618
+ def update!(**args)
619
+ end
620
+ end
621
+
565
622
  # Metadata related to the progress of the SetInventory operation. Currently
566
623
  # empty because there is no meaningful metadata populated from the SetInventory
567
624
  # method.
@@ -843,8 +900,7 @@ module Google
843
900
  # @return [String]
844
901
  attr_accessor :notification_pubsub_topic
845
902
 
846
- # Id of the request / operation. This is parroting back the requestId that was
847
- # passed in the request.
903
+ # Deprecated. This field is never set.
848
904
  # Corresponds to the JSON property `requestId`
849
905
  # @return [String]
850
906
  attr_accessor :request_id
@@ -1310,6 +1366,86 @@ module Google
1310
1366
  end
1311
1367
  end
1312
1368
 
1369
+ # Metadata related to the progress of the AddLocalInventories operation.
1370
+ # Currently empty because there is no meaningful metadata populated from the
1371
+ # AddLocalInventories method.
1372
+ class GoogleCloudRetailV2betaAddLocalInventoriesMetadata
1373
+ include Google::Apis::Core::Hashable
1374
+
1375
+ def initialize(**args)
1376
+ update!(**args)
1377
+ end
1378
+
1379
+ # Update properties of this object
1380
+ def update!(**args)
1381
+ end
1382
+ end
1383
+
1384
+ # Request message for AddLocalInventories method.
1385
+ class GoogleCloudRetailV2betaAddLocalInventoriesRequest
1386
+ include Google::Apis::Core::Hashable
1387
+
1388
+ # Indicates which inventory fields in the provided list of LocalInventory to
1389
+ # update. The field is updated to the provided value. If a field is set while
1390
+ # the place does not have a previous local inventory, the local inventory at
1391
+ # that store is created. If a field is set while the value of that field is not
1392
+ # provided, the original field value, if it exists, is deleted. If the mask is
1393
+ # not set or set with empty paths, all inventory fields will be updated. If an
1394
+ # unsupported or unknown field is provided, an INVALID_ARGUMENT error is
1395
+ # returned and the entire update will be ignored.
1396
+ # Corresponds to the JSON property `addMask`
1397
+ # @return [String]
1398
+ attr_accessor :add_mask
1399
+
1400
+ # The time when the inventory updates are issued. Used to prevent out-of-order
1401
+ # updates on local inventory fields. If not provided, the internal system time
1402
+ # will be used.
1403
+ # Corresponds to the JSON property `addTime`
1404
+ # @return [String]
1405
+ attr_accessor :add_time
1406
+
1407
+ # If set to true, and the Product is not found, the local inventory will still
1408
+ # be processed and retained for at most 1 day and processed once the Product is
1409
+ # created. If set to false, a NOT_FOUND error is returned if the Product is not
1410
+ # found.
1411
+ # Corresponds to the JSON property `allowMissing`
1412
+ # @return [Boolean]
1413
+ attr_accessor :allow_missing
1414
+ alias_method :allow_missing?, :allow_missing
1415
+
1416
+ # Required. A list of inventory information at difference places. Each place is
1417
+ # identified by its place ID. At most 3000 inventories are allowed per request.
1418
+ # Corresponds to the JSON property `localInventories`
1419
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaLocalInventory>]
1420
+ attr_accessor :local_inventories
1421
+
1422
+ def initialize(**args)
1423
+ update!(**args)
1424
+ end
1425
+
1426
+ # Update properties of this object
1427
+ def update!(**args)
1428
+ @add_mask = args[:add_mask] if args.key?(:add_mask)
1429
+ @add_time = args[:add_time] if args.key?(:add_time)
1430
+ @allow_missing = args[:allow_missing] if args.key?(:allow_missing)
1431
+ @local_inventories = args[:local_inventories] if args.key?(:local_inventories)
1432
+ end
1433
+ end
1434
+
1435
+ # Response of the AddLocalInventories API. Currently empty because there is no
1436
+ # meaningful response populated from the AddLocalInventories method.
1437
+ class GoogleCloudRetailV2betaAddLocalInventoriesResponse
1438
+ include Google::Apis::Core::Hashable
1439
+
1440
+ def initialize(**args)
1441
+ update!(**args)
1442
+ end
1443
+
1444
+ # Update properties of this object
1445
+ def update!(**args)
1446
+ end
1447
+ end
1448
+
1313
1449
  # Catalog level attribute config.
1314
1450
  class GoogleCloudRetailV2betaAttributesConfig
1315
1451
  include Google::Apis::Core::Hashable
@@ -1398,7 +1534,9 @@ module Google
1398
1534
  # analytics/answer/3437719. * `user_event_ga4`: This feature is in private
1399
1535
  # preview. Please contact the support team for importing Google Analytics 4
1400
1536
  # events. The schema is available here: https://support.google.com/analytics/
1401
- # answer/7029846.
1537
+ # answer/7029846. Supported values for auto-completion imports: * `suggestions` (
1538
+ # default): One JSON completion suggestion per line. * `denylist`: One JSON deny
1539
+ # suggestion per line. * `allowlist`: One JSON allow suggestion per line.
1402
1540
  # Corresponds to the JSON property `dataSchema`
1403
1541
  # @return [String]
1404
1542
  attr_accessor :data_schema
@@ -1467,6 +1605,12 @@ module Google
1467
1605
  # @return [String]
1468
1606
  attr_accessor :display_name
1469
1607
 
1608
+ # Configures Merchant Center linking. Links contained in the config will be used
1609
+ # to sync data from a Merchant Center account to a Cloud Retail branch.
1610
+ # Corresponds to the JSON property `merchantCenterLinkingConfig`
1611
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaMerchantCenterLinkingConfig]
1612
+ attr_accessor :merchant_center_linking_config
1613
+
1470
1614
  # Required. Immutable. The fully qualified resource name of the catalog.
1471
1615
  # Corresponds to the JSON property `name`
1472
1616
  # @return [String]
@@ -1485,6 +1629,7 @@ module Google
1485
1629
  # Update properties of this object
1486
1630
  def update!(**args)
1487
1631
  @display_name = args[:display_name] if args.key?(:display_name)
1632
+ @merchant_center_linking_config = args[:merchant_center_linking_config] if args.key?(:merchant_center_linking_config)
1488
1633
  @name = args[:name] if args.key?(:name)
1489
1634
  @product_level_config = args[:product_level_config] if args.key?(:product_level_config)
1490
1635
  end
@@ -1603,9 +1748,9 @@ module Google
1603
1748
  class GoogleCloudRetailV2betaCompleteQueryResponse
1604
1749
  include Google::Apis::Core::Hashable
1605
1750
 
1606
- # A unique complete token. This should be included in the SearchRequest
1607
- # resulting from this completion, which enables accurate attribution of complete
1608
- # model performance.
1751
+ # A unique complete token. This should be included in the UserEvent.
1752
+ # completion_detail for search events resulting from this completion, which
1753
+ # enables accurate attribution of complete model performance.
1609
1754
  # Corresponds to the JSON property `attributionToken`
1610
1755
  # @return [String]
1611
1756
  attr_accessor :attribution_token
@@ -1645,7 +1790,9 @@ module Google
1645
1790
  class GoogleCloudRetailV2betaCompleteQueryResponseCompletionResult
1646
1791
  include Google::Apis::Core::Hashable
1647
1792
 
1648
- # Additional custom attributes ingested through BigQuery.
1793
+ # Custom attributes for the suggestion term. * For "user-data", the attributes
1794
+ # are additional custom attributes ingested through BigQuery. * For "cloud-
1795
+ # retail", the attributes are product attributes generated by Cloud Retail.
1649
1796
  # Corresponds to the JSON property `attributes`
1650
1797
  # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCustomAttribute>]
1651
1798
  attr_accessor :attributes
@@ -1685,6 +1832,103 @@ module Google
1685
1832
  end
1686
1833
  end
1687
1834
 
1835
+ # Catalog level autocomplete config for customers to customize autocomplete
1836
+ # feature's settings.
1837
+ class GoogleCloudRetailV2betaCompletionConfig
1838
+ include Google::Apis::Core::Hashable
1839
+
1840
+ # The input config source for completion data.
1841
+ # Corresponds to the JSON property `allowlistInputConfig`
1842
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCompletionDataInputConfig]
1843
+ attr_accessor :allowlist_input_config
1844
+
1845
+ # If set to true, the auto learning function is enabled. Auto learning uses user
1846
+ # data to generate suggestions using ML techniques. Default value is false. Only
1847
+ # after enabling auto learning can users use `cloud-retail` data in
1848
+ # CompleteQueryRequest.
1849
+ # Corresponds to the JSON property `autoLearning`
1850
+ # @return [Boolean]
1851
+ attr_accessor :auto_learning
1852
+ alias_method :auto_learning?, :auto_learning
1853
+
1854
+ # The input config source for completion data.
1855
+ # Corresponds to the JSON property `denylistInputConfig`
1856
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCompletionDataInputConfig]
1857
+ attr_accessor :denylist_input_config
1858
+
1859
+ # Output only. LRO corresponding to the latest allowlist import. Can use
1860
+ # GetOperation API to retrieve the latest state of the Long Running Operation.
1861
+ # Corresponds to the JSON property `lastAllowlistImportOperation`
1862
+ # @return [String]
1863
+ attr_accessor :last_allowlist_import_operation
1864
+
1865
+ # Output only. LRO corresponding to the latest denylist import. Can use
1866
+ # GetOperation API to retrieve the latest state of the Long Running Operation.
1867
+ # Corresponds to the JSON property `lastDenylistImportOperation`
1868
+ # @return [String]
1869
+ attr_accessor :last_denylist_import_operation
1870
+
1871
+ # Output only. Name of the LRO corresponding to the latest suggestion terms list
1872
+ # import. Can use GetOperation API to retrieve the latest state of the Long
1873
+ # Running Operation.
1874
+ # Corresponds to the JSON property `lastSuggestionsImportOperation`
1875
+ # @return [String]
1876
+ attr_accessor :last_suggestions_import_operation
1877
+
1878
+ # Specifies the matching order for autocomplete suggestions, e.g., a query
1879
+ # consisting of 'sh' with 'out-of-order' specified would suggest "women's shoes",
1880
+ # whereas a query of 'red s' with 'exact-prefix' specified would suggest "red
1881
+ # shoes". Currently supported values: * 'out-of-order' * 'exact-prefix' Default
1882
+ # value: 'exact-prefix'.
1883
+ # Corresponds to the JSON property `matchingOrder`
1884
+ # @return [String]
1885
+ attr_accessor :matching_order
1886
+
1887
+ # The maximum number of autocomplete suggestions returned per term. The maximum
1888
+ # allowed max suggestions is 20. Default value is 20. If left unset or set to 0,
1889
+ # then will fallback to default value.
1890
+ # Corresponds to the JSON property `maxSuggestions`
1891
+ # @return [Fixnum]
1892
+ attr_accessor :max_suggestions
1893
+
1894
+ # The minimum number of characters needed to be typed in order to get
1895
+ # suggestions. Default value is 2. If left unset or set to 0, then will fallback
1896
+ # to default value.
1897
+ # Corresponds to the JSON property `minPrefixLength`
1898
+ # @return [Fixnum]
1899
+ attr_accessor :min_prefix_length
1900
+
1901
+ # Required. Immutable. Fully qualified name projects/*/locations/*/catalogs/*/
1902
+ # completionConfig
1903
+ # Corresponds to the JSON property `name`
1904
+ # @return [String]
1905
+ attr_accessor :name
1906
+
1907
+ # The input config source for completion data.
1908
+ # Corresponds to the JSON property `suggestionsInputConfig`
1909
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCompletionDataInputConfig]
1910
+ attr_accessor :suggestions_input_config
1911
+
1912
+ def initialize(**args)
1913
+ update!(**args)
1914
+ end
1915
+
1916
+ # Update properties of this object
1917
+ def update!(**args)
1918
+ @allowlist_input_config = args[:allowlist_input_config] if args.key?(:allowlist_input_config)
1919
+ @auto_learning = args[:auto_learning] if args.key?(:auto_learning)
1920
+ @denylist_input_config = args[:denylist_input_config] if args.key?(:denylist_input_config)
1921
+ @last_allowlist_import_operation = args[:last_allowlist_import_operation] if args.key?(:last_allowlist_import_operation)
1922
+ @last_denylist_import_operation = args[:last_denylist_import_operation] if args.key?(:last_denylist_import_operation)
1923
+ @last_suggestions_import_operation = args[:last_suggestions_import_operation] if args.key?(:last_suggestions_import_operation)
1924
+ @matching_order = args[:matching_order] if args.key?(:matching_order)
1925
+ @max_suggestions = args[:max_suggestions] if args.key?(:max_suggestions)
1926
+ @min_prefix_length = args[:min_prefix_length] if args.key?(:min_prefix_length)
1927
+ @name = args[:name] if args.key?(:name)
1928
+ @suggestions_input_config = args[:suggestions_input_config] if args.key?(:suggestions_input_config)
1929
+ end
1930
+ end
1931
+
1688
1932
  # The input config source for completion data.
1689
1933
  class GoogleCloudRetailV2betaCompletionDataInputConfig
1690
1934
  include Google::Apis::Core::Hashable
@@ -1862,14 +2106,6 @@ module Google
1862
2106
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaRule]
1863
2107
  attr_accessor :rule
1864
2108
 
1865
- # Required. Specifies the use case for the control. Affects what condition
1866
- # fields can be set. Only settable by search controls. Will default to
1867
- # SEARCH_SOLUTION_USE_CASE_SEARCH if not specified. Currently only allow one
1868
- # search_solution_use_case per control.
1869
- # Corresponds to the JSON property `searchSolutionUseCase`
1870
- # @return [Array<String>]
1871
- attr_accessor :search_solution_use_case
1872
-
1873
2109
  # Required. Immutable. The solution types that the serving config is used for.
1874
2110
  # Currently we support setting only one type of solution at creation time. Only `
1875
2111
  # SOLUTION_TYPE_SEARCH` value is supported at the moment. If no solution type is
@@ -1889,7 +2125,6 @@ module Google
1889
2125
  @facet_spec = args[:facet_spec] if args.key?(:facet_spec)
1890
2126
  @name = args[:name] if args.key?(:name)
1891
2127
  @rule = args[:rule] if args.key?(:rule)
1892
- @search_solution_use_case = args[:search_solution_use_case] if args.key?(:search_solution_use_case)
1893
2128
  @solution_types = args[:solution_types] if args.key?(:solution_types)
1894
2129
  end
1895
2130
  end
@@ -2290,8 +2525,7 @@ module Google
2290
2525
  # @return [String]
2291
2526
  attr_accessor :notification_pubsub_topic
2292
2527
 
2293
- # Id of the request / operation. This is parroting back the requestId that was
2294
- # passed in the request.
2528
+ # Deprecated. This field is never set.
2295
2529
  # Corresponds to the JSON property `requestId`
2296
2530
  # @return [String]
2297
2531
  attr_accessor :request_id
@@ -2351,11 +2585,7 @@ module Google
2351
2585
  # @return [String]
2352
2586
  attr_accessor :reconciliation_mode
2353
2587
 
2354
- # Unique identifier provided by client, within the ancestor dataset scope.
2355
- # Ensures idempotency and used for request deduplication. Server-generated if
2356
- # unspecified. Up to 128 characters long and must match the pattern: `[a-zA-Z0-
2357
- # 9_]+`. This is returned as Operation.name in ImportMetadata. Only supported
2358
- # when ImportProductsRequest.reconciliation_mode is set to `FULL`.
2588
+ # Deprecated. This field has no effect.
2359
2589
  # Corresponds to the JSON property `requestId`
2360
2590
  # @return [String]
2361
2591
  attr_accessor :request_id
@@ -2606,6 +2836,141 @@ module Google
2606
2836
  end
2607
2837
  end
2608
2838
 
2839
+ # The inventory information at a place (e.g. a store) identified by a place ID.
2840
+ class GoogleCloudRetailV2betaLocalInventory
2841
+ include Google::Apis::Core::Hashable
2842
+
2843
+ # Additional local inventory attributes, for example, store name, promotion tags,
2844
+ # etc. This field needs to pass all below criteria, otherwise an
2845
+ # INVALID_ARGUMENT error is returned: * At most 30 attributes are allowed. * The
2846
+ # key must be a UTF-8 encoded string with a length limit of 32 characters. * The
2847
+ # key must match the pattern: `a-zA-Z0-9*`. For example, key0LikeThis or
2848
+ # KEY_1_LIKE_THIS. * The attribute values must be of the same type (text or
2849
+ # number). * Only 1 value is allowed for each attribute. * For text values, the
2850
+ # length limit is 256 UTF-8 characters. * The attribute does not support search.
2851
+ # The `searchable` field should be unset or set to false. * The max summed total
2852
+ # bytes of custom attribute keys and values per product is 5MiB.
2853
+ # Corresponds to the JSON property `attributes`
2854
+ # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCustomAttribute>]
2855
+ attr_accessor :attributes
2856
+
2857
+ # Input only. Supported fulfillment types. Valid fulfillment type values include
2858
+ # commonly used types (such as pickup in store and same day delivery), and
2859
+ # custom types. Customers have to map custom types to their display names before
2860
+ # rendering UI. Supported values: * "pickup-in-store" * "ship-to-store" * "same-
2861
+ # day-delivery" * "next-day-delivery" * "custom-type-1" * "custom-type-2" * "
2862
+ # custom-type-3" * "custom-type-4" * "custom-type-5" If this field is set to an
2863
+ # invalid value other than these, an INVALID_ARGUMENT error is returned. All the
2864
+ # elements must be distinct. Otherwise, an INVALID_ARGUMENT error is returned.
2865
+ # Corresponds to the JSON property `fulfillmentTypes`
2866
+ # @return [Array<String>]
2867
+ attr_accessor :fulfillment_types
2868
+
2869
+ # The place ID for the current set of inventory information.
2870
+ # Corresponds to the JSON property `placeId`
2871
+ # @return [String]
2872
+ attr_accessor :place_id
2873
+
2874
+ # The price information of a Product.
2875
+ # Corresponds to the JSON property `priceInfo`
2876
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPriceInfo]
2877
+ attr_accessor :price_info
2878
+
2879
+ def initialize(**args)
2880
+ update!(**args)
2881
+ end
2882
+
2883
+ # Update properties of this object
2884
+ def update!(**args)
2885
+ @attributes = args[:attributes] if args.key?(:attributes)
2886
+ @fulfillment_types = args[:fulfillment_types] if args.key?(:fulfillment_types)
2887
+ @place_id = args[:place_id] if args.key?(:place_id)
2888
+ @price_info = args[:price_info] if args.key?(:price_info)
2889
+ end
2890
+ end
2891
+
2892
+ # Represents a link between a Merchant Center account and a branch. Once a link
2893
+ # is established, products from the linked merchant center account will be
2894
+ # streamed to the linked branch.
2895
+ class GoogleCloudRetailV2betaMerchantCenterLink
2896
+ include Google::Apis::Core::Hashable
2897
+
2898
+ # The branch id (e.g. 0/1/2) within this catalog that products from
2899
+ # merchant_center_account_id are streamed to. When updating this field, an empty
2900
+ # value will use the currently configured default branch. However, changing the
2901
+ # default branch later on won't change the linked branch here. A single branch
2902
+ # id can only have one linked merchant center account id.
2903
+ # Corresponds to the JSON property `branchId`
2904
+ # @return [String]
2905
+ attr_accessor :branch_id
2906
+
2907
+ # String representing the destination to import for, all if left empty. List of
2908
+ # possible values can be found here. [https://support.google.com/merchants/
2909
+ # answer/7501026] List of allowed string values: "Shopping_ads", "
2910
+ # Buy_on_google_listings", "Display_ads", "Local_inventory _ads", "Free_listings"
2911
+ # , "Free_local_listings" NOTE: The string values are case sensitive.
2912
+ # Corresponds to the JSON property `destinations`
2913
+ # @return [Array<String>]
2914
+ attr_accessor :destinations
2915
+
2916
+ # Language of the title/description and other string attributes. Use language
2917
+ # tags defined by [BCP 47](https://www.rfc-editor.org/rfc/bcp/bcp47.txt). ISO
2918
+ # 639-1. This specifies the language of offers in Merchant Center that will be
2919
+ # accepted. If empty no language filtering will be performed. Example value: `en`
2920
+ # .
2921
+ # Corresponds to the JSON property `languageCode`
2922
+ # @return [String]
2923
+ attr_accessor :language_code
2924
+
2925
+ # Required. The linked [Merchant center account id](https://developers.google.
2926
+ # com/shopping-content/guides/accountstatuses). The account must be a standalone
2927
+ # account or a sub-account of a MCA.
2928
+ # Corresponds to the JSON property `merchantCenterAccountId`
2929
+ # @return [Fixnum]
2930
+ attr_accessor :merchant_center_account_id
2931
+
2932
+ # Region code of offers to accept. 2-letter Uppercase ISO 3166-1 alpha-2 code.
2933
+ # List of values can be found [here](https://www.iana.org/assignments/language-
2934
+ # subtag-registry/language-subtag-registry) under the `region` tag. If left
2935
+ # blank no region filtering will be performed. Example value: `US`.
2936
+ # Corresponds to the JSON property `regionCode`
2937
+ # @return [String]
2938
+ attr_accessor :region_code
2939
+
2940
+ def initialize(**args)
2941
+ update!(**args)
2942
+ end
2943
+
2944
+ # Update properties of this object
2945
+ def update!(**args)
2946
+ @branch_id = args[:branch_id] if args.key?(:branch_id)
2947
+ @destinations = args[:destinations] if args.key?(:destinations)
2948
+ @language_code = args[:language_code] if args.key?(:language_code)
2949
+ @merchant_center_account_id = args[:merchant_center_account_id] if args.key?(:merchant_center_account_id)
2950
+ @region_code = args[:region_code] if args.key?(:region_code)
2951
+ end
2952
+ end
2953
+
2954
+ # Configures Merchant Center linking. Links contained in the config will be used
2955
+ # to sync data from a Merchant Center account to a Cloud Retail branch.
2956
+ class GoogleCloudRetailV2betaMerchantCenterLinkingConfig
2957
+ include Google::Apis::Core::Hashable
2958
+
2959
+ # Links between Merchant Center accounts and branches.
2960
+ # Corresponds to the JSON property `links`
2961
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaMerchantCenterLink>]
2962
+ attr_accessor :links
2963
+
2964
+ def initialize(**args)
2965
+ update!(**args)
2966
+ end
2967
+
2968
+ # Update properties of this object
2969
+ def update!(**args)
2970
+ @links = args[:links] if args.key?(:links)
2971
+ end
2972
+ end
2973
+
2609
2974
  # Request message for Predict method.
2610
2975
  class GoogleCloudRetailV2betaPredictRequest
2611
2976
  include Google::Apis::Core::Hashable
@@ -3337,13 +3702,13 @@ module Google
3337
3702
  # The type of Products allowed to be ingested into the catalog. Acceptable
3338
3703
  # values are: * `primary` (default): You can ingest Products of all types. When
3339
3704
  # ingesting a Product, its type will default to Product.Type.PRIMARY if unset. *
3340
- # `variant`: You can only ingest Product.Type.VARIANT Products. This means
3341
- # Product.primary_product_id cannot be empty. If this field is set to an invalid
3342
- # value other than these, an INVALID_ARGUMENT error is returned. If this field
3343
- # is `variant` and merchant_center_product_id_field is `itemGroupId`, an
3344
- # INVALID_ARGUMENT error is returned. See [Using product levels](https://cloud.
3345
- # google.com/retail/recommendations-ai/docs/catalog#product-levels) for more
3346
- # details.
3705
+ # `variant` (incompatible with Retail Search): You can only ingest Product.Type.
3706
+ # VARIANT Products. This means Product.primary_product_id cannot be empty. If
3707
+ # this field is set to an invalid value other than these, an INVALID_ARGUMENT
3708
+ # error is returned. If this field is `variant` and
3709
+ # merchant_center_product_id_field is `itemGroupId`, an INVALID_ARGUMENT error
3710
+ # is returned. See [Product levels](https://cloud.google.com/retail/docs/catalog#
3711
+ # product-levels) for more details.
3347
3712
  # Corresponds to the JSON property `ingestionProductType`
3348
3713
  # @return [String]
3349
3714
  attr_accessor :ingestion_product_type
@@ -3356,8 +3721,8 @@ module Google
3356
3721
  # the item group. If this field is set to an invalid value other than these, an
3357
3722
  # INVALID_ARGUMENT error is returned. If this field is `itemGroupId` and
3358
3723
  # ingestion_product_type is `variant`, an INVALID_ARGUMENT error is returned.
3359
- # See [Using product levels](https://cloud.google.com/retail/recommendations-ai/
3360
- # docs/catalog#product-levels) for more details.
3724
+ # See [Product levels](https://cloud.google.com/retail/docs/catalog#product-
3725
+ # levels) for more details.
3361
3726
  # Corresponds to the JSON property `merchantCenterProductIdField`
3362
3727
  # @return [String]
3363
3728
  attr_accessor :merchant_center_product_id_field
@@ -3730,6 +4095,73 @@ module Google
3730
4095
  end
3731
4096
  end
3732
4097
 
4098
+ # Metadata related to the progress of the RemoveLocalInventories operation.
4099
+ # Currently empty because there is no meaningful metadata populated from the
4100
+ # RemoveLocalInventories method.
4101
+ class GoogleCloudRetailV2betaRemoveLocalInventoriesMetadata
4102
+ include Google::Apis::Core::Hashable
4103
+
4104
+ def initialize(**args)
4105
+ update!(**args)
4106
+ end
4107
+
4108
+ # Update properties of this object
4109
+ def update!(**args)
4110
+ end
4111
+ end
4112
+
4113
+ # Request message for RemoveLocalInventories method.
4114
+ class GoogleCloudRetailV2betaRemoveLocalInventoriesRequest
4115
+ include Google::Apis::Core::Hashable
4116
+
4117
+ # If set to true, and the Product is not found, the local inventory removal
4118
+ # request will still be processed and retained for at most 1 day and processed
4119
+ # once the Product is created. If set to false, a NOT_FOUND error is returned if
4120
+ # the Product is not found.
4121
+ # Corresponds to the JSON property `allowMissing`
4122
+ # @return [Boolean]
4123
+ attr_accessor :allow_missing
4124
+ alias_method :allow_missing?, :allow_missing
4125
+
4126
+ # Required. A list of place IDs to have their inventory deleted. At most 3000
4127
+ # place IDs are allowed per request.
4128
+ # Corresponds to the JSON property `placeIds`
4129
+ # @return [Array<String>]
4130
+ attr_accessor :place_ids
4131
+
4132
+ # The time when the inventory deletions are issued. Used to prevent out-of-order
4133
+ # updates and deletions on local inventory fields. If not provided, the internal
4134
+ # system time will be used.
4135
+ # Corresponds to the JSON property `removeTime`
4136
+ # @return [String]
4137
+ attr_accessor :remove_time
4138
+
4139
+ def initialize(**args)
4140
+ update!(**args)
4141
+ end
4142
+
4143
+ # Update properties of this object
4144
+ def update!(**args)
4145
+ @allow_missing = args[:allow_missing] if args.key?(:allow_missing)
4146
+ @place_ids = args[:place_ids] if args.key?(:place_ids)
4147
+ @remove_time = args[:remove_time] if args.key?(:remove_time)
4148
+ end
4149
+ end
4150
+
4151
+ # Response of the RemoveLocalInventories API. Currently empty because there is
4152
+ # no meaningful response populated from the RemoveLocalInventories method.
4153
+ class GoogleCloudRetailV2betaRemoveLocalInventoriesResponse
4154
+ include Google::Apis::Core::Hashable
4155
+
4156
+ def initialize(**args)
4157
+ update!(**args)
4158
+ end
4159
+
4160
+ # Update properties of this object
4161
+ def update!(**args)
4162
+ end
4163
+ end
4164
+
3733
4165
  # Request for CatalogService.ReplaceCatalogAttribute method.
3734
4166
  class GoogleCloudRetailV2betaReplaceCatalogAttributeRequest
3735
4167
  include Google::Apis::Core::Hashable
@@ -4182,7 +4614,8 @@ module Google
4182
4614
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestPersonalizationSpec]
4183
4615
  attr_accessor :personalization_spec
4184
4616
 
4185
- # Raw search query.
4617
+ # Raw search query. If this field is empty, the request is considered a category
4618
+ # browsing request and returned results are based on filter and page_categories.
4186
4619
  # Corresponds to the JSON property `query`
4187
4620
  # @return [String]
4188
4621
  attr_accessor :query
@@ -5279,10 +5712,12 @@ module Google
5279
5712
  # Required. A unique identifier for tracking visitors. For example, this could
5280
5713
  # be implemented with an HTTP cookie, which should be able to uniquely identify
5281
5714
  # a visitor on a single device. This unique identifier should not change if the
5282
- # visitor log in/out of the website. The field must be a UTF-8 encoded string
5283
- # with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is
5284
- # returned. The field should not contain PII or user-data. We recommend to use
5285
- # Google Analystics [Client ID](https://developers.google.com/analytics/
5715
+ # visitor log in/out of the website. Don't set the field to the same fixed ID
5716
+ # for different users. This mixes the event history of those users together,
5717
+ # which results in degraded model quality. The field must be a UTF-8 encoded
5718
+ # string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT
5719
+ # error is returned. The field should not contain PII or user-data. We recommend
5720
+ # to use Google Analystics [Client ID](https://developers.google.com/analytics/
5286
5721
  # devguides/collection/analyticsjs/field-reference#clientId) for this field.
5287
5722
  # Corresponds to the JSON property `visitorId`
5288
5723
  # @return [String]
@@ -5409,13 +5844,12 @@ module Google
5409
5844
  attr_accessor :direct_user_request
5410
5845
  alias_method :direct_user_request?, :direct_user_request
5411
5846
 
5412
- # The end user's IP address. Required for getting SearchResponse.
5413
- # sponsored_results. This field is used to extract location information for
5414
- # personalization. This field must be either an IPv4 address (e.g. "104.133.9.80"
5415
- # ) or an IPv6 address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334").
5416
- # Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when
5417
- # using the JavaScript tag in UserEventService.CollectUserEvent or if
5418
- # direct_user_request is set.
5847
+ # The end user's IP address. This field is used to extract location information
5848
+ # for personalization. This field must be either an IPv4 address (e.g. "104.133.
5849
+ # 9.80") or an IPv6 address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334").
5850
+ # Otherwise, an INVALID_ARGUMENT error is returned. This should not be set when:
5851
+ # * setting SearchRequest.user_info. * using the JavaScript tag in
5852
+ # UserEventService.CollectUserEvent or if direct_user_request is set.
5419
5853
  # Corresponds to the JSON property `ipAddress`
5420
5854
  # @return [String]
5421
5855
  attr_accessor :ip_address
@@ -5431,7 +5865,10 @@ module Google
5431
5865
  attr_accessor :user_agent
5432
5866
 
5433
5867
  # Highly recommended for logged-in users. Unique identifier for logged-in user,
5434
- # such as a user name. The field must be a UTF-8 encoded string with a length
5868
+ # such as a user name. Don't set for anonymous users. Always use a hashed value
5869
+ # for this ID. Don't set the field to the same fixed ID for different users.
5870
+ # This mixes the event history of those users together, which results in
5871
+ # degraded model quality. The field must be a UTF-8 encoded string with a length
5435
5872
  # limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
5436
5873
  # Corresponds to the JSON property `userId`
5437
5874
  # @return [String]
@@ -5540,8 +5977,7 @@ module Google
5540
5977
  # A generic empty message that you can re-use to avoid defining duplicated empty
5541
5978
  # messages in your APIs. A typical example is to use it as the request or the
5542
5979
  # response type of an API method. For instance: service Foo ` rpc Bar(google.
5543
- # protobuf.Empty) returns (google.protobuf.Empty); ` The JSON representation for
5544
- # `Empty` is empty JSON object ````.
5980
+ # protobuf.Empty) returns (google.protobuf.Empty); `
5545
5981
  class GoogleProtobufEmpty
5546
5982
  include Google::Apis::Core::Hashable
5547
5983