google-apis-retail_v2beta 0.11.0 → 0.15.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: bade106c80b97fded5acbd709fcab36e3dc7723667c5f1722de6ead5ac9d981a
4
- data.tar.gz: ff639764226b8ef0d318af28cc6b7937d915289c1cbd7d9ab08d139765ba4ebf
3
+ metadata.gz: e9f2f26c16ab98b323c6c7ef923d34570a28b9f391c731aedd2a20785b9c41ab
4
+ data.tar.gz: 759d2c7d067d3660aa9ab49ded1e460f58cef3b251cd1b1f751b27d15a6582ab
5
5
  SHA512:
6
- metadata.gz: '0825792a3e45053be5fd7aa0ed3e729ecc593d05170e56940edc6eed4375d891a8716fca931fb93f55f02bde2cfd3ab15310d9c791f240a5839d862345e8662a'
7
- data.tar.gz: 5a0de2ac1bfcf7f5e1aa0254a3076299cd79f34d783fe73e32e66e81b56eda8aa4197b464e4ebbb4f2d4f6e12f992a72185f8770caef179518be5f8b03971434
6
+ metadata.gz: db73ecb94ed71f62b95461be83887aa12039ff909831195710043b59adf5c8934be82954e3a24ecf5dccebbcc62979e52f82542ed5ca354738ff333a6ccedb61
7
+ data.tar.gz: 5f5ec2dd514828857c7045975eb8c075f9f6129d71b8136d08925634c6eb87945261b6616b17e60ee149e85dd39d77cb250700e011aeef8c30ef2e7f0179cd7a
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Release history for google-apis-retail_v2beta
2
2
 
3
+ ### v0.15.0 (2021-09-08)
4
+
5
+ * Regenerated from discovery document revision 20210906
6
+
7
+ ### v0.14.0 (2021-09-01)
8
+
9
+ * Regenerated from discovery document revision 20210819
10
+
11
+ ### v0.13.0 (2021-07-24)
12
+
13
+ * Regenerated from discovery document revision 20210723
14
+
15
+ ### v0.12.0 (2021-07-14)
16
+
17
+ * Regenerated from discovery document revision 20210702
18
+
3
19
  ### v0.11.0 (2021-07-03)
4
20
 
5
21
  * Regenerated from discovery document revision 20210625
@@ -279,6 +279,56 @@ module Google
279
279
  end
280
280
  end
281
281
 
282
+ # Metadata related to the progress of the AddFulfillmentPlaces operation.
283
+ # Currently empty because there is no meaningful metadata populated from the
284
+ # AddFulfillmentPlaces method.
285
+ class GoogleCloudRetailV2AddFulfillmentPlacesMetadata
286
+ include Google::Apis::Core::Hashable
287
+
288
+ def initialize(**args)
289
+ update!(**args)
290
+ end
291
+
292
+ # Update properties of this object
293
+ def update!(**args)
294
+ end
295
+ end
296
+
297
+ # Response of the RemoveFulfillmentPlacesRequest. Currently empty because there
298
+ # is no meaningful response populated from the AddFulfillmentPlaces method.
299
+ class GoogleCloudRetailV2AddFulfillmentPlacesResponse
300
+ include Google::Apis::Core::Hashable
301
+
302
+ def initialize(**args)
303
+ update!(**args)
304
+ end
305
+
306
+ # Update properties of this object
307
+ def update!(**args)
308
+ end
309
+ end
310
+
311
+ # Response of the ImportCompletionDataRequest. If the long running operation is
312
+ # done, this message is returned by the google.longrunning.Operations.response
313
+ # field if the operation is successful.
314
+ class GoogleCloudRetailV2ImportCompletionDataResponse
315
+ include Google::Apis::Core::Hashable
316
+
317
+ # A sample of errors encountered while processing the request.
318
+ # Corresponds to the JSON property `errorSamples`
319
+ # @return [Array<Google::Apis::RetailV2beta::GoogleRpcStatus>]
320
+ attr_accessor :error_samples
321
+
322
+ def initialize(**args)
323
+ update!(**args)
324
+ end
325
+
326
+ # Update properties of this object
327
+ def update!(**args)
328
+ @error_samples = args[:error_samples] if args.key?(:error_samples)
329
+ end
330
+ end
331
+
282
332
  # Configuration of destination for Import related errors.
283
333
  class GoogleCloudRetailV2ImportErrorsConfig
284
334
  include Google::Apis::Core::Hashable
@@ -315,6 +365,20 @@ module Google
315
365
  # @return [Fixnum]
316
366
  attr_accessor :failure_count
317
367
 
368
+ # Pub/Sub topic for receiving notification. If this field is set, when the
369
+ # import is finished, a notification will be sent to specified Pub/Sub topic.
370
+ # The message data will be JSON string of a Operation. Format of the Pub/Sub
371
+ # topic is `projects/`project`/topics/`topic``.
372
+ # Corresponds to the JSON property `notificationPubsubTopic`
373
+ # @return [String]
374
+ attr_accessor :notification_pubsub_topic
375
+
376
+ # Id of the request / operation. This is parroting back the requestId that was
377
+ # passed in the request.
378
+ # Corresponds to the JSON property `requestId`
379
+ # @return [String]
380
+ attr_accessor :request_id
381
+
318
382
  # Count of entries that were processed successfully.
319
383
  # Corresponds to the JSON property `successCount`
320
384
  # @return [Fixnum]
@@ -334,6 +398,8 @@ module Google
334
398
  def update!(**args)
335
399
  @create_time = args[:create_time] if args.key?(:create_time)
336
400
  @failure_count = args[:failure_count] if args.key?(:failure_count)
401
+ @notification_pubsub_topic = args[:notification_pubsub_topic] if args.key?(:notification_pubsub_topic)
402
+ @request_id = args[:request_id] if args.key?(:request_id)
337
403
  @success_count = args[:success_count] if args.key?(:success_count)
338
404
  @update_time = args[:update_time] if args.key?(:update_time)
339
405
  end
@@ -467,6 +533,64 @@ module Google
467
533
  end
468
534
  end
469
535
 
536
+ # Metadata related to the progress of the RemoveFulfillmentPlaces operation.
537
+ # Currently empty because there is no meaningful metadata populated from the
538
+ # RemoveFulfillmentPlaces method.
539
+ class GoogleCloudRetailV2RemoveFulfillmentPlacesMetadata
540
+ include Google::Apis::Core::Hashable
541
+
542
+ def initialize(**args)
543
+ update!(**args)
544
+ end
545
+
546
+ # Update properties of this object
547
+ def update!(**args)
548
+ end
549
+ end
550
+
551
+ # Response of the RemoveFulfillmentPlacesRequest. Currently empty because there
552
+ # is no meaningful response populated from the RemoveFulfillmentPlaces method.
553
+ class GoogleCloudRetailV2RemoveFulfillmentPlacesResponse
554
+ include Google::Apis::Core::Hashable
555
+
556
+ def initialize(**args)
557
+ update!(**args)
558
+ end
559
+
560
+ # Update properties of this object
561
+ def update!(**args)
562
+ end
563
+ end
564
+
565
+ # Metadata related to the progress of the SetInventory operation. Currently
566
+ # empty because there is no meaningful metadata populated from the SetInventory
567
+ # method.
568
+ class GoogleCloudRetailV2SetInventoryMetadata
569
+ include Google::Apis::Core::Hashable
570
+
571
+ def initialize(**args)
572
+ update!(**args)
573
+ end
574
+
575
+ # Update properties of this object
576
+ def update!(**args)
577
+ end
578
+ end
579
+
580
+ # Response of the SetInventoryRequest. Currently empty because there is no
581
+ # meaningful response populated from the SetInventory method.
582
+ class GoogleCloudRetailV2SetInventoryResponse
583
+ include Google::Apis::Core::Hashable
584
+
585
+ def initialize(**args)
586
+ update!(**args)
587
+ end
588
+
589
+ # Update properties of this object
590
+ def update!(**args)
591
+ end
592
+ end
593
+
470
594
  # A summary of import result. The UserEventImportSummary summarizes the import
471
595
  # status for user events.
472
596
  class GoogleCloudRetailV2UserEventImportSummary
@@ -494,6 +618,35 @@ module Google
494
618
  end
495
619
  end
496
620
 
621
+ # Metadata related to the progress of the AddFulfillmentPlaces operation.
622
+ # Currently empty because there is no meaningful metadata populated from the
623
+ # AddFulfillmentPlaces method.
624
+ class GoogleCloudRetailV2alphaAddFulfillmentPlacesMetadata
625
+ include Google::Apis::Core::Hashable
626
+
627
+ def initialize(**args)
628
+ update!(**args)
629
+ end
630
+
631
+ # Update properties of this object
632
+ def update!(**args)
633
+ end
634
+ end
635
+
636
+ # Response of the RemoveFulfillmentPlacesRequest. Currently empty because there
637
+ # is no meaningful response populated from the AddFulfillmentPlaces method.
638
+ class GoogleCloudRetailV2alphaAddFulfillmentPlacesResponse
639
+ include Google::Apis::Core::Hashable
640
+
641
+ def initialize(**args)
642
+ update!(**args)
643
+ end
644
+
645
+ # Update properties of this object
646
+ def update!(**args)
647
+ end
648
+ end
649
+
497
650
  # Configuration of destination for Export related errors.
498
651
  class GoogleCloudRetailV2alphaExportErrorsConfig
499
652
  include Google::Apis::Core::Hashable
@@ -596,6 +749,27 @@ module Google
596
749
  end
597
750
  end
598
751
 
752
+ # Response of the ImportCompletionDataRequest. If the long running operation is
753
+ # done, this message is returned by the google.longrunning.Operations.response
754
+ # field if the operation is successful.
755
+ class GoogleCloudRetailV2alphaImportCompletionDataResponse
756
+ include Google::Apis::Core::Hashable
757
+
758
+ # A sample of errors encountered while processing the request.
759
+ # Corresponds to the JSON property `errorSamples`
760
+ # @return [Array<Google::Apis::RetailV2beta::GoogleRpcStatus>]
761
+ attr_accessor :error_samples
762
+
763
+ def initialize(**args)
764
+ update!(**args)
765
+ end
766
+
767
+ # Update properties of this object
768
+ def update!(**args)
769
+ @error_samples = args[:error_samples] if args.key?(:error_samples)
770
+ end
771
+ end
772
+
599
773
  # Configuration of destination for Import related errors.
600
774
  class GoogleCloudRetailV2alphaImportErrorsConfig
601
775
  include Google::Apis::Core::Hashable
@@ -632,6 +806,20 @@ module Google
632
806
  # @return [Fixnum]
633
807
  attr_accessor :failure_count
634
808
 
809
+ # Pub/Sub topic for receiving notification. If this field is set, when the
810
+ # import is finished, a notification will be sent to specified Pub/Sub topic.
811
+ # The message data will be JSON string of a Operation. Format of the Pub/Sub
812
+ # topic is `projects/`project`/topics/`topic``.
813
+ # Corresponds to the JSON property `notificationPubsubTopic`
814
+ # @return [String]
815
+ attr_accessor :notification_pubsub_topic
816
+
817
+ # Id of the request / operation. This is parroting back the requestId that was
818
+ # passed in the request.
819
+ # Corresponds to the JSON property `requestId`
820
+ # @return [String]
821
+ attr_accessor :request_id
822
+
635
823
  # Count of entries that were processed successfully.
636
824
  # Corresponds to the JSON property `successCount`
637
825
  # @return [Fixnum]
@@ -651,6 +839,8 @@ module Google
651
839
  def update!(**args)
652
840
  @create_time = args[:create_time] if args.key?(:create_time)
653
841
  @failure_count = args[:failure_count] if args.key?(:failure_count)
842
+ @notification_pubsub_topic = args[:notification_pubsub_topic] if args.key?(:notification_pubsub_topic)
843
+ @request_id = args[:request_id] if args.key?(:request_id)
654
844
  @success_count = args[:success_count] if args.key?(:success_count)
655
845
  @update_time = args[:update_time] if args.key?(:update_time)
656
846
  end
@@ -784,6 +974,64 @@ module Google
784
974
  end
785
975
  end
786
976
 
977
+ # Metadata related to the progress of the RemoveFulfillmentPlaces operation.
978
+ # Currently empty because there is no meaningful metadata populated from the
979
+ # RemoveFulfillmentPlaces method.
980
+ class GoogleCloudRetailV2alphaRemoveFulfillmentPlacesMetadata
981
+ include Google::Apis::Core::Hashable
982
+
983
+ def initialize(**args)
984
+ update!(**args)
985
+ end
986
+
987
+ # Update properties of this object
988
+ def update!(**args)
989
+ end
990
+ end
991
+
992
+ # Response of the RemoveFulfillmentPlacesRequest. Currently empty because there
993
+ # is no meaningful response populated from the RemoveFulfillmentPlaces method.
994
+ class GoogleCloudRetailV2alphaRemoveFulfillmentPlacesResponse
995
+ include Google::Apis::Core::Hashable
996
+
997
+ def initialize(**args)
998
+ update!(**args)
999
+ end
1000
+
1001
+ # Update properties of this object
1002
+ def update!(**args)
1003
+ end
1004
+ end
1005
+
1006
+ # Metadata related to the progress of the SetInventory operation. Currently
1007
+ # empty because there is no meaningful metadata populated from the SetInventory
1008
+ # method.
1009
+ class GoogleCloudRetailV2alphaSetInventoryMetadata
1010
+ include Google::Apis::Core::Hashable
1011
+
1012
+ def initialize(**args)
1013
+ update!(**args)
1014
+ end
1015
+
1016
+ # Update properties of this object
1017
+ def update!(**args)
1018
+ end
1019
+ end
1020
+
1021
+ # Response of the SetInventoryRequest. Currently empty because there is no
1022
+ # meaningful response populated from the SetInventory method.
1023
+ class GoogleCloudRetailV2alphaSetInventoryResponse
1024
+ include Google::Apis::Core::Hashable
1025
+
1026
+ def initialize(**args)
1027
+ update!(**args)
1028
+ end
1029
+
1030
+ # Update properties of this object
1031
+ def update!(**args)
1032
+ end
1033
+ end
1034
+
787
1035
  # A summary of import result. The UserEventImportSummary summarizes the import
788
1036
  # status for user events.
789
1037
  class GoogleCloudRetailV2alphaUserEventImportSummary
@@ -811,6 +1059,129 @@ module Google
811
1059
  end
812
1060
  end
813
1061
 
1062
+ # Metadata related to the progress of the AddFulfillmentPlaces operation.
1063
+ # Currently empty because there is no meaningful metadata populated from the
1064
+ # AddFulfillmentPlaces method.
1065
+ class GoogleCloudRetailV2betaAddFulfillmentPlacesMetadata
1066
+ include Google::Apis::Core::Hashable
1067
+
1068
+ def initialize(**args)
1069
+ update!(**args)
1070
+ end
1071
+
1072
+ # Update properties of this object
1073
+ def update!(**args)
1074
+ end
1075
+ end
1076
+
1077
+ # Request message for AddFulfillmentPlaces method.
1078
+ class GoogleCloudRetailV2betaAddFulfillmentPlacesRequest
1079
+ include Google::Apis::Core::Hashable
1080
+
1081
+ # The time when the fulfillment updates are issued, used to prevent out-of-order
1082
+ # updates on fulfillment information. If not provided, the internal system time
1083
+ # will be used.
1084
+ # Corresponds to the JSON property `addTime`
1085
+ # @return [String]
1086
+ attr_accessor :add_time
1087
+
1088
+ # If set to true, and the Product is not found, the fulfillment information will
1089
+ # still be processed and retained for at most 1 day and processed once the
1090
+ # Product is created. If set to false, an INVALID_ARGUMENT error is returned if
1091
+ # the Product is not found.
1092
+ # Corresponds to the JSON property `allowMissing`
1093
+ # @return [Boolean]
1094
+ attr_accessor :allow_missing
1095
+ alias_method :allow_missing?, :allow_missing
1096
+
1097
+ # Required. The IDs for this type, such as the store IDs for "pickup-in-store"
1098
+ # or the region IDs for "same-day-delivery" to be added for this type. Duplicate
1099
+ # IDs will be automatically ignored. At least 1 value is required, and a maximum
1100
+ # of 2000 values are allowed. Each value must be a string with a length limit of
1101
+ # 10 characters, matching the pattern [a-zA-Z0-9_-]+, such as "store1" or "
1102
+ # REGION-2". Otherwise, an INVALID_ARGUMENT error is returned. If the total
1103
+ # number of place IDs exceeds 2000 for this type after adding, then the update
1104
+ # will be rejected.
1105
+ # Corresponds to the JSON property `placeIds`
1106
+ # @return [Array<String>]
1107
+ attr_accessor :place_ids
1108
+
1109
+ # Required. The fulfillment type, including commonly used types (such as pickup
1110
+ # in store and same day delivery), and custom types. Supported values: * "pickup-
1111
+ # in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "
1112
+ # custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-
1113
+ # type-5" If this field is set to an invalid value other than these, an
1114
+ # INVALID_ARGUMENT error is returned. This field directly corresponds to Product.
1115
+ # fulfillment_info.type.
1116
+ # Corresponds to the JSON property `type`
1117
+ # @return [String]
1118
+ attr_accessor :type
1119
+
1120
+ def initialize(**args)
1121
+ update!(**args)
1122
+ end
1123
+
1124
+ # Update properties of this object
1125
+ def update!(**args)
1126
+ @add_time = args[:add_time] if args.key?(:add_time)
1127
+ @allow_missing = args[:allow_missing] if args.key?(:allow_missing)
1128
+ @place_ids = args[:place_ids] if args.key?(:place_ids)
1129
+ @type = args[:type] if args.key?(:type)
1130
+ end
1131
+ end
1132
+
1133
+ # Response of the RemoveFulfillmentPlacesRequest. Currently empty because there
1134
+ # is no meaningful response populated from the AddFulfillmentPlaces method.
1135
+ class GoogleCloudRetailV2betaAddFulfillmentPlacesResponse
1136
+ include Google::Apis::Core::Hashable
1137
+
1138
+ def initialize(**args)
1139
+ update!(**args)
1140
+ end
1141
+
1142
+ # Update properties of this object
1143
+ def update!(**args)
1144
+ end
1145
+ end
1146
+
1147
+ # An intended audience of the Product for whom it's sold.
1148
+ class GoogleCloudRetailV2betaAudience
1149
+ include Google::Apis::Core::Hashable
1150
+
1151
+ # The age groups of the audience. Strongly encouraged to use the standard values:
1152
+ # "newborn" (up to 3 months old), "infant" (3–12 months old), "toddler" (1–5
1153
+ # years old), "kids" (5–13 years old), "adult" (typically teens or older). At
1154
+ # most 5 values are allowed. Each value must be a UTF-8 encoded string with a
1155
+ # length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is
1156
+ # returned. Google Merchant Center property [age_group](https://support.google.
1157
+ # com/merchants/answer/6324463). Schema.org property [Product.audience.
1158
+ # suggestedMinAge](https://schema.org/suggestedMinAge) and [Product.audience.
1159
+ # suggestedMaxAge](https://schema.org/suggestedMaxAge).
1160
+ # Corresponds to the JSON property `ageGroups`
1161
+ # @return [Array<String>]
1162
+ attr_accessor :age_groups
1163
+
1164
+ # The genders of the audience. Strongly encouraged to use the standard values: "
1165
+ # male", "female", "unisex". At most 5 values are allowed. Each value must be a
1166
+ # UTF-8 encoded string with a length limit of 128 characters. Otherwise, an
1167
+ # INVALID_ARGUMENT error is returned. Google Merchant Center property [gender](
1168
+ # https://support.google.com/merchants/answer/6324479). Schema.org property [
1169
+ # Product.audience.suggestedGender](https://schema.org/suggestedGender).
1170
+ # Corresponds to the JSON property `genders`
1171
+ # @return [Array<String>]
1172
+ attr_accessor :genders
1173
+
1174
+ def initialize(**args)
1175
+ update!(**args)
1176
+ end
1177
+
1178
+ # Update properties of this object
1179
+ def update!(**args)
1180
+ @age_groups = args[:age_groups] if args.key?(:age_groups)
1181
+ @genders = args[:genders] if args.key?(:genders)
1182
+ end
1183
+ end
1184
+
814
1185
  # BigQuery source import data from.
815
1186
  class GoogleCloudRetailV2betaBigQuerySource
816
1187
  include Google::Apis::Core::Hashable
@@ -821,8 +1192,7 @@ module Google
821
1192
  # Importing catalog data from Merchant Center](https://cloud.google.com/retail/
822
1193
  # recommendations-ai/docs/upload-catalog#mc). Supported values for user events
823
1194
  # imports: * `user_event` (default): One JSON UserEvent per line. * `
824
- # user_event_ga360`: Using https://support.google.com/analytics/answer/3437719?
825
- # hl=en.
1195
+ # user_event_ga360`: Using https://support.google.com/analytics/answer/3437719.
826
1196
  # Corresponds to the JSON property `dataSchema`
827
1197
  # @return [String]
828
1198
  attr_accessor :data_schema
@@ -840,6 +1210,18 @@ module Google
840
1210
  # @return [String]
841
1211
  attr_accessor :gcs_staging_dir
842
1212
 
1213
+ # Represents a whole or partial calendar date, such as a birthday. The time of
1214
+ # day and time zone are either specified elsewhere or are insignificant. The
1215
+ # date is relative to the Gregorian Calendar. This can represent one of the
1216
+ # following: * A full date, with non-zero year, month, and day values * A month
1217
+ # and day value, with a zero year, such as an anniversary * A year on its own,
1218
+ # with zero month and day values * A year and month value, with a zero day, such
1219
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
1220
+ # google.protobuf.Timestamp`.
1221
+ # Corresponds to the JSON property `partitionDate`
1222
+ # @return [Google::Apis::RetailV2beta::GoogleTypeDate]
1223
+ attr_accessor :partition_date
1224
+
843
1225
  # The project ID (can be project # or ID) that the BigQuery source is in with a
844
1226
  # length limit of 128 characters. If not specified, inherits the project ID from
845
1227
  # the parent request.
@@ -862,6 +1244,7 @@ module Google
862
1244
  @data_schema = args[:data_schema] if args.key?(:data_schema)
863
1245
  @dataset_id = args[:dataset_id] if args.key?(:dataset_id)
864
1246
  @gcs_staging_dir = args[:gcs_staging_dir] if args.key?(:gcs_staging_dir)
1247
+ @partition_date = args[:partition_date] if args.key?(:partition_date)
865
1248
  @project_id = args[:project_id] if args.key?(:project_id)
866
1249
  @table_id = args[:table_id] if args.key?(:table_id)
867
1250
  end
@@ -901,27 +1284,34 @@ module Google
901
1284
  end
902
1285
  end
903
1286
 
904
- # A custom attribute that is not explicitly modeled in Product.
905
- class GoogleCloudRetailV2betaCustomAttribute
1287
+ # The color information of a Product.
1288
+ class GoogleCloudRetailV2betaColorInfo
906
1289
  include Google::Apis::Core::Hashable
907
1290
 
908
- # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when
909
- # the key is "lengths_cm". At most 400 values are allowed.Otherwise, an
910
- # INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be
911
- # set. Otherwise, an INVALID_ARGUMENT error is returned.
912
- # Corresponds to the JSON property `numbers`
913
- # @return [Array<Float>]
914
- attr_accessor :numbers
1291
+ # The standard color families. Strongly recommended to use the following
1292
+ # standard color groups: "Red", "Pink", "Orange", "Yellow", "Purple", "Green", "
1293
+ # Cyan", "Blue", "Brown", "White", "Gray", "Black" and "Mixed". Normally it is
1294
+ # expected to have only 1 color family. May consider using single "Mixed"
1295
+ # instead of multiple values. A maximum of 5 values are allowed. Each value must
1296
+ # be a UTF-8 encoded string with a length limit of 128 characters. Otherwise, an
1297
+ # INVALID_ARGUMENT error is returned. Google Merchant Center property [color](
1298
+ # https://support.google.com/merchants/answer/6324487). Schema.org property [
1299
+ # Product.color](https://schema.org/color).
1300
+ # Corresponds to the JSON property `colorFamilies`
1301
+ # @return [Array<String>]
1302
+ attr_accessor :color_families
915
1303
 
916
- # The textual values of this custom attribute. For example, `["yellow", "green"]`
917
- # when the key is "color". At most 400 values are allowed. Empty values are not
918
- # allowed. Each value must be a UTF-8 encoded string with a length limit of 256
919
- # characters. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of
920
- # text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is
921
- # returned.
922
- # Corresponds to the JSON property `text`
1304
+ # The color display names, which may be different from standard color family
1305
+ # names, such as the color aliases used in the website frontend. Normally it is
1306
+ # expected to have only 1 color. May consider using single "Mixed" instead of
1307
+ # multiple values. A maximum of 5 colors are allowed. Each value must be a UTF-8
1308
+ # encoded string with a length limit of 128 characters. Otherwise, an
1309
+ # INVALID_ARGUMENT error is returned. Google Merchant Center property [color](
1310
+ # https://support.google.com/merchants/answer/6324487). Schema.org property [
1311
+ # Product.color](https://schema.org/color).
1312
+ # Corresponds to the JSON property `colors`
923
1313
  # @return [Array<String>]
924
- attr_accessor :text
1314
+ attr_accessor :colors
925
1315
 
926
1316
  def initialize(**args)
927
1317
  update!(**args)
@@ -929,17 +1319,207 @@ module Google
929
1319
 
930
1320
  # Update properties of this object
931
1321
  def update!(**args)
932
- @numbers = args[:numbers] if args.key?(:numbers)
933
- @text = args[:text] if args.key?(:text)
1322
+ @color_families = args[:color_families] if args.key?(:color_families)
1323
+ @colors = args[:colors] if args.key?(:colors)
934
1324
  end
935
1325
  end
936
1326
 
937
- # Configuration of destination for Export related errors.
938
- class GoogleCloudRetailV2betaExportErrorsConfig
1327
+ # Response of the auto-complete query.
1328
+ class GoogleCloudRetailV2betaCompleteQueryResponse
939
1329
  include Google::Apis::Core::Hashable
940
1330
 
941
- # Google Cloud Storage path for import errors. This must be an empty, existing
942
- # Cloud Storage bucket. Export errors will be written to a file in this bucket,
1331
+ # A unique complete token. This should be included in the SearchRequest
1332
+ # resulting from this completion, which enables accurate attribution of complete
1333
+ # model performance.
1334
+ # Corresponds to the JSON property `attributionToken`
1335
+ # @return [String]
1336
+ attr_accessor :attribution_token
1337
+
1338
+ # Results of the matching suggestions. The result list is ordered and the first
1339
+ # result is top suggestion.
1340
+ # Corresponds to the JSON property `completionResults`
1341
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCompleteQueryResponseCompletionResult>]
1342
+ attr_accessor :completion_results
1343
+
1344
+ # Matched recent searches of this user. The maximum number of recent searches is
1345
+ # 10. This field is a restricted feature. Contact Retail Search support team if
1346
+ # you are interested in enabling it. This feature is only available when
1347
+ # CompleteQueryRequest.visitor_id field is set and UserEvent is imported. The
1348
+ # recent searches satisfy the follow rules: * They are ordered from latest to
1349
+ # oldest. * They are matched with CompleteQueryRequest.query case insensitively.
1350
+ # * They are transformed to lower cases. * They are UTF-8 safe. Recent searches
1351
+ # are deduplicated. More recent searches will be reserved when duplication
1352
+ # happens.
1353
+ # Corresponds to the JSON property `recentSearchResults`
1354
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCompleteQueryResponseRecentSearchResult>]
1355
+ attr_accessor :recent_search_results
1356
+
1357
+ def initialize(**args)
1358
+ update!(**args)
1359
+ end
1360
+
1361
+ # Update properties of this object
1362
+ def update!(**args)
1363
+ @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
1364
+ @completion_results = args[:completion_results] if args.key?(:completion_results)
1365
+ @recent_search_results = args[:recent_search_results] if args.key?(:recent_search_results)
1366
+ end
1367
+ end
1368
+
1369
+ # Resource that represents completion results.
1370
+ class GoogleCloudRetailV2betaCompleteQueryResponseCompletionResult
1371
+ include Google::Apis::Core::Hashable
1372
+
1373
+ # Additional custom attributes ingested through BigQuery.
1374
+ # Corresponds to the JSON property `attributes`
1375
+ # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCustomAttribute>]
1376
+ attr_accessor :attributes
1377
+
1378
+ # The suggestion for the query.
1379
+ # Corresponds to the JSON property `suggestion`
1380
+ # @return [String]
1381
+ attr_accessor :suggestion
1382
+
1383
+ def initialize(**args)
1384
+ update!(**args)
1385
+ end
1386
+
1387
+ # Update properties of this object
1388
+ def update!(**args)
1389
+ @attributes = args[:attributes] if args.key?(:attributes)
1390
+ @suggestion = args[:suggestion] if args.key?(:suggestion)
1391
+ end
1392
+ end
1393
+
1394
+ # Recent search of this user.
1395
+ class GoogleCloudRetailV2betaCompleteQueryResponseRecentSearchResult
1396
+ include Google::Apis::Core::Hashable
1397
+
1398
+ # The recent search query.
1399
+ # Corresponds to the JSON property `recentSearch`
1400
+ # @return [String]
1401
+ attr_accessor :recent_search
1402
+
1403
+ def initialize(**args)
1404
+ update!(**args)
1405
+ end
1406
+
1407
+ # Update properties of this object
1408
+ def update!(**args)
1409
+ @recent_search = args[:recent_search] if args.key?(:recent_search)
1410
+ end
1411
+ end
1412
+
1413
+ # The input config source for completion data.
1414
+ class GoogleCloudRetailV2betaCompletionDataInputConfig
1415
+ include Google::Apis::Core::Hashable
1416
+
1417
+ # BigQuery source import data from.
1418
+ # Corresponds to the JSON property `bigQuerySource`
1419
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaBigQuerySource]
1420
+ attr_accessor :big_query_source
1421
+
1422
+ def initialize(**args)
1423
+ update!(**args)
1424
+ end
1425
+
1426
+ # Update properties of this object
1427
+ def update!(**args)
1428
+ @big_query_source = args[:big_query_source] if args.key?(:big_query_source)
1429
+ end
1430
+ end
1431
+
1432
+ # Detailed completion information including completion attribution token and
1433
+ # clicked completion info.
1434
+ class GoogleCloudRetailV2betaCompletionDetail
1435
+ include Google::Apis::Core::Hashable
1436
+
1437
+ # Completion attribution token in CompleteQueryResponse.attribution_token.
1438
+ # Corresponds to the JSON property `completionAttributionToken`
1439
+ # @return [String]
1440
+ attr_accessor :completion_attribution_token
1441
+
1442
+ # End user selected CompleteQueryResponse.CompletionResult.suggestion position,
1443
+ # starting from 0.
1444
+ # Corresponds to the JSON property `selectedPosition`
1445
+ # @return [Fixnum]
1446
+ attr_accessor :selected_position
1447
+
1448
+ # End user selected CompleteQueryResponse.CompletionResult.suggestion.
1449
+ # Corresponds to the JSON property `selectedSuggestion`
1450
+ # @return [String]
1451
+ attr_accessor :selected_suggestion
1452
+
1453
+ def initialize(**args)
1454
+ update!(**args)
1455
+ end
1456
+
1457
+ # Update properties of this object
1458
+ def update!(**args)
1459
+ @completion_attribution_token = args[:completion_attribution_token] if args.key?(:completion_attribution_token)
1460
+ @selected_position = args[:selected_position] if args.key?(:selected_position)
1461
+ @selected_suggestion = args[:selected_suggestion] if args.key?(:selected_suggestion)
1462
+ end
1463
+ end
1464
+
1465
+ # A custom attribute that is not explicitly modeled in Product.
1466
+ class GoogleCloudRetailV2betaCustomAttribute
1467
+ include Google::Apis::Core::Hashable
1468
+
1469
+ # If true, custom attribute values are indexed, so that it can be filtered,
1470
+ # faceted or boosted in SearchService.Search. This field is ignored in a
1471
+ # UserEvent. See SearchRequest.filter, SearchRequest.facet_specs and
1472
+ # SearchRequest.boost_spec for more details.
1473
+ # Corresponds to the JSON property `indexable`
1474
+ # @return [Boolean]
1475
+ attr_accessor :indexable
1476
+ alias_method :indexable?, :indexable
1477
+
1478
+ # The numerical values of this custom attribute. For example, `[2.3, 15.4]` when
1479
+ # the key is "lengths_cm". At most 400 values are allowed.Otherwise, an
1480
+ # INVALID_ARGUMENT error is returned. Exactly one of text or numbers should be
1481
+ # set. Otherwise, an INVALID_ARGUMENT error is returned.
1482
+ # Corresponds to the JSON property `numbers`
1483
+ # @return [Array<Float>]
1484
+ attr_accessor :numbers
1485
+
1486
+ # If true, custom attribute values are searchable by text queries in
1487
+ # SearchService.Search. This field is ignored in a UserEvent. Only set if type
1488
+ # text is set. Otherwise, a INVALID_ARGUMENT error is returned.
1489
+ # Corresponds to the JSON property `searchable`
1490
+ # @return [Boolean]
1491
+ attr_accessor :searchable
1492
+ alias_method :searchable?, :searchable
1493
+
1494
+ # The textual values of this custom attribute. For example, `["yellow", "green"]`
1495
+ # when the key is "color". At most 400 values are allowed. Empty values are not
1496
+ # allowed. Each value must be a UTF-8 encoded string with a length limit of 256
1497
+ # characters. Otherwise, an INVALID_ARGUMENT error is returned. Exactly one of
1498
+ # text or numbers should be set. Otherwise, an INVALID_ARGUMENT error is
1499
+ # returned.
1500
+ # Corresponds to the JSON property `text`
1501
+ # @return [Array<String>]
1502
+ attr_accessor :text
1503
+
1504
+ def initialize(**args)
1505
+ update!(**args)
1506
+ end
1507
+
1508
+ # Update properties of this object
1509
+ def update!(**args)
1510
+ @indexable = args[:indexable] if args.key?(:indexable)
1511
+ @numbers = args[:numbers] if args.key?(:numbers)
1512
+ @searchable = args[:searchable] if args.key?(:searchable)
1513
+ @text = args[:text] if args.key?(:text)
1514
+ end
1515
+ end
1516
+
1517
+ # Configuration of destination for Export related errors.
1518
+ class GoogleCloudRetailV2betaExportErrorsConfig
1519
+ include Google::Apis::Core::Hashable
1520
+
1521
+ # Google Cloud Storage path for import errors. This must be an empty, existing
1522
+ # Cloud Storage bucket. Export errors will be written to a file in this bucket,
943
1523
  # one per line, as a JSON-encoded `google.rpc.Status` message.
944
1524
  # Corresponds to the JSON property `gcsPrefix`
945
1525
  # @return [String]
@@ -1036,6 +1616,42 @@ module Google
1036
1616
  end
1037
1617
  end
1038
1618
 
1619
+ # Fulfillment information, such as the store IDs for in-store pickup or region
1620
+ # IDs for different shipping methods.
1621
+ class GoogleCloudRetailV2betaFulfillmentInfo
1622
+ include Google::Apis::Core::Hashable
1623
+
1624
+ # The IDs for this type, such as the store IDs for FulfillmentInfo.type.pickup-
1625
+ # in-store or the region IDs for FulfillmentInfo.type.same-day-delivery. A
1626
+ # maximum of 3000 values are allowed. Each value must be a string with a length
1627
+ # limit of 30 characters, matching the pattern [a-zA-Z0-9_-]+, such as "store1"
1628
+ # or "REGION-2". Otherwise, an INVALID_ARGUMENT error is returned.
1629
+ # Corresponds to the JSON property `placeIds`
1630
+ # @return [Array<String>]
1631
+ attr_accessor :place_ids
1632
+
1633
+ # The fulfillment type, including commonly used types (such as pickup in store
1634
+ # and same day delivery), and custom types. Customers have to map custom types
1635
+ # to their display names before rendering UI. Supported values: * "pickup-in-
1636
+ # store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "custom-
1637
+ # type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-type-5"
1638
+ # If this field is set to an invalid value other than these, an
1639
+ # INVALID_ARGUMENT error is returned.
1640
+ # Corresponds to the JSON property `type`
1641
+ # @return [String]
1642
+ attr_accessor :type
1643
+
1644
+ def initialize(**args)
1645
+ update!(**args)
1646
+ end
1647
+
1648
+ # Update properties of this object
1649
+ def update!(**args)
1650
+ @place_ids = args[:place_ids] if args.key?(:place_ids)
1651
+ @type = args[:type] if args.key?(:type)
1652
+ end
1653
+ end
1654
+
1039
1655
  # Google Cloud Storage location for input content. format.
1040
1656
  class GoogleCloudRetailV2betaGcsSource
1041
1657
  include Google::Apis::Core::Hashable
@@ -1046,8 +1662,7 @@ module Google
1046
1662
  # Importing catalog data from Merchant Center](https://cloud.google.com/retail/
1047
1663
  # recommendations-ai/docs/upload-catalog#mc). Supported values for user events
1048
1664
  # imports: * `user_event` (default): One JSON UserEvent per line. * `
1049
- # user_event_ga360`: Using https://support.google.com/analytics/answer/3437719?
1050
- # hl=en.
1665
+ # user_event_ga360`: Using https://support.google.com/analytics/answer/3437719.
1051
1666
  # Corresponds to the JSON property `dataSchema`
1052
1667
  # @return [String]
1053
1668
  attr_accessor :data_schema
@@ -1074,6 +1689,38 @@ module Google
1074
1689
  end
1075
1690
  end
1076
1691
 
1692
+ # Response message of CatalogService.GetDefaultBranch.
1693
+ class GoogleCloudRetailV2betaGetDefaultBranchResponse
1694
+ include Google::Apis::Core::Hashable
1695
+
1696
+ # Full resource name of the branch id currently set as default branch.
1697
+ # Corresponds to the JSON property `branch`
1698
+ # @return [String]
1699
+ attr_accessor :branch
1700
+
1701
+ # This corresponds to SetDefaultBranchRequest.note field, when this branch was
1702
+ # set as default.
1703
+ # Corresponds to the JSON property `note`
1704
+ # @return [String]
1705
+ attr_accessor :note
1706
+
1707
+ # The time when this branch is set to default.
1708
+ # Corresponds to the JSON property `setTime`
1709
+ # @return [String]
1710
+ attr_accessor :set_time
1711
+
1712
+ def initialize(**args)
1713
+ update!(**args)
1714
+ end
1715
+
1716
+ # Update properties of this object
1717
+ def update!(**args)
1718
+ @branch = args[:branch] if args.key?(:branch)
1719
+ @note = args[:note] if args.key?(:note)
1720
+ @set_time = args[:set_time] if args.key?(:set_time)
1721
+ end
1722
+ end
1723
+
1077
1724
  # Product thumbnail/detail image.
1078
1725
  class GoogleCloudRetailV2betaImage
1079
1726
  include Google::Apis::Core::Hashable
@@ -1111,6 +1758,55 @@ module Google
1111
1758
  end
1112
1759
  end
1113
1760
 
1761
+ # Request message for ImportCompletionData methods.
1762
+ class GoogleCloudRetailV2betaImportCompletionDataRequest
1763
+ include Google::Apis::Core::Hashable
1764
+
1765
+ # The input config source for completion data.
1766
+ # Corresponds to the JSON property `inputConfig`
1767
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCompletionDataInputConfig]
1768
+ attr_accessor :input_config
1769
+
1770
+ # Pub/Sub topic for receiving notification. If this field is set, when the
1771
+ # import is finished, a notification will be sent to specified Pub/Sub topic.
1772
+ # The message data will be JSON string of a Operation. Format of the Pub/Sub
1773
+ # topic is `projects/`project`/topics/`topic``.
1774
+ # Corresponds to the JSON property `notificationPubsubTopic`
1775
+ # @return [String]
1776
+ attr_accessor :notification_pubsub_topic
1777
+
1778
+ def initialize(**args)
1779
+ update!(**args)
1780
+ end
1781
+
1782
+ # Update properties of this object
1783
+ def update!(**args)
1784
+ @input_config = args[:input_config] if args.key?(:input_config)
1785
+ @notification_pubsub_topic = args[:notification_pubsub_topic] if args.key?(:notification_pubsub_topic)
1786
+ end
1787
+ end
1788
+
1789
+ # Response of the ImportCompletionDataRequest. If the long running operation is
1790
+ # done, this message is returned by the google.longrunning.Operations.response
1791
+ # field if the operation is successful.
1792
+ class GoogleCloudRetailV2betaImportCompletionDataResponse
1793
+ include Google::Apis::Core::Hashable
1794
+
1795
+ # A sample of errors encountered while processing the request.
1796
+ # Corresponds to the JSON property `errorSamples`
1797
+ # @return [Array<Google::Apis::RetailV2beta::GoogleRpcStatus>]
1798
+ attr_accessor :error_samples
1799
+
1800
+ def initialize(**args)
1801
+ update!(**args)
1802
+ end
1803
+
1804
+ # Update properties of this object
1805
+ def update!(**args)
1806
+ @error_samples = args[:error_samples] if args.key?(:error_samples)
1807
+ end
1808
+ end
1809
+
1114
1810
  # Configuration of destination for Import related errors.
1115
1811
  class GoogleCloudRetailV2betaImportErrorsConfig
1116
1812
  include Google::Apis::Core::Hashable
@@ -1147,6 +1843,20 @@ module Google
1147
1843
  # @return [Fixnum]
1148
1844
  attr_accessor :failure_count
1149
1845
 
1846
+ # Pub/Sub topic for receiving notification. If this field is set, when the
1847
+ # import is finished, a notification will be sent to specified Pub/Sub topic.
1848
+ # The message data will be JSON string of a Operation. Format of the Pub/Sub
1849
+ # topic is `projects/`project`/topics/`topic``.
1850
+ # Corresponds to the JSON property `notificationPubsubTopic`
1851
+ # @return [String]
1852
+ attr_accessor :notification_pubsub_topic
1853
+
1854
+ # Id of the request / operation. This is parroting back the requestId that was
1855
+ # passed in the request.
1856
+ # Corresponds to the JSON property `requestId`
1857
+ # @return [String]
1858
+ attr_accessor :request_id
1859
+
1150
1860
  # Count of entries that were processed successfully.
1151
1861
  # Corresponds to the JSON property `successCount`
1152
1862
  # @return [Fixnum]
@@ -1166,6 +1876,8 @@ module Google
1166
1876
  def update!(**args)
1167
1877
  @create_time = args[:create_time] if args.key?(:create_time)
1168
1878
  @failure_count = args[:failure_count] if args.key?(:failure_count)
1879
+ @notification_pubsub_topic = args[:notification_pubsub_topic] if args.key?(:notification_pubsub_topic)
1880
+ @request_id = args[:request_id] if args.key?(:request_id)
1169
1881
  @success_count = args[:success_count] if args.key?(:success_count)
1170
1882
  @update_time = args[:update_time] if args.key?(:update_time)
1171
1883
  end
@@ -1185,6 +1897,30 @@ module Google
1185
1897
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductInputConfig]
1186
1898
  attr_accessor :input_config
1187
1899
 
1900
+ # Pub/Sub topic for receiving notification. If this field is set, when the
1901
+ # import is finished, a notification will be sent to specified Pub/Sub topic.
1902
+ # The message data will be JSON string of a Operation. Format of the Pub/Sub
1903
+ # topic is `projects/`project`/topics/`topic``. Only supported when
1904
+ # ImportProductsRequest.reconciliation_mode is set to `FULL`.
1905
+ # Corresponds to the JSON property `notificationPubsubTopic`
1906
+ # @return [String]
1907
+ attr_accessor :notification_pubsub_topic
1908
+
1909
+ # The mode of reconciliation between existing products and the products to be
1910
+ # imported. Defaults to ReconciliationMode.INCREMENTAL.
1911
+ # Corresponds to the JSON property `reconciliationMode`
1912
+ # @return [String]
1913
+ attr_accessor :reconciliation_mode
1914
+
1915
+ # Unique identifier provided by client, within the ancestor dataset scope.
1916
+ # Ensures idempotency and used for request deduplication. Server-generated if
1917
+ # unspecified. Up to 128 characters long and must match the pattern: "[a-zA-Z0-
1918
+ # 9_]+". This is returned as Operation.name in ImportMetadata. Only supported
1919
+ # when ImportProductsRequest.reconciliation_mode is set to `FULL`.
1920
+ # Corresponds to the JSON property `requestId`
1921
+ # @return [String]
1922
+ attr_accessor :request_id
1923
+
1188
1924
  # Indicates which fields in the provided imported 'products' to update. If not
1189
1925
  # set, will by default update all fields.
1190
1926
  # Corresponds to the JSON property `updateMask`
@@ -1199,6 +1935,9 @@ module Google
1199
1935
  def update!(**args)
1200
1936
  @errors_config = args[:errors_config] if args.key?(:errors_config)
1201
1937
  @input_config = args[:input_config] if args.key?(:input_config)
1938
+ @notification_pubsub_topic = args[:notification_pubsub_topic] if args.key?(:notification_pubsub_topic)
1939
+ @reconciliation_mode = args[:reconciliation_mode] if args.key?(:reconciliation_mode)
1940
+ @request_id = args[:request_id] if args.key?(:request_id)
1202
1941
  @update_mask = args[:update_mask] if args.key?(:update_mask)
1203
1942
  end
1204
1943
  end
@@ -1289,6 +2028,43 @@ module Google
1289
2028
  end
1290
2029
  end
1291
2030
 
2031
+ # A floating point interval.
2032
+ class GoogleCloudRetailV2betaInterval
2033
+ include Google::Apis::Core::Hashable
2034
+
2035
+ # Exclusive upper bound.
2036
+ # Corresponds to the JSON property `exclusiveMaximum`
2037
+ # @return [Float]
2038
+ attr_accessor :exclusive_maximum
2039
+
2040
+ # Exclusive lower bound.
2041
+ # Corresponds to the JSON property `exclusiveMinimum`
2042
+ # @return [Float]
2043
+ attr_accessor :exclusive_minimum
2044
+
2045
+ # Inclusive upper bound.
2046
+ # Corresponds to the JSON property `maximum`
2047
+ # @return [Float]
2048
+ attr_accessor :maximum
2049
+
2050
+ # Inclusive lower bound.
2051
+ # Corresponds to the JSON property `minimum`
2052
+ # @return [Float]
2053
+ attr_accessor :minimum
2054
+
2055
+ def initialize(**args)
2056
+ update!(**args)
2057
+ end
2058
+
2059
+ # Update properties of this object
2060
+ def update!(**args)
2061
+ @exclusive_maximum = args[:exclusive_maximum] if args.key?(:exclusive_maximum)
2062
+ @exclusive_minimum = args[:exclusive_minimum] if args.key?(:exclusive_minimum)
2063
+ @maximum = args[:maximum] if args.key?(:maximum)
2064
+ @minimum = args[:minimum] if args.key?(:minimum)
2065
+ end
2066
+ end
2067
+
1292
2068
  # Response for CatalogService.ListCatalogs method.
1293
2069
  class GoogleCloudRetailV2betaListCatalogsResponse
1294
2070
  include Google::Apis::Core::Hashable
@@ -1315,6 +2091,32 @@ module Google
1315
2091
  end
1316
2092
  end
1317
2093
 
2094
+ # Response message for ProductService.ListProducts method.
2095
+ class GoogleCloudRetailV2betaListProductsResponse
2096
+ include Google::Apis::Core::Hashable
2097
+
2098
+ # A token that can be sent as ListProductsRequest.page_token to retrieve the
2099
+ # next page. If this field is omitted, there are no subsequent pages.
2100
+ # Corresponds to the JSON property `nextPageToken`
2101
+ # @return [String]
2102
+ attr_accessor :next_page_token
2103
+
2104
+ # The Products.
2105
+ # Corresponds to the JSON property `products`
2106
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProduct>]
2107
+ attr_accessor :products
2108
+
2109
+ def initialize(**args)
2110
+ update!(**args)
2111
+ end
2112
+
2113
+ # Update properties of this object
2114
+ def update!(**args)
2115
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
2116
+ @products = args[:products] if args.key?(:products)
2117
+ end
2118
+ end
2119
+
1318
2120
  # Request message for Predict method.
1319
2121
  class GoogleCloudRetailV2betaPredictRequest
1320
2122
  include Google::Apis::Core::Hashable
@@ -1500,7 +2302,9 @@ module Google
1500
2302
 
1501
2303
  # The 3-letter currency code defined in [ISO 4217](https://www.iso.org/iso-4217-
1502
2304
  # currency-codes.html). If this field is an unrecognizable currency code, an
1503
- # INVALID_ARGUMENT error is returned.
2305
+ # INVALID_ARGUMENT error is returned. The Product.Type.VARIANT Products with the
2306
+ # same Product.primary_product_id must share the same currency_code. Otherwise,
2307
+ # a FAILED_PRECONDITION error is returned.
1504
2308
  # Corresponds to the JSON property `currencyCode`
1505
2309
  # @return [String]
1506
2310
  attr_accessor :currency_code
@@ -1518,6 +2322,29 @@ module Google
1518
2322
  # @return [Float]
1519
2323
  attr_accessor :price
1520
2324
 
2325
+ # The timestamp when the price starts to be effective. This can be set as a
2326
+ # future timestamp, and the price is only used for search after
2327
+ # price_effective_time. If so, the original_price must be set and original_price
2328
+ # is used before price_effective_time. Do not set if price is always effective
2329
+ # because it will cause additional latency during search.
2330
+ # Corresponds to the JSON property `priceEffectiveTime`
2331
+ # @return [String]
2332
+ attr_accessor :price_effective_time
2333
+
2334
+ # The timestamp when the price stops to be effective. The price is used for
2335
+ # search before price_expire_time. If this field is set, the original_price must
2336
+ # be set and original_price is used after price_expire_time. Do not set if price
2337
+ # is always effective because it will cause additional latency during search.
2338
+ # Corresponds to the JSON property `priceExpireTime`
2339
+ # @return [String]
2340
+ attr_accessor :price_expire_time
2341
+
2342
+ # The price range of all variant Product having the same Product.
2343
+ # primary_product_id.
2344
+ # Corresponds to the JSON property `priceRange`
2345
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPriceInfoPriceRange]
2346
+ attr_accessor :price_range
2347
+
1521
2348
  def initialize(**args)
1522
2349
  update!(**args)
1523
2350
  end
@@ -1528,31 +2355,66 @@ module Google
1528
2355
  @currency_code = args[:currency_code] if args.key?(:currency_code)
1529
2356
  @original_price = args[:original_price] if args.key?(:original_price)
1530
2357
  @price = args[:price] if args.key?(:price)
2358
+ @price_effective_time = args[:price_effective_time] if args.key?(:price_effective_time)
2359
+ @price_expire_time = args[:price_expire_time] if args.key?(:price_expire_time)
2360
+ @price_range = args[:price_range] if args.key?(:price_range)
1531
2361
  end
1532
2362
  end
1533
2363
 
1534
- # Product captures all metadata information of items to be recommended or
1535
- # searched.
1536
- class GoogleCloudRetailV2betaProduct
2364
+ # The price range of all variant Product having the same Product.
2365
+ # primary_product_id.
2366
+ class GoogleCloudRetailV2betaPriceInfoPriceRange
1537
2367
  include Google::Apis::Core::Hashable
1538
2368
 
1539
- # Highly encouraged. Extra product attributes to be included. For example, for
1540
- # products, this could include the store name, vendor, style, color, etc. These
1541
- # are very strong signals for recommendation model, thus we highly recommend
1542
- # providing the attributes here. Features that can take on one of a limited
1543
- # number of possible values. Two types of features can be set are: Textual
2369
+ # A floating point interval.
2370
+ # Corresponds to the JSON property `originalPrice`
2371
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaInterval]
2372
+ attr_accessor :original_price
2373
+
2374
+ # A floating point interval.
2375
+ # Corresponds to the JSON property `price`
2376
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaInterval]
2377
+ attr_accessor :price
2378
+
2379
+ def initialize(**args)
2380
+ update!(**args)
2381
+ end
2382
+
2383
+ # Update properties of this object
2384
+ def update!(**args)
2385
+ @original_price = args[:original_price] if args.key?(:original_price)
2386
+ @price = args[:price] if args.key?(:price)
2387
+ end
2388
+ end
2389
+
2390
+ # Product captures all metadata information of items to be recommended or
2391
+ # searched.
2392
+ class GoogleCloudRetailV2betaProduct
2393
+ include Google::Apis::Core::Hashable
2394
+
2395
+ # Highly encouraged. Extra product attributes to be included. For example, for
2396
+ # products, this could include the store name, vendor, style, color, etc. These
2397
+ # are very strong signals for recommendation model, thus we highly recommend
2398
+ # providing the attributes here. Features that can take on one of a limited
2399
+ # number of possible values. Two types of features can be set are: Textual
1544
2400
  # features. some examples would be the brand/maker of a product, or country of a
1545
2401
  # customer. Numerical features. Some examples would be the height/weight of a
1546
2402
  # product, or age of a customer. For example: `` "vendor": `"text": ["vendor123",
1547
2403
  # "vendor456"]`, "lengths_cm": `"numbers":[2.3, 15.4]`, "heights_cm": `"numbers"
1548
2404
  # :[8.1, 6.4]` ``. This field needs to pass all below criteria, otherwise an
1549
- # INVALID_ARGUMENT error is returned: * Max entries count: 200 by default; 100
1550
- # for Type.VARIANT. * The key must be a UTF-8 encoded string with a length limit
1551
- # of 128 characters.
2405
+ # INVALID_ARGUMENT error is returned: * Max entries count: 200. * The key must
2406
+ # be a UTF-8 encoded string with a length limit of 128 characters. * For
2407
+ # indexable attribute, the key must match the pattern: a-zA-Z0-9*. For example,
2408
+ # key0LikeThis or KEY_1_LIKE_THIS.
1552
2409
  # Corresponds to the JSON property `attributes`
1553
2410
  # @return [Hash<String,Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCustomAttribute>]
1554
2411
  attr_accessor :attributes
1555
2412
 
2413
+ # An intended audience of the Product for whom it's sold.
2414
+ # Corresponds to the JSON property `audience`
2415
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaAudience]
2416
+ attr_accessor :audience
2417
+
1556
2418
  # The online availability of the Product. Default to Availability.IN_STOCK.
1557
2419
  # Google Merchant Center Property [availability](https://support.google.com/
1558
2420
  # merchants/answer/6324448). Schema.org Property [Offer.availability](https://
@@ -1566,11 +2428,20 @@ module Google
1566
2428
  # @return [Fixnum]
1567
2429
  attr_accessor :available_quantity
1568
2430
 
1569
- # The timestamp when this Product becomes available for recommendation.
2431
+ # The timestamp when this Product becomes available for SearchService.Search.
1570
2432
  # Corresponds to the JSON property `availableTime`
1571
2433
  # @return [String]
1572
2434
  attr_accessor :available_time
1573
2435
 
2436
+ # The brands of the product. A maximum of 30 brands are allowed. Each brand must
2437
+ # be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise,
2438
+ # an INVALID_ARGUMENT error is returned. Google Merchant Center property [brand](
2439
+ # https://support.google.com/merchants/answer/6324351). Schema.org property [
2440
+ # Product.brand](https://schema.org/brand).
2441
+ # Corresponds to the JSON property `brands`
2442
+ # @return [Array<String>]
2443
+ attr_accessor :brands
2444
+
1574
2445
  # Product categories. This field is repeated for supporting one product
1575
2446
  # belonging to several parallel categories. Strongly recommended using the full
1576
2447
  # path for better search / recommendation quality. To represent full path of
@@ -1591,6 +2462,29 @@ module Google
1591
2462
  # @return [Array<String>]
1592
2463
  attr_accessor :categories
1593
2464
 
2465
+ # The id of the collection members when type is Type.COLLECTION. Should not set
2466
+ # it for other types. A maximum of 1000 values are allowed. Otherwise, an
2467
+ # INVALID_ARGUMENT error is return.
2468
+ # Corresponds to the JSON property `collectionMemberIds`
2469
+ # @return [Array<String>]
2470
+ attr_accessor :collection_member_ids
2471
+
2472
+ # The color information of a Product.
2473
+ # Corresponds to the JSON property `colorInfo`
2474
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaColorInfo]
2475
+ attr_accessor :color_info
2476
+
2477
+ # The condition of the product. Strongly encouraged to use the standard values: "
2478
+ # new", "refurbished", "used". A maximum of 5 values are allowed per Product.
2479
+ # Each value must be a UTF-8 encoded string with a length limit of 128
2480
+ # characters. Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant
2481
+ # Center property [condition](https://support.google.com/merchants/answer/
2482
+ # 6324469). Schema.org property [Offer.itemCondition](https://schema.org/
2483
+ # itemCondition).
2484
+ # Corresponds to the JSON property `conditions`
2485
+ # @return [Array<String>]
2486
+ attr_accessor :conditions
2487
+
1594
2488
  # Product description. This field must be a UTF-8 encoded string with a length
1595
2489
  # limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
1596
2490
  # Google Merchant Center property [description](https://support.google.com/
@@ -1600,6 +2494,35 @@ module Google
1600
2494
  # @return [String]
1601
2495
  attr_accessor :description
1602
2496
 
2497
+ # The timestamp when this product becomes unavailable for SearchService.Search.
2498
+ # If it is set, the Product is not available for SearchService.Search after
2499
+ # expire_time. However, the product can still be retrieved by ProductService.
2500
+ # GetProduct and ProductService.ListProducts. Google Merchant Center property [
2501
+ # expiration_date](https://support.google.com/merchants/answer/6324499).
2502
+ # Corresponds to the JSON property `expireTime`
2503
+ # @return [String]
2504
+ attr_accessor :expire_time
2505
+
2506
+ # Fulfillment information, such as the store IDs for in-store pickup or region
2507
+ # IDs for different shipping methods. All the elements must have distinct
2508
+ # FulfillmentInfo.type. Otherwise, an INVALID_ARGUMENT error is returned.
2509
+ # Corresponds to the JSON property `fulfillmentInfo`
2510
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaFulfillmentInfo>]
2511
+ attr_accessor :fulfillment_info
2512
+
2513
+ # The Global Trade Item Number (GTIN) of the product. This field must be a UTF-8
2514
+ # encoded string with a length limit of 128 characters. Otherwise, an
2515
+ # INVALID_ARGUMENT error is returned. This field must be a Unigram. Otherwise,
2516
+ # an INVALID_ARGUMENT error is returned. Google Merchant Center property [gtin](
2517
+ # https://support.google.com/merchants/answer/6324461). Schema.org property [
2518
+ # Product.isbn](https://schema.org/isbn) or [Product.gtin8](https://schema.org/
2519
+ # gtin8) or [Product.gtin12](https://schema.org/gtin12) or [Product.gtin13](
2520
+ # https://schema.org/gtin13) or [Product.gtin14](https://schema.org/gtin14). If
2521
+ # the value is not a valid GTIN, an INVALID_ARGUMENT error is returned.
2522
+ # Corresponds to the JSON property `gtin`
2523
+ # @return [String]
2524
+ attr_accessor :gtin
2525
+
1603
2526
  # Immutable. Product identifier, which is the final component of name. For
1604
2527
  # example, this field is "id_1", if name is `projects/*/locations/global/
1605
2528
  # catalogs/default_catalog/branches/default_branch/products/id_1`. This field
@@ -1619,6 +2542,26 @@ module Google
1619
2542
  # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaImage>]
1620
2543
  attr_accessor :images
1621
2544
 
2545
+ # Language of the title/description and other string attributes. Use language
2546
+ # tags defined by BCP 47. For product prediction, this field is ignored and the
2547
+ # model automatically detects the text language. The Product can include text in
2548
+ # different languages, but duplicating Products to provide text in multiple
2549
+ # languages can result in degraded model performance. For product search this
2550
+ # field is in use. It defaults to "en-US" if unset.
2551
+ # Corresponds to the JSON property `languageCode`
2552
+ # @return [String]
2553
+ attr_accessor :language_code
2554
+
2555
+ # The material of the product. For example, "leather", "wooden". A maximum of 20
2556
+ # values are allowed. Each value must be a UTF-8 encoded string with a length
2557
+ # limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is returned.
2558
+ # Google Merchant Center property [material](https://support.google.com/
2559
+ # merchants/answer/6324410). Schema.org property [Product.material](https://
2560
+ # schema.org/material).
2561
+ # Corresponds to the JSON property `materials`
2562
+ # @return [Array<String>]
2563
+ attr_accessor :materials
2564
+
1622
2565
  # Immutable. Full resource name of the product, such as `projects/*/locations/
1623
2566
  # global/catalogs/default_catalog/branches/default_branch/products/product_id`.
1624
2567
  # The branch ID must be "default_branch".
@@ -1626,6 +2569,16 @@ module Google
1626
2569
  # @return [String]
1627
2570
  attr_accessor :name
1628
2571
 
2572
+ # The pattern or graphic print of the product. For example, "striped", "polka
2573
+ # dot", "paisley". A maximum of 20 values are allowed per Product. Each value
2574
+ # must be a UTF-8 encoded string with a length limit of 128 characters.
2575
+ # Otherwise, an INVALID_ARGUMENT error is returned. Google Merchant Center
2576
+ # property [pattern](https://support.google.com/merchants/answer/6324483).
2577
+ # Schema.org property [Product.pattern](https://schema.org/pattern).
2578
+ # Corresponds to the JSON property `patterns`
2579
+ # @return [Array<String>]
2580
+ attr_accessor :patterns
2581
+
1629
2582
  # The price information of a Product.
1630
2583
  # Corresponds to the JSON property `priceInfo`
1631
2584
  # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPriceInfo]
@@ -1644,6 +2597,58 @@ module Google
1644
2597
  # @return [String]
1645
2598
  attr_accessor :primary_product_id
1646
2599
 
2600
+ # The promotions applied to the product. A maximum of 10 values are allowed per
2601
+ # Product.
2602
+ # Corresponds to the JSON property `promotions`
2603
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaPromotion>]
2604
+ attr_accessor :promotions
2605
+
2606
+ # The timestamp when the product is published by the retailer for the first time,
2607
+ # which indicates the freshness of the products. Note that this field is
2608
+ # different from available_time, given it purely describes product freshness
2609
+ # regardless of when it is available on search and recommendation.
2610
+ # Corresponds to the JSON property `publishTime`
2611
+ # @return [String]
2612
+ attr_accessor :publish_time
2613
+
2614
+ # The rating of a Product.
2615
+ # Corresponds to the JSON property `rating`
2616
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaRating]
2617
+ attr_accessor :rating
2618
+
2619
+ # Indicates which fields in the Products are returned in SearchResponse.
2620
+ # Supported fields for all types: * audience * availability * brands *
2621
+ # color_info * conditions * gtin * materials * name * patterns * price_info *
2622
+ # rating * sizes * title * uri Supported fields only for Type.PRIMARY and Type.
2623
+ # COLLECTION: * categories * description * images Supported fields only for Type.
2624
+ # VARIANT: * Only the first image in images To mark attributes as retrievable,
2625
+ # include paths of the form "attributes.key" where "key" is the key of a custom
2626
+ # attribute, as specified in attributes. For Type.PRIMARY and Type.COLLECTION,
2627
+ # the following fields are always returned in SearchResponse by default: * name
2628
+ # For Type.VARIANT, the following fields are always returned in by default: *
2629
+ # name * color_info Maximum number of paths is 30. Otherwise, an
2630
+ # INVALID_ARGUMENT error is returned. Note: Returning more fields in
2631
+ # SearchResponse may increase response payload size and serving latency.
2632
+ # Corresponds to the JSON property `retrievableFields`
2633
+ # @return [String]
2634
+ attr_accessor :retrievable_fields
2635
+
2636
+ # The size of the product. To represent different size systems or size types,
2637
+ # consider using this format: [[[size_system:]size_type:]size_value]. For
2638
+ # example, in "US:MENS:M", "US" represents size system; "MENS" represents size
2639
+ # type; "M" represents size value. In "GIRLS:27", size system is empty; "GIRLS"
2640
+ # represents size type; "27" represents size value. In "32 inches", both size
2641
+ # system and size type are empty, while size value is "32 inches". A maximum of
2642
+ # 20 values are allowed per Product. Each value must be a UTF-8 encoded string
2643
+ # with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT error is
2644
+ # returned. Google Merchant Center property [size](https://support.google.com/
2645
+ # merchants/answer/6324492), [size_type](https://support.google.com/merchants/
2646
+ # answer/6324497) and [size_system](https://support.google.com/merchants/answer/
2647
+ # 6324502). Schema.org property [Product.size](https://schema.org/size).
2648
+ # Corresponds to the JSON property `sizes`
2649
+ # @return [Array<String>]
2650
+ attr_accessor :sizes
2651
+
1647
2652
  # Custom tags associated with the product. At most 250 values are allowed per
1648
2653
  # Product. This value must be a UTF-8 encoded string with a length limit of 1,
1649
2654
  # 000 characters. Otherwise, an INVALID_ARGUMENT error is returned. This tag can
@@ -1663,6 +2668,16 @@ module Google
1663
2668
  # @return [String]
1664
2669
  attr_accessor :title
1665
2670
 
2671
+ # Input only. The TTL (time to live) of the product. If it is set, expire_time
2672
+ # is set as current timestamp plus ttl. The derived expire_time is returned in
2673
+ # the output and ttl is left blank when retrieving the Product. If it is set,
2674
+ # the product is not available for SearchService.Search after current timestamp
2675
+ # plus ttl. However, the product can still be retrieved by ProductService.
2676
+ # GetProduct and ProductService.ListProducts.
2677
+ # Corresponds to the JSON property `ttl`
2678
+ # @return [String]
2679
+ attr_accessor :ttl
2680
+
1666
2681
  # Immutable. The type of the product. Default to Catalog.product_level_config.
1667
2682
  # ingestion_product_type if unset.
1668
2683
  # Corresponds to the JSON property `type`
@@ -1680,6 +2695,15 @@ module Google
1680
2695
  # @return [String]
1681
2696
  attr_accessor :uri
1682
2697
 
2698
+ # Output only. Product variants grouped together on primary product which share
2699
+ # similar product attributes. It's automatically grouped by primary_product_id
2700
+ # for all the product variants. Only populated for Type.PRIMARY Products. Note:
2701
+ # This field is OUTPUT_ONLY for ProductService.GetProduct. Do not set this field
2702
+ # in API requests.
2703
+ # Corresponds to the JSON property `variants`
2704
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProduct>]
2705
+ attr_accessor :variants
2706
+
1683
2707
  def initialize(**args)
1684
2708
  update!(**args)
1685
2709
  end
@@ -1687,20 +2711,38 @@ module Google
1687
2711
  # Update properties of this object
1688
2712
  def update!(**args)
1689
2713
  @attributes = args[:attributes] if args.key?(:attributes)
2714
+ @audience = args[:audience] if args.key?(:audience)
1690
2715
  @availability = args[:availability] if args.key?(:availability)
1691
2716
  @available_quantity = args[:available_quantity] if args.key?(:available_quantity)
1692
2717
  @available_time = args[:available_time] if args.key?(:available_time)
2718
+ @brands = args[:brands] if args.key?(:brands)
1693
2719
  @categories = args[:categories] if args.key?(:categories)
2720
+ @collection_member_ids = args[:collection_member_ids] if args.key?(:collection_member_ids)
2721
+ @color_info = args[:color_info] if args.key?(:color_info)
2722
+ @conditions = args[:conditions] if args.key?(:conditions)
1694
2723
  @description = args[:description] if args.key?(:description)
2724
+ @expire_time = args[:expire_time] if args.key?(:expire_time)
2725
+ @fulfillment_info = args[:fulfillment_info] if args.key?(:fulfillment_info)
2726
+ @gtin = args[:gtin] if args.key?(:gtin)
1695
2727
  @id = args[:id] if args.key?(:id)
1696
2728
  @images = args[:images] if args.key?(:images)
2729
+ @language_code = args[:language_code] if args.key?(:language_code)
2730
+ @materials = args[:materials] if args.key?(:materials)
1697
2731
  @name = args[:name] if args.key?(:name)
2732
+ @patterns = args[:patterns] if args.key?(:patterns)
1698
2733
  @price_info = args[:price_info] if args.key?(:price_info)
1699
2734
  @primary_product_id = args[:primary_product_id] if args.key?(:primary_product_id)
2735
+ @promotions = args[:promotions] if args.key?(:promotions)
2736
+ @publish_time = args[:publish_time] if args.key?(:publish_time)
2737
+ @rating = args[:rating] if args.key?(:rating)
2738
+ @retrievable_fields = args[:retrievable_fields] if args.key?(:retrievable_fields)
2739
+ @sizes = args[:sizes] if args.key?(:sizes)
1700
2740
  @tags = args[:tags] if args.key?(:tags)
1701
2741
  @title = args[:title] if args.key?(:title)
2742
+ @ttl = args[:ttl] if args.key?(:ttl)
1702
2743
  @type = args[:type] if args.key?(:type)
1703
2744
  @uri = args[:uri] if args.key?(:uri)
2745
+ @variants = args[:variants] if args.key?(:variants)
1704
2746
  end
1705
2747
  end
1706
2748
 
@@ -1738,7 +2780,7 @@ module Google
1738
2780
  include Google::Apis::Core::Hashable
1739
2781
 
1740
2782
  # Required. A list of products to update/create. Each product must have a valid
1741
- # Product.id. Recommended max of 10k items.
2783
+ # Product.id. Recommended max of 100 items.
1742
2784
  # Corresponds to the JSON property `products`
1743
2785
  # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProduct>]
1744
2786
  attr_accessor :products
@@ -1828,6 +2870,29 @@ module Google
1828
2870
  end
1829
2871
  end
1830
2872
 
2873
+ # Promotion information.
2874
+ class GoogleCloudRetailV2betaPromotion
2875
+ include Google::Apis::Core::Hashable
2876
+
2877
+ # ID of the promotion. For example, "free gift". The value value must be a UTF-8
2878
+ # encoded string with a length limit of 128 characters, and match the pattern: a-
2879
+ # zA-Z*. For example, id0LikeThis or ID_1_LIKE_THIS. Otherwise, an
2880
+ # INVALID_ARGUMENT error is returned. Google Merchant Center property [promotion]
2881
+ # (https://support.google.com/merchants/answer/7050148).
2882
+ # Corresponds to the JSON property `promotionId`
2883
+ # @return [String]
2884
+ attr_accessor :promotion_id
2885
+
2886
+ def initialize(**args)
2887
+ update!(**args)
2888
+ end
2889
+
2890
+ # Update properties of this object
2891
+ def update!(**args)
2892
+ @promotion_id = args[:promotion_id] if args.key?(:promotion_id)
2893
+ end
2894
+ end
2895
+
1831
2896
  # A transaction represents the entire purchase transaction.
1832
2897
  class GoogleCloudRetailV2betaPurchaseTransaction
1833
2898
  include Google::Apis::Core::Hashable
@@ -1948,6 +3013,44 @@ module Google
1948
3013
  end
1949
3014
  end
1950
3015
 
3016
+ # The rating of a Product.
3017
+ class GoogleCloudRetailV2betaRating
3018
+ include Google::Apis::Core::Hashable
3019
+
3020
+ # The average rating of the Product. The rating is scaled at 1-5. Otherwise, an
3021
+ # INVALID_ARGUMENT error is returned.
3022
+ # Corresponds to the JSON property `averageRating`
3023
+ # @return [Float]
3024
+ attr_accessor :average_rating
3025
+
3026
+ # The total number of ratings. This value is independent of the value of
3027
+ # rating_histogram. This value must be nonnegative. Otherwise, an
3028
+ # INVALID_ARGUMENT error is returned.
3029
+ # Corresponds to the JSON property `ratingCount`
3030
+ # @return [Fixnum]
3031
+ attr_accessor :rating_count
3032
+
3033
+ # List of rating counts per rating value (index = rating - 1). The list is empty
3034
+ # if there is no rating. If the list is non-empty, its size is always 5.
3035
+ # Otherwise, an INVALID_ARGUMENT error is returned. For example, [41, 14, 13, 47,
3036
+ # 303]. It means that the Product got 41 ratings with 1 star, 14 ratings with 2
3037
+ # star, and so on.
3038
+ # Corresponds to the JSON property `ratingHistogram`
3039
+ # @return [Array<Fixnum>]
3040
+ attr_accessor :rating_histogram
3041
+
3042
+ def initialize(**args)
3043
+ update!(**args)
3044
+ end
3045
+
3046
+ # Update properties of this object
3047
+ def update!(**args)
3048
+ @average_rating = args[:average_rating] if args.key?(:average_rating)
3049
+ @rating_count = args[:rating_count] if args.key?(:rating_count)
3050
+ @rating_histogram = args[:rating_histogram] if args.key?(:rating_histogram)
3051
+ end
3052
+ end
3053
+
1951
3054
  # Metadata for RejoinUserEvents method.
1952
3055
  class GoogleCloudRetailV2betaRejoinUserEventsMetadata
1953
3056
  include Google::Apis::Core::Hashable
@@ -2002,6 +3105,849 @@ module Google
2002
3105
  end
2003
3106
  end
2004
3107
 
3108
+ # Metadata related to the progress of the RemoveFulfillmentPlaces operation.
3109
+ # Currently empty because there is no meaningful metadata populated from the
3110
+ # RemoveFulfillmentPlaces method.
3111
+ class GoogleCloudRetailV2betaRemoveFulfillmentPlacesMetadata
3112
+ include Google::Apis::Core::Hashable
3113
+
3114
+ def initialize(**args)
3115
+ update!(**args)
3116
+ end
3117
+
3118
+ # Update properties of this object
3119
+ def update!(**args)
3120
+ end
3121
+ end
3122
+
3123
+ # Request message for RemoveFulfillmentPlaces method.
3124
+ class GoogleCloudRetailV2betaRemoveFulfillmentPlacesRequest
3125
+ include Google::Apis::Core::Hashable
3126
+
3127
+ # If set to true, and the Product is not found, the fulfillment information will
3128
+ # still be processed and retained for at most 1 day and processed once the
3129
+ # Product is created. If set to false, an INVALID_ARGUMENT error is returned if
3130
+ # the Product is not found.
3131
+ # Corresponds to the JSON property `allowMissing`
3132
+ # @return [Boolean]
3133
+ attr_accessor :allow_missing
3134
+ alias_method :allow_missing?, :allow_missing
3135
+
3136
+ # Required. The IDs for this type, such as the store IDs for "pickup-in-store"
3137
+ # or the region IDs for "same-day-delivery", to be removed for this type. At
3138
+ # least 1 value is required, and a maximum of 2000 values are allowed. Each
3139
+ # value must be a string with a length limit of 10 characters, matching the
3140
+ # pattern [a-zA-Z0-9_-]+, such as "store1" or "REGION-2". Otherwise, an
3141
+ # INVALID_ARGUMENT error is returned.
3142
+ # Corresponds to the JSON property `placeIds`
3143
+ # @return [Array<String>]
3144
+ attr_accessor :place_ids
3145
+
3146
+ # The time when the fulfillment updates are issued, used to prevent out-of-order
3147
+ # updates on fulfillment information. If not provided, the internal system time
3148
+ # will be used.
3149
+ # Corresponds to the JSON property `removeTime`
3150
+ # @return [String]
3151
+ attr_accessor :remove_time
3152
+
3153
+ # Required. The fulfillment type, including commonly used types (such as pickup
3154
+ # in store and same day delivery), and custom types. Supported values: * "pickup-
3155
+ # in-store" * "ship-to-store" * "same-day-delivery" * "next-day-delivery" * "
3156
+ # custom-type-1" * "custom-type-2" * "custom-type-3" * "custom-type-4" * "custom-
3157
+ # type-5" If this field is set to an invalid value other than these, an
3158
+ # INVALID_ARGUMENT error is returned. This field directly corresponds to Product.
3159
+ # fulfillment_info.type.
3160
+ # Corresponds to the JSON property `type`
3161
+ # @return [String]
3162
+ attr_accessor :type
3163
+
3164
+ def initialize(**args)
3165
+ update!(**args)
3166
+ end
3167
+
3168
+ # Update properties of this object
3169
+ def update!(**args)
3170
+ @allow_missing = args[:allow_missing] if args.key?(:allow_missing)
3171
+ @place_ids = args[:place_ids] if args.key?(:place_ids)
3172
+ @remove_time = args[:remove_time] if args.key?(:remove_time)
3173
+ @type = args[:type] if args.key?(:type)
3174
+ end
3175
+ end
3176
+
3177
+ # Response of the RemoveFulfillmentPlacesRequest. Currently empty because there
3178
+ # is no meaningful response populated from the RemoveFulfillmentPlaces method.
3179
+ class GoogleCloudRetailV2betaRemoveFulfillmentPlacesResponse
3180
+ include Google::Apis::Core::Hashable
3181
+
3182
+ def initialize(**args)
3183
+ update!(**args)
3184
+ end
3185
+
3186
+ # Update properties of this object
3187
+ def update!(**args)
3188
+ end
3189
+ end
3190
+
3191
+ # Request message for SearchService.Search method.
3192
+ class GoogleCloudRetailV2betaSearchRequest
3193
+ include Google::Apis::Core::Hashable
3194
+
3195
+ # Boost specification to boost certain items.
3196
+ # Corresponds to the JSON property `boostSpec`
3197
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestBoostSpec]
3198
+ attr_accessor :boost_spec
3199
+
3200
+ # The branch resource name, such as `projects/*/locations/global/catalogs/
3201
+ # default_catalog/branches/0`. Use "default_branch" as the branch ID or leave
3202
+ # this field empty, to search products under the default branch.
3203
+ # Corresponds to the JSON property `branch`
3204
+ # @return [String]
3205
+ attr_accessor :branch
3206
+
3207
+ # The filter applied to every search request when quality improvement such as
3208
+ # query expansion is needed. For example, if a query does not have enough
3209
+ # results, an expanded query with SearchRequest.canonical_filter will be
3210
+ # returned as a supplement of the original query. This field is strongly
3211
+ # recommended to achieve high search quality. See SearchRequest.filter for more
3212
+ # details about filter syntax.
3213
+ # Corresponds to the JSON property `canonicalFilter`
3214
+ # @return [String]
3215
+ attr_accessor :canonical_filter
3216
+
3217
+ # The specifications of dynamically generated facets.
3218
+ # Corresponds to the JSON property `dynamicFacetSpec`
3219
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestDynamicFacetSpec]
3220
+ attr_accessor :dynamic_facet_spec
3221
+
3222
+ # Facet specifications for faceted search. If empty, no facets are returned. A
3223
+ # maximum of 100 values are allowed. Otherwise, an INVALID_ARGUMENT error is
3224
+ # returned.
3225
+ # Corresponds to the JSON property `facetSpecs`
3226
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestFacetSpec>]
3227
+ attr_accessor :facet_specs
3228
+
3229
+ # The filter syntax consists of an expression language for constructing a
3230
+ # predicate from one or more fields of the products being filtered. Filter
3231
+ # expression is case-sensitive. See more details at this [user guide](https://
3232
+ # cloud.google.com/retail/docs/filter-and-order#filter). If this field is
3233
+ # unrecognizable, an INVALID_ARGUMENT is returned.
3234
+ # Corresponds to the JSON property `filter`
3235
+ # @return [String]
3236
+ attr_accessor :filter
3237
+
3238
+ # A 0-indexed integer that specifies the current offset (that is, starting
3239
+ # result location, amongst the Products deemed by the API as relevant) in search
3240
+ # results. This field is only considered if page_token is unset. If this field
3241
+ # is negative, an INVALID_ARGUMENT is returned.
3242
+ # Corresponds to the JSON property `offset`
3243
+ # @return [Fixnum]
3244
+ attr_accessor :offset
3245
+
3246
+ # The order in which products are returned. Products can be ordered by a field
3247
+ # in an Product object. Leave it unset if ordered by relevance. OrderBy
3248
+ # expression is case-sensitive. See more details at this [user guide](https://
3249
+ # cloud.google.com/retail/docs/filter-and-order#order). If this field is
3250
+ # unrecognizable, an INVALID_ARGUMENT is returned.
3251
+ # Corresponds to the JSON property `orderBy`
3252
+ # @return [String]
3253
+ attr_accessor :order_by
3254
+
3255
+ # The categories associated with a category page. Required for category
3256
+ # navigation queries to achieve good search quality. The format should be the
3257
+ # same as UserEvent.page_categories; To represent full path of category, use '>'
3258
+ # sign to separate different hierarchies. If '>' is part of the category name,
3259
+ # please replace it with other character(s). Category pages include special
3260
+ # pages such as sales or promotions. For instance, a special sale page may have
3261
+ # the category hierarchy: "pageCategories" : ["Sales > 2017 Black Friday Deals"].
3262
+ # Corresponds to the JSON property `pageCategories`
3263
+ # @return [Array<String>]
3264
+ attr_accessor :page_categories
3265
+
3266
+ # Maximum number of Products to return. If unspecified, defaults to a reasonable
3267
+ # value. The maximum allowed value is 120. Values above 120 will be coerced to
3268
+ # 120. If this field is negative, an INVALID_ARGUMENT is returned.
3269
+ # Corresponds to the JSON property `pageSize`
3270
+ # @return [Fixnum]
3271
+ attr_accessor :page_size
3272
+
3273
+ # A page token SearchResponse.next_page_token, received from a previous
3274
+ # SearchService.Search call. Provide this to retrieve the subsequent page. When
3275
+ # paginating, all other parameters provided to SearchService.Search must match
3276
+ # the call that provided the page token. Otherwise, an INVALID_ARGUMENT error is
3277
+ # returned.
3278
+ # Corresponds to the JSON property `pageToken`
3279
+ # @return [String]
3280
+ attr_accessor :page_token
3281
+
3282
+ # Raw search query.
3283
+ # Corresponds to the JSON property `query`
3284
+ # @return [String]
3285
+ attr_accessor :query
3286
+
3287
+ # Specification to determine under which conditions query expansion should occur.
3288
+ # Corresponds to the JSON property `queryExpansionSpec`
3289
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestQueryExpansionSpec]
3290
+ attr_accessor :query_expansion_spec
3291
+
3292
+ # Information of an end user.
3293
+ # Corresponds to the JSON property `userInfo`
3294
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaUserInfo]
3295
+ attr_accessor :user_info
3296
+
3297
+ # The keys to fetch and rollup the matching variant Products attributes. The
3298
+ # attributes from all the matching variant Products are merged and de-duplicated.
3299
+ # Notice that rollup variant Products attributes will lead to extra query
3300
+ # latency. Maximum number of keys is 10. For FulfillmentInfo, a fulfillment type
3301
+ # and a fulfillment ID must be provided in the format of "fulfillmentType.
3302
+ # fulfillmentId". E.g., in "pickupInStore.store123", "pickupInStore" is
3303
+ # fulfillment type and "store123" is the store ID. Supported keys are: *
3304
+ # colorFamilies * price * originalPrice * discount * attributes.key, where key
3305
+ # is any key in the Product.attributes map. * pickupInStore.id, where id is any
3306
+ # FulfillmentInfo.place_ids for FulfillmentInfo.type "pickup-in-store". *
3307
+ # shipToStore.id, where id is any FulfillmentInfo.place_ids for FulfillmentInfo.
3308
+ # type "ship-to-store". * sameDayDelivery.id, where id is any FulfillmentInfo.
3309
+ # place_ids for FulfillmentInfo.type "same-day-delivery". * nextDayDelivery.id,
3310
+ # where id is any FulfillmentInfo.place_ids for FulfillmentInfo.type "next-day-
3311
+ # delivery". * customFulfillment1.id, where id is any FulfillmentInfo.place_ids
3312
+ # for FulfillmentInfo.type "custom-type-1". * customFulfillment2.id, where id is
3313
+ # any FulfillmentInfo.place_ids for FulfillmentInfo.type "custom-type-2". *
3314
+ # customFulfillment3.id, where id is any FulfillmentInfo.place_ids for
3315
+ # FulfillmentInfo.type "custom-type-3". * customFulfillment4.id, where id is any
3316
+ # FulfillmentInfo.place_ids for FulfillmentInfo.type "custom-type-4". *
3317
+ # customFulfillment5.id, where id is any FulfillmentInfo.place_ids for
3318
+ # FulfillmentInfo.type "custom-type-5". If this field is set to an invalid value
3319
+ # other than these, an INVALID_ARGUMENT error is returned.
3320
+ # Corresponds to the JSON property `variantRollupKeys`
3321
+ # @return [Array<String>]
3322
+ attr_accessor :variant_rollup_keys
3323
+
3324
+ # Required. A unique identifier for tracking visitors. For example, this could
3325
+ # be implemented with an HTTP cookie, which should be able to uniquely identify
3326
+ # a visitor on a single device. This unique identifier should not change if the
3327
+ # visitor logs in or out of the website. The field must be a UTF-8 encoded
3328
+ # string with a length limit of 128 characters. Otherwise, an INVALID_ARGUMENT
3329
+ # error is returned.
3330
+ # Corresponds to the JSON property `visitorId`
3331
+ # @return [String]
3332
+ attr_accessor :visitor_id
3333
+
3334
+ def initialize(**args)
3335
+ update!(**args)
3336
+ end
3337
+
3338
+ # Update properties of this object
3339
+ def update!(**args)
3340
+ @boost_spec = args[:boost_spec] if args.key?(:boost_spec)
3341
+ @branch = args[:branch] if args.key?(:branch)
3342
+ @canonical_filter = args[:canonical_filter] if args.key?(:canonical_filter)
3343
+ @dynamic_facet_spec = args[:dynamic_facet_spec] if args.key?(:dynamic_facet_spec)
3344
+ @facet_specs = args[:facet_specs] if args.key?(:facet_specs)
3345
+ @filter = args[:filter] if args.key?(:filter)
3346
+ @offset = args[:offset] if args.key?(:offset)
3347
+ @order_by = args[:order_by] if args.key?(:order_by)
3348
+ @page_categories = args[:page_categories] if args.key?(:page_categories)
3349
+ @page_size = args[:page_size] if args.key?(:page_size)
3350
+ @page_token = args[:page_token] if args.key?(:page_token)
3351
+ @query = args[:query] if args.key?(:query)
3352
+ @query_expansion_spec = args[:query_expansion_spec] if args.key?(:query_expansion_spec)
3353
+ @user_info = args[:user_info] if args.key?(:user_info)
3354
+ @variant_rollup_keys = args[:variant_rollup_keys] if args.key?(:variant_rollup_keys)
3355
+ @visitor_id = args[:visitor_id] if args.key?(:visitor_id)
3356
+ end
3357
+ end
3358
+
3359
+ # Boost specification to boost certain items.
3360
+ class GoogleCloudRetailV2betaSearchRequestBoostSpec
3361
+ include Google::Apis::Core::Hashable
3362
+
3363
+ # Condition boost specifications. If a product matches multiple conditions in
3364
+ # the specifictions, boost scores from these specifications are all applied and
3365
+ # combined in a non-linear way. Maximum number of specifications is 10.
3366
+ # Corresponds to the JSON property `conditionBoostSpecs`
3367
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestBoostSpecConditionBoostSpec>]
3368
+ attr_accessor :condition_boost_specs
3369
+
3370
+ def initialize(**args)
3371
+ update!(**args)
3372
+ end
3373
+
3374
+ # Update properties of this object
3375
+ def update!(**args)
3376
+ @condition_boost_specs = args[:condition_boost_specs] if args.key?(:condition_boost_specs)
3377
+ end
3378
+ end
3379
+
3380
+ # Boost applies to products which match a condition.
3381
+ class GoogleCloudRetailV2betaSearchRequestBoostSpecConditionBoostSpec
3382
+ include Google::Apis::Core::Hashable
3383
+
3384
+ # Strength of the condition boost, which should be in [-1, 1]. Negative boost
3385
+ # means demotion. Default is 0.0. Setting to 1.0 gives the item a big promotion.
3386
+ # However, it does not necessarily mean that the boosted item will be the top
3387
+ # result at all times, nor that other items will be excluded. Results could
3388
+ # still be shown even when none of them matches the condition. And results that
3389
+ # are significantly more relevant to the search query can still trump your
3390
+ # heavily favored but irrelevant items. Setting to -1.0 gives the item a big
3391
+ # demotion. However, results that are deeply relevant might still be shown. The
3392
+ # item will have an upstream battle to get a fairly high ranking, but it is not
3393
+ # blocked out completely. Setting to 0.0 means no boost applied. The boosting
3394
+ # condition is ignored.
3395
+ # Corresponds to the JSON property `boost`
3396
+ # @return [Float]
3397
+ attr_accessor :boost
3398
+
3399
+ # An expression which specifies a boost condition. The syntax and supported
3400
+ # fields are the same as a filter expression. See SearchRequest.filter for
3401
+ # detail syntax and limitations. Examples: * To boost products with product ID "
3402
+ # product_1" or "product_2", and color "Red" or "Blue": * (id: ANY("product_1", "
3403
+ # product_2")) AND (colorFamilies: ANY("Red","Blue"))
3404
+ # Corresponds to the JSON property `condition`
3405
+ # @return [String]
3406
+ attr_accessor :condition
3407
+
3408
+ def initialize(**args)
3409
+ update!(**args)
3410
+ end
3411
+
3412
+ # Update properties of this object
3413
+ def update!(**args)
3414
+ @boost = args[:boost] if args.key?(:boost)
3415
+ @condition = args[:condition] if args.key?(:condition)
3416
+ end
3417
+ end
3418
+
3419
+ # The specifications of dynamically generated facets.
3420
+ class GoogleCloudRetailV2betaSearchRequestDynamicFacetSpec
3421
+ include Google::Apis::Core::Hashable
3422
+
3423
+ # Mode of the DynamicFacet feature. Defaults to Mode.DISABLED if it's unset.
3424
+ # Corresponds to the JSON property `mode`
3425
+ # @return [String]
3426
+ attr_accessor :mode
3427
+
3428
+ def initialize(**args)
3429
+ update!(**args)
3430
+ end
3431
+
3432
+ # Update properties of this object
3433
+ def update!(**args)
3434
+ @mode = args[:mode] if args.key?(:mode)
3435
+ end
3436
+ end
3437
+
3438
+ # A facet specification to perform faceted search.
3439
+ class GoogleCloudRetailV2betaSearchRequestFacetSpec
3440
+ include Google::Apis::Core::Hashable
3441
+
3442
+ # Enables dynamic position for this facet. If set to true, the position of this
3443
+ # facet among all facets in the response is determined by Google Retail Search.
3444
+ # It will be ordered together with dynamic facets if dynamic facets is enabled.
3445
+ # If set to false, the position of this facet in the response will be the same
3446
+ # as in the request, and it will be ranked before the facets with dynamic
3447
+ # position enable and all dynamic facets. For example, you may always want to
3448
+ # have rating facet returned in the response, but it's not necessarily to always
3449
+ # display the rating facet at the top. In that case, you can set
3450
+ # enable_dynamic_position to true so that the position of rating facet in
3451
+ # response will be determined by Google Retail Search. Another example, assuming
3452
+ # you have the following facets in the request: * "rating",
3453
+ # enable_dynamic_position = true * "price", enable_dynamic_position = false * "
3454
+ # brands", enable_dynamic_position = false And also you have a dynamic facets
3455
+ # enable, which will generate a facet 'gender'. Then the final order of the
3456
+ # facets in the response can be ("price", "brands", "rating", "gender") or ("
3457
+ # price", "brands", "gender", "rating") depends on how Google Retail Search
3458
+ # orders "gender" and "rating" facets. However, notice that "price" and "brands"
3459
+ # will always be ranked at 1st and 2nd position since their
3460
+ # enable_dynamic_position are false.
3461
+ # Corresponds to the JSON property `enableDynamicPosition`
3462
+ # @return [Boolean]
3463
+ attr_accessor :enable_dynamic_position
3464
+ alias_method :enable_dynamic_position?, :enable_dynamic_position
3465
+
3466
+ # List of keys to exclude when faceting. By default, FacetKey.key is not
3467
+ # excluded from the filter unless it is listed in this field. For example,
3468
+ # suppose there are 100 products with color facet "Red" and 200 products with
3469
+ # color facet "Blue". A query containing the filter "colorFamilies:ANY("Red")"
3470
+ # and have "colorFamilies" as FacetKey.key will by default return the "Red" with
3471
+ # count 100. If this field contains "colorFamilies", then the query returns both
3472
+ # the "Red" with count 100 and "Blue" with count 200, because the "colorFamilies"
3473
+ # key is now excluded from the filter. A maximum of 100 values are allowed.
3474
+ # Otherwise, an INVALID_ARGUMENT error is returned.
3475
+ # Corresponds to the JSON property `excludedFilterKeys`
3476
+ # @return [Array<String>]
3477
+ attr_accessor :excluded_filter_keys
3478
+
3479
+ # Specifies how a facet is computed.
3480
+ # Corresponds to the JSON property `facetKey`
3481
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchRequestFacetSpecFacetKey]
3482
+ attr_accessor :facet_key
3483
+
3484
+ # Maximum of facet values that should be returned for this facet. If unspecified,
3485
+ # defaults to 20. The maximum allowed value is 300. Values above 300 will be
3486
+ # coerced to 300. If this field is negative, an INVALID_ARGUMENT is returned.
3487
+ # Corresponds to the JSON property `limit`
3488
+ # @return [Fixnum]
3489
+ attr_accessor :limit
3490
+
3491
+ def initialize(**args)
3492
+ update!(**args)
3493
+ end
3494
+
3495
+ # Update properties of this object
3496
+ def update!(**args)
3497
+ @enable_dynamic_position = args[:enable_dynamic_position] if args.key?(:enable_dynamic_position)
3498
+ @excluded_filter_keys = args[:excluded_filter_keys] if args.key?(:excluded_filter_keys)
3499
+ @facet_key = args[:facet_key] if args.key?(:facet_key)
3500
+ @limit = args[:limit] if args.key?(:limit)
3501
+ end
3502
+ end
3503
+
3504
+ # Specifies how a facet is computed.
3505
+ class GoogleCloudRetailV2betaSearchRequestFacetSpecFacetKey
3506
+ include Google::Apis::Core::Hashable
3507
+
3508
+ # Only get facet values that contains the given strings. For example, suppose "
3509
+ # categories" has three values "Women > Shoe", "Women > Dress" and "Men > Shoe".
3510
+ # If set "contains" to "Shoe", the "categories" facet will give only "Women >
3511
+ # Shoe" and "Men > Shoe". Only supported on textual fields. Maximum is 10.
3512
+ # Corresponds to the JSON property `contains`
3513
+ # @return [Array<String>]
3514
+ attr_accessor :contains
3515
+
3516
+ # Set only if values should be bucketized into intervals. Must be set for facets
3517
+ # with numerical values. Must not be set for facet with text values. Maximum
3518
+ # number of intervals is 30.
3519
+ # Corresponds to the JSON property `intervals`
3520
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaInterval>]
3521
+ attr_accessor :intervals
3522
+
3523
+ # Required. Supported textual and numerical facet keys in Product object, over
3524
+ # which the facet values are computed. Facet key is case-sensitive. Allowed
3525
+ # facet keys when FacetKey.query is not specified: * textual_field = * "brands" *
3526
+ # "categories" * "genders" * "ageGroups" * "availability" * "colorFamilies" * "
3527
+ # colors" * "sizes" * "materials" * "patterns" * "conditions" * "attributes.key"
3528
+ # * "pickupInStore" * "shipToStore" * "sameDayDelivery" * "nextDayDelivery" * "
3529
+ # customFulfillment1" * "customFulfillment2" * "customFulfillment3" * "
3530
+ # customFulfillment4" * "customFulfillment5" * numerical_field = * "price" * "
3531
+ # discount" * "rating" * "ratingCount" * "attributes.key"
3532
+ # Corresponds to the JSON property `key`
3533
+ # @return [String]
3534
+ attr_accessor :key
3535
+
3536
+ # The order in which Facet.values are returned. Allowed values are: * "count
3537
+ # desc", which means order by Facet.FacetValue.count descending. * "value desc",
3538
+ # which means order by Facet.FacetValue.value descending. Only applies to
3539
+ # textual facets. If not set, textual values are sorted in [natural order](https:
3540
+ # //en.wikipedia.org/wiki/Natural_sort_order); numerical intervals are sorted in
3541
+ # the order given by FacetSpec.FacetKey.intervals; FulfillmentInfo.place_ids are
3542
+ # sorted in the order given by FacetSpec.FacetKey.restricted_values.
3543
+ # Corresponds to the JSON property `orderBy`
3544
+ # @return [String]
3545
+ attr_accessor :order_by
3546
+
3547
+ # Only get facet values that start with the given string prefix. For example,
3548
+ # suppose "categories" has three values "Women > Shoe", "Women > Dress" and "Men
3549
+ # > Shoe". If set "prefixes" to "Women", the "categories" facet will give only "
3550
+ # Women > Shoe" and "Women > Dress". Only supported on textual fields. Maximum
3551
+ # is 10.
3552
+ # Corresponds to the JSON property `prefixes`
3553
+ # @return [Array<String>]
3554
+ attr_accessor :prefixes
3555
+
3556
+ # The query that is used to compute facet for the given facet key. When provided,
3557
+ # it will override the default behavior of facet computation. The query syntax
3558
+ # is the same as a filter expression. See SearchRequest.filter for detail syntax
3559
+ # and limitations. Notice that there is no limitation on FacetKey.key when query
3560
+ # is specified. In the response, FacetValue.value will be always "1" and
3561
+ # FacetValue.count will be the number of results that matches the query. For
3562
+ # example, you can set a customized facet for "shipToStore", where FacetKey.key
3563
+ # is "customizedShipToStore", and FacetKey.query is "availability: ANY(\"
3564
+ # IN_STOCK\") AND shipToStore: ANY(\"123\")". Then the facet will count the
3565
+ # products that are both in stock and ship to store "123".
3566
+ # Corresponds to the JSON property `query`
3567
+ # @return [String]
3568
+ attr_accessor :query
3569
+
3570
+ # Only get facet for the given restricted values. For example, when using "
3571
+ # pickupInStore" as key and set restricted values to ["store123", "store456"],
3572
+ # only facets for "store123" and "store456" are returned. Only supported on
3573
+ # textual fields and fulfillments. Maximum is 20. Must be set for the
3574
+ # fulfillment facet keys: * pickupInStore * shipToStore * sameDayDelivery *
3575
+ # nextDayDelivery * customFulfillment1 * customFulfillment2 * customFulfillment3
3576
+ # * customFulfillment4 * customFulfillment5
3577
+ # Corresponds to the JSON property `restrictedValues`
3578
+ # @return [Array<String>]
3579
+ attr_accessor :restricted_values
3580
+
3581
+ def initialize(**args)
3582
+ update!(**args)
3583
+ end
3584
+
3585
+ # Update properties of this object
3586
+ def update!(**args)
3587
+ @contains = args[:contains] if args.key?(:contains)
3588
+ @intervals = args[:intervals] if args.key?(:intervals)
3589
+ @key = args[:key] if args.key?(:key)
3590
+ @order_by = args[:order_by] if args.key?(:order_by)
3591
+ @prefixes = args[:prefixes] if args.key?(:prefixes)
3592
+ @query = args[:query] if args.key?(:query)
3593
+ @restricted_values = args[:restricted_values] if args.key?(:restricted_values)
3594
+ end
3595
+ end
3596
+
3597
+ # Specification to determine under which conditions query expansion should occur.
3598
+ class GoogleCloudRetailV2betaSearchRequestQueryExpansionSpec
3599
+ include Google::Apis::Core::Hashable
3600
+
3601
+ # The condition under which query expansion should occur. Default to Condition.
3602
+ # DISABLED.
3603
+ # Corresponds to the JSON property `condition`
3604
+ # @return [String]
3605
+ attr_accessor :condition
3606
+
3607
+ # Whether to pin unexpanded results. If this field is set to true, unexpanded
3608
+ # products are always at the top of the search results, followed by the expanded
3609
+ # results.
3610
+ # Corresponds to the JSON property `pinUnexpandedResults`
3611
+ # @return [Boolean]
3612
+ attr_accessor :pin_unexpanded_results
3613
+ alias_method :pin_unexpanded_results?, :pin_unexpanded_results
3614
+
3615
+ def initialize(**args)
3616
+ update!(**args)
3617
+ end
3618
+
3619
+ # Update properties of this object
3620
+ def update!(**args)
3621
+ @condition = args[:condition] if args.key?(:condition)
3622
+ @pin_unexpanded_results = args[:pin_unexpanded_results] if args.key?(:pin_unexpanded_results)
3623
+ end
3624
+ end
3625
+
3626
+ # Response message for SearchService.Search method.
3627
+ class GoogleCloudRetailV2betaSearchResponse
3628
+ include Google::Apis::Core::Hashable
3629
+
3630
+ # A unique search token. This should be included in the UserEvent logs resulting
3631
+ # from this search, which enables accurate attribution of search model
3632
+ # performance.
3633
+ # Corresponds to the JSON property `attributionToken`
3634
+ # @return [String]
3635
+ attr_accessor :attribution_token
3636
+
3637
+ # If spell correction applies, the corrected query. Otherwise, empty.
3638
+ # Corresponds to the JSON property `correctedQuery`
3639
+ # @return [String]
3640
+ attr_accessor :corrected_query
3641
+
3642
+ # Results of facets requested by user.
3643
+ # Corresponds to the JSON property `facets`
3644
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseFacet>]
3645
+ attr_accessor :facets
3646
+
3647
+ # A token that can be sent as SearchRequest.page_token to retrieve the next page.
3648
+ # If this field is omitted, there are no subsequent pages.
3649
+ # Corresponds to the JSON property `nextPageToken`
3650
+ # @return [String]
3651
+ attr_accessor :next_page_token
3652
+
3653
+ # Information describing query expansion including whether expansion has
3654
+ # occurred.
3655
+ # Corresponds to the JSON property `queryExpansionInfo`
3656
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseQueryExpansionInfo]
3657
+ attr_accessor :query_expansion_info
3658
+
3659
+ # The URI of a customer-defined redirect page. If redirect action is triggered,
3660
+ # no search will be performed, and only redirect_uri and attribution_token will
3661
+ # be set in the response.
3662
+ # Corresponds to the JSON property `redirectUri`
3663
+ # @return [String]
3664
+ attr_accessor :redirect_uri
3665
+
3666
+ # A list of matched items. The order represents the ranking.
3667
+ # Corresponds to the JSON property `results`
3668
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseSearchResult>]
3669
+ attr_accessor :results
3670
+
3671
+ # The estimated total count of matched items irrespective of pagination. The
3672
+ # count of results returned by pagination may be less than the total_size that
3673
+ # matches.
3674
+ # Corresponds to the JSON property `totalSize`
3675
+ # @return [Fixnum]
3676
+ attr_accessor :total_size
3677
+
3678
+ def initialize(**args)
3679
+ update!(**args)
3680
+ end
3681
+
3682
+ # Update properties of this object
3683
+ def update!(**args)
3684
+ @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
3685
+ @corrected_query = args[:corrected_query] if args.key?(:corrected_query)
3686
+ @facets = args[:facets] if args.key?(:facets)
3687
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
3688
+ @query_expansion_info = args[:query_expansion_info] if args.key?(:query_expansion_info)
3689
+ @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri)
3690
+ @results = args[:results] if args.key?(:results)
3691
+ @total_size = args[:total_size] if args.key?(:total_size)
3692
+ end
3693
+ end
3694
+
3695
+ # A facet result.
3696
+ class GoogleCloudRetailV2betaSearchResponseFacet
3697
+ include Google::Apis::Core::Hashable
3698
+
3699
+ # Whether the facet is dynamically generated.
3700
+ # Corresponds to the JSON property `dynamicFacet`
3701
+ # @return [Boolean]
3702
+ attr_accessor :dynamic_facet
3703
+ alias_method :dynamic_facet?, :dynamic_facet
3704
+
3705
+ # The key for this facet. E.g., "colorFamilies" or "price" or "attributes.attr1".
3706
+ # Corresponds to the JSON property `key`
3707
+ # @return [String]
3708
+ attr_accessor :key
3709
+
3710
+ # The facet values for this field.
3711
+ # Corresponds to the JSON property `values`
3712
+ # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaSearchResponseFacetFacetValue>]
3713
+ attr_accessor :values
3714
+
3715
+ def initialize(**args)
3716
+ update!(**args)
3717
+ end
3718
+
3719
+ # Update properties of this object
3720
+ def update!(**args)
3721
+ @dynamic_facet = args[:dynamic_facet] if args.key?(:dynamic_facet)
3722
+ @key = args[:key] if args.key?(:key)
3723
+ @values = args[:values] if args.key?(:values)
3724
+ end
3725
+ end
3726
+
3727
+ # A facet value which contains value names and their count.
3728
+ class GoogleCloudRetailV2betaSearchResponseFacetFacetValue
3729
+ include Google::Apis::Core::Hashable
3730
+
3731
+ # Number of items that have this facet value.
3732
+ # Corresponds to the JSON property `count`
3733
+ # @return [Fixnum]
3734
+ attr_accessor :count
3735
+
3736
+ # A floating point interval.
3737
+ # Corresponds to the JSON property `interval`
3738
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaInterval]
3739
+ attr_accessor :interval
3740
+
3741
+ # Text value of a facet, such as "Black" for facet "colorFamilies".
3742
+ # Corresponds to the JSON property `value`
3743
+ # @return [String]
3744
+ attr_accessor :value
3745
+
3746
+ def initialize(**args)
3747
+ update!(**args)
3748
+ end
3749
+
3750
+ # Update properties of this object
3751
+ def update!(**args)
3752
+ @count = args[:count] if args.key?(:count)
3753
+ @interval = args[:interval] if args.key?(:interval)
3754
+ @value = args[:value] if args.key?(:value)
3755
+ end
3756
+ end
3757
+
3758
+ # Information describing query expansion including whether expansion has
3759
+ # occurred.
3760
+ class GoogleCloudRetailV2betaSearchResponseQueryExpansionInfo
3761
+ include Google::Apis::Core::Hashable
3762
+
3763
+ # Bool describing whether query expansion has occurred.
3764
+ # Corresponds to the JSON property `expandedQuery`
3765
+ # @return [Boolean]
3766
+ attr_accessor :expanded_query
3767
+ alias_method :expanded_query?, :expanded_query
3768
+
3769
+ # Number of pinned results. This field will only be set when expansion happens
3770
+ # and SearchRequest.QueryExpansionSpec.pin_unexpanded_results is set to true.
3771
+ # Corresponds to the JSON property `pinnedResultCount`
3772
+ # @return [Fixnum]
3773
+ attr_accessor :pinned_result_count
3774
+
3775
+ def initialize(**args)
3776
+ update!(**args)
3777
+ end
3778
+
3779
+ # Update properties of this object
3780
+ def update!(**args)
3781
+ @expanded_query = args[:expanded_query] if args.key?(:expanded_query)
3782
+ @pinned_result_count = args[:pinned_result_count] if args.key?(:pinned_result_count)
3783
+ end
3784
+ end
3785
+
3786
+ # Represents the search results.
3787
+ class GoogleCloudRetailV2betaSearchResponseSearchResult
3788
+ include Google::Apis::Core::Hashable
3789
+
3790
+ # Product.id of the searched Product.
3791
+ # Corresponds to the JSON property `id`
3792
+ # @return [String]
3793
+ attr_accessor :id
3794
+
3795
+ # The count of matched variant Products.
3796
+ # Corresponds to the JSON property `matchingVariantCount`
3797
+ # @return [Fixnum]
3798
+ attr_accessor :matching_variant_count
3799
+
3800
+ # If a variant Product matches the search query, this map indicates which
3801
+ # Product fields are matched. The key is the Product.name, the value is a field
3802
+ # mask of the matched Product fields. If matched attributes cannot be determined,
3803
+ # this map will be empty. For example, a key "sku1" with field mask "products.
3804
+ # color_info" indicates there is a match between "sku1" ColorInfo and the query.
3805
+ # Corresponds to the JSON property `matchingVariantFields`
3806
+ # @return [Hash<String,String>]
3807
+ attr_accessor :matching_variant_fields
3808
+
3809
+ # Product captures all metadata information of items to be recommended or
3810
+ # searched.
3811
+ # Corresponds to the JSON property `product`
3812
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProduct]
3813
+ attr_accessor :product
3814
+
3815
+ # The rollup matching variant Product attributes. The key is one of the
3816
+ # SearchRequest.variant_rollup_keys. The values are the merged and de-duplicated
3817
+ # Product attributes. Notice that the rollup values are respect filter. For
3818
+ # example, when filtering by "colorFamilies:ANY(\"red\")" and rollup "
3819
+ # colorFamilies", only "red" is returned. For textual and numerical attributes,
3820
+ # the rollup values is a list of string or double values with type google.
3821
+ # protobuf.ListValue. For example, if there are two variants with colors "red"
3822
+ # and "blue", the rollup values are ` key: "colorFamilies" value ` list_value `
3823
+ # values ` string_value: "red" ` values ` string_value: "blue" ` ` ` ` For
3824
+ # FulfillmentInfo, the rollup values is a double value with type google.protobuf.
3825
+ # Value. For example, ``key: "pickupInStore.store1" value ` number_value: 10 ```
3826
+ # means a there are 10 variants in this product are available in the store "
3827
+ # store1".
3828
+ # Corresponds to the JSON property `variantRollupValues`
3829
+ # @return [Hash<String,Object>]
3830
+ attr_accessor :variant_rollup_values
3831
+
3832
+ def initialize(**args)
3833
+ update!(**args)
3834
+ end
3835
+
3836
+ # Update properties of this object
3837
+ def update!(**args)
3838
+ @id = args[:id] if args.key?(:id)
3839
+ @matching_variant_count = args[:matching_variant_count] if args.key?(:matching_variant_count)
3840
+ @matching_variant_fields = args[:matching_variant_fields] if args.key?(:matching_variant_fields)
3841
+ @product = args[:product] if args.key?(:product)
3842
+ @variant_rollup_values = args[:variant_rollup_values] if args.key?(:variant_rollup_values)
3843
+ end
3844
+ end
3845
+
3846
+ # Request message to set a specified branch as new default_branch.
3847
+ class GoogleCloudRetailV2betaSetDefaultBranchRequest
3848
+ include Google::Apis::Core::Hashable
3849
+
3850
+ # The final component of the resource name of a branch. This field must be one
3851
+ # of "0", "1" or "2". Otherwise, an INVALID_ARGUMENT error is returned.
3852
+ # Corresponds to the JSON property `branchId`
3853
+ # @return [String]
3854
+ attr_accessor :branch_id
3855
+
3856
+ # Some note on this request, this can be retrieved by CatalogService.
3857
+ # GetDefaultBranch before next valid default branch set occurs. This field must
3858
+ # be a UTF-8 encoded string with a length limit of 1,000 characters. Otherwise,
3859
+ # an INVALID_ARGUMENT error is returned.
3860
+ # Corresponds to the JSON property `note`
3861
+ # @return [String]
3862
+ attr_accessor :note
3863
+
3864
+ def initialize(**args)
3865
+ update!(**args)
3866
+ end
3867
+
3868
+ # Update properties of this object
3869
+ def update!(**args)
3870
+ @branch_id = args[:branch_id] if args.key?(:branch_id)
3871
+ @note = args[:note] if args.key?(:note)
3872
+ end
3873
+ end
3874
+
3875
+ # Metadata related to the progress of the SetInventory operation. Currently
3876
+ # empty because there is no meaningful metadata populated from the SetInventory
3877
+ # method.
3878
+ class GoogleCloudRetailV2betaSetInventoryMetadata
3879
+ include Google::Apis::Core::Hashable
3880
+
3881
+ def initialize(**args)
3882
+ update!(**args)
3883
+ end
3884
+
3885
+ # Update properties of this object
3886
+ def update!(**args)
3887
+ end
3888
+ end
3889
+
3890
+ # Request message for SetInventory method.
3891
+ class GoogleCloudRetailV2betaSetInventoryRequest
3892
+ include Google::Apis::Core::Hashable
3893
+
3894
+ # If set to true, and the Product with name Product.name is not found, the
3895
+ # inventory update will still be processed and retained for at most 1 day until
3896
+ # the Product is created. If set to false, an INVALID_ARGUMENT error is returned
3897
+ # if the Product is not found.
3898
+ # Corresponds to the JSON property `allowMissing`
3899
+ # @return [Boolean]
3900
+ attr_accessor :allow_missing
3901
+ alias_method :allow_missing?, :allow_missing
3902
+
3903
+ # Product captures all metadata information of items to be recommended or
3904
+ # searched.
3905
+ # Corresponds to the JSON property `inventory`
3906
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProduct]
3907
+ attr_accessor :inventory
3908
+
3909
+ # Indicates which inventory fields in the provided Product to update. If not set
3910
+ # or set with empty paths, all inventory fields will be updated. If an
3911
+ # unsupported or unknown field is provided, an INVALID_ARGUMENT error is
3912
+ # returned and the entire update will be ignored.
3913
+ # Corresponds to the JSON property `setMask`
3914
+ # @return [String]
3915
+ attr_accessor :set_mask
3916
+
3917
+ # The time when the request is issued, used to prevent out-of-order updates on
3918
+ # inventory fields with the last update time recorded. If not provided, the
3919
+ # internal system time will be used.
3920
+ # Corresponds to the JSON property `setTime`
3921
+ # @return [String]
3922
+ attr_accessor :set_time
3923
+
3924
+ def initialize(**args)
3925
+ update!(**args)
3926
+ end
3927
+
3928
+ # Update properties of this object
3929
+ def update!(**args)
3930
+ @allow_missing = args[:allow_missing] if args.key?(:allow_missing)
3931
+ @inventory = args[:inventory] if args.key?(:inventory)
3932
+ @set_mask = args[:set_mask] if args.key?(:set_mask)
3933
+ @set_time = args[:set_time] if args.key?(:set_time)
3934
+ end
3935
+ end
3936
+
3937
+ # Response of the SetInventoryRequest. Currently empty because there is no
3938
+ # meaningful response populated from the SetInventory method.
3939
+ class GoogleCloudRetailV2betaSetInventoryResponse
3940
+ include Google::Apis::Core::Hashable
3941
+
3942
+ def initialize(**args)
3943
+ update!(**args)
3944
+ end
3945
+
3946
+ # Update properties of this object
3947
+ def update!(**args)
3948
+ end
3949
+ end
3950
+
2005
3951
  # UserEvent captures all metadata information Retail API needs to know about how
2006
3952
  # end users interact with customers' website.
2007
3953
  class GoogleCloudRetailV2betaUserEvent
@@ -2020,18 +3966,19 @@ module Google
2020
3966
  # Highly recommended for user events that are the result of PredictionService.
2021
3967
  # Predict. This field enables accurate attribution of recommendation model
2022
3968
  # performance. The value must be a valid PredictResponse.attribution_token for
2023
- # user events that are the result of PredictionService.Predict. This token
2024
- # enables us to accurately attribute page view or purchase back to the event and
2025
- # the particular predict response containing this clicked/purchased product. If
2026
- # user clicks on product K in the recommendation results, pass PredictResponse.
2027
- # attribution_token as a URL parameter to product K's page. When recording
2028
- # events on product K's page, log the PredictResponse.attribution_token to this
2029
- # field.
3969
+ # user events that are the result of PredictionService.Predict. The value must
3970
+ # be a valid SearchResponse.attribution_token for user events that are the
3971
+ # result of SearchService.Search. This token enables us to accurately attribute
3972
+ # page view or purchase back to the event and the particular predict response
3973
+ # containing this clicked/purchased product. If user clicks on product K in the
3974
+ # recommendation results, pass PredictResponse.attribution_token as a URL
3975
+ # parameter to product K's page. When recording events on product K's page, log
3976
+ # the PredictResponse.attribution_token to this field.
2030
3977
  # Corresponds to the JSON property `attributionToken`
2031
3978
  # @return [String]
2032
3979
  attr_accessor :attribution_token
2033
3980
 
2034
- # The id or name of the associated shopping cart. This id is used to associate
3981
+ # The ID or name of the associated shopping cart. This ID is used to associate
2035
3982
  # multiple items added or present in the cart before purchase. This can only be
2036
3983
  # set for `add-to-cart`, `purchase-complete`, or `shopping-cart-page-view`
2037
3984
  # events.
@@ -2039,6 +3986,12 @@ module Google
2039
3986
  # @return [String]
2040
3987
  attr_accessor :cart_id
2041
3988
 
3989
+ # Detailed completion information including completion attribution token and
3990
+ # clicked completion info.
3991
+ # Corresponds to the JSON property `completionDetail`
3992
+ # @return [Google::Apis::RetailV2beta::GoogleCloudRetailV2betaCompletionDetail]
3993
+ attr_accessor :completion_detail
3994
+
2042
3995
  # Only required for UserEventService.ImportUserEvents method. Timestamp of when
2043
3996
  # the user event happened.
2044
3997
  # Corresponds to the JSON property `eventTime`
@@ -2065,6 +4018,34 @@ module Google
2065
4018
  # @return [Array<String>]
2066
4019
  attr_accessor :experiment_ids
2067
4020
 
4021
+ # The filter syntax consists of an expression language for constructing a
4022
+ # predicate from one or more fields of the products being filtered. See
4023
+ # SearchRequest.filter for definition and syntax. The value must be a UTF-8
4024
+ # encoded string with a length limit of 1,000 characters. Otherwise, an
4025
+ # INVALID_ARGUMENT error is returned.
4026
+ # Corresponds to the JSON property `filter`
4027
+ # @return [String]
4028
+ attr_accessor :filter
4029
+
4030
+ # An integer that specifies the current offset for pagination (the 0-indexed
4031
+ # starting location, amongst the products deemed by the API as relevant). See
4032
+ # SearchRequest.offset for definition. If this field is negative, an
4033
+ # INVALID_ARGUMENT is returned. This can only be set for `search` events. Other
4034
+ # event types should not set this field. Otherwise, an INVALID_ARGUMENT error is
4035
+ # returned.
4036
+ # Corresponds to the JSON property `offset`
4037
+ # @return [Fixnum]
4038
+ attr_accessor :offset
4039
+
4040
+ # The order in which products are returned. See SearchRequest.order_by for
4041
+ # definition and syntax. The value must be a UTF-8 encoded string with a length
4042
+ # limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
4043
+ # This can only be set for `search` events. Other event types should not set
4044
+ # this field. Otherwise, an INVALID_ARGUMENT error is returned.
4045
+ # Corresponds to the JSON property `orderBy`
4046
+ # @return [String]
4047
+ attr_accessor :order_by
4048
+
2068
4049
  # The categories associated with a category page. To represent full path of
2069
4050
  # category, use '>' sign to separate different hierarchies. If '>' is part of
2070
4051
  # the category name, please replace it with other character(s). Category pages
@@ -2078,7 +4059,7 @@ module Google
2078
4059
  # @return [Array<String>]
2079
4060
  attr_accessor :page_categories
2080
4061
 
2081
- # A unique id of a web page view. This should be kept the same for all user
4062
+ # A unique ID of a web page view. This should be kept the same for all user
2082
4063
  # events triggered from the same pageview. For example, an item detail page view
2083
4064
  # could trigger multiple events as the user is browsing the page. The `
2084
4065
  # pageViewId` property should be kept the same for all these events so that they
@@ -2092,11 +4073,11 @@ module Google
2092
4073
  # The main product details related to the event. This field is required for the
2093
4074
  # following event types: * `add-to-cart` * `detail-page-view` * `purchase-
2094
4075
  # complete` In a `search` event, this field represents the products returned to
2095
- # the end user on the current page (the end user may have not finished broswing
4076
+ # the end user on the current page (the end user may have not finished browsing
2096
4077
  # the whole page yet). When a new page is returned to the end user, after
2097
4078
  # pagination/filtering/ordering even for the same query, a new `search` event
2098
4079
  # with different product_details is desired. The end user may have not finished
2099
- # broswing the whole page yet.
4080
+ # browsing the whole page yet.
2100
4081
  # Corresponds to the JSON property `productDetails`
2101
4082
  # @return [Array<Google::Apis::RetailV2beta::GoogleCloudRetailV2betaProductDetail>]
2102
4083
  attr_accessor :product_details
@@ -2113,15 +4094,24 @@ module Google
2113
4094
  # @return [String]
2114
4095
  attr_accessor :referrer_uri
2115
4096
 
2116
- # The user's search query. The value must be a UTF-8 encoded string with a
2117
- # length limit of 5,000 characters. Otherwise, an INVALID_ARGUMENT error is
2118
- # returned. At least one of search_query or page_categories is required for `
2119
- # search` events. Other event types should not set this field. Otherwise, an
2120
- # INVALID_ARGUMENT error is returned.
4097
+ # The user's search query. See SearchRequest.query for definition. The value
4098
+ # must be a UTF-8 encoded string with a length limit of 5,000 characters.
4099
+ # Otherwise, an INVALID_ARGUMENT error is returned. At least one of search_query
4100
+ # or page_categories is required for `search` events. Other event types should
4101
+ # not set this field. Otherwise, an INVALID_ARGUMENT error is returned.
2121
4102
  # Corresponds to the JSON property `searchQuery`
2122
4103
  # @return [String]
2123
4104
  attr_accessor :search_query
2124
4105
 
4106
+ # A unique identifier for tracking a visitor session with a length limit of 128
4107
+ # bytes. A session is an aggregation of an end user behavior in a time span. A
4108
+ # general guideline to populate the sesion_id: 1. If user has no activity for 30
4109
+ # min, a new session_id should be assigned. 2. The session_id should be unique
4110
+ # across users, suggest use uuid or add visitor_id as prefix.
4111
+ # Corresponds to the JSON property `sessionId`
4112
+ # @return [String]
4113
+ attr_accessor :session_id
4114
+
2125
4115
  # Complete URL (window.location.href) of the user's current page. When using the
2126
4116
  # client side event reporting with JavaScript pixel and Google Tag Manager, this
2127
4117
  # value is filled in automatically. Maximum length 5,000 characters.
@@ -2155,15 +4145,20 @@ module Google
2155
4145
  @attributes = args[:attributes] if args.key?(:attributes)
2156
4146
  @attribution_token = args[:attribution_token] if args.key?(:attribution_token)
2157
4147
  @cart_id = args[:cart_id] if args.key?(:cart_id)
4148
+ @completion_detail = args[:completion_detail] if args.key?(:completion_detail)
2158
4149
  @event_time = args[:event_time] if args.key?(:event_time)
2159
4150
  @event_type = args[:event_type] if args.key?(:event_type)
2160
4151
  @experiment_ids = args[:experiment_ids] if args.key?(:experiment_ids)
4152
+ @filter = args[:filter] if args.key?(:filter)
4153
+ @offset = args[:offset] if args.key?(:offset)
4154
+ @order_by = args[:order_by] if args.key?(:order_by)
2161
4155
  @page_categories = args[:page_categories] if args.key?(:page_categories)
2162
4156
  @page_view_id = args[:page_view_id] if args.key?(:page_view_id)
2163
4157
  @product_details = args[:product_details] if args.key?(:product_details)
2164
4158
  @purchase_transaction = args[:purchase_transaction] if args.key?(:purchase_transaction)
2165
4159
  @referrer_uri = args[:referrer_uri] if args.key?(:referrer_uri)
2166
4160
  @search_query = args[:search_query] if args.key?(:search_query)
4161
+ @session_id = args[:session_id] if args.key?(:session_id)
2167
4162
  @uri = args[:uri] if args.key?(:uri)
2168
4163
  @user_info = args[:user_info] if args.key?(:user_info)
2169
4164
  @visitor_id = args[:visitor_id] if args.key?(:visitor_id)
@@ -2262,7 +4257,7 @@ module Google
2262
4257
  attr_accessor :direct_user_request
2263
4258
  alias_method :direct_user_request?, :direct_user_request
2264
4259
 
2265
- # The end user's IP address. Required for getting SearchRespons.
4260
+ # The end user's IP address. Required for getting SearchResponse.
2266
4261
  # sponsored_results. This field is used to extract location information for
2267
4262
  # personalization. This field must be either an IPv4 address (e.g. "104.133.9.80"
2268
4263
  # ) or an IPv6 address (e.g. "2001:0db8:85a3:0000:0000:8a2e:0370:7334").
@@ -2273,7 +4268,7 @@ module Google
2273
4268
  # @return [String]
2274
4269
  attr_accessor :ip_address
2275
4270
 
2276
- # User agent as included in the HTTP header. Required for getting SearchRespons.
4271
+ # User agent as included in the HTTP header. Required for getting SearchResponse.
2277
4272
  # sponsored_results. The field must be a UTF-8 encoded string with a length
2278
4273
  # limit of 1,000 characters. Otherwise, an INVALID_ARGUMENT error is returned.
2279
4274
  # This should not be set when using the client side event reporting with GTM or
@@ -2445,6 +4440,47 @@ module Google
2445
4440
  @message = args[:message] if args.key?(:message)
2446
4441
  end
2447
4442
  end
4443
+
4444
+ # Represents a whole or partial calendar date, such as a birthday. The time of
4445
+ # day and time zone are either specified elsewhere or are insignificant. The
4446
+ # date is relative to the Gregorian Calendar. This can represent one of the
4447
+ # following: * A full date, with non-zero year, month, and day values * A month
4448
+ # and day value, with a zero year, such as an anniversary * A year on its own,
4449
+ # with zero month and day values * A year and month value, with a zero day, such
4450
+ # as a credit card expiration date Related types are google.type.TimeOfDay and `
4451
+ # google.protobuf.Timestamp`.
4452
+ class GoogleTypeDate
4453
+ include Google::Apis::Core::Hashable
4454
+
4455
+ # Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to
4456
+ # specify a year by itself or a year and month where the day isn't significant.
4457
+ # Corresponds to the JSON property `day`
4458
+ # @return [Fixnum]
4459
+ attr_accessor :day
4460
+
4461
+ # Month of a year. Must be from 1 to 12, or 0 to specify a year without a month
4462
+ # and day.
4463
+ # Corresponds to the JSON property `month`
4464
+ # @return [Fixnum]
4465
+ attr_accessor :month
4466
+
4467
+ # Year of the date. Must be from 1 to 9999, or 0 to specify a date without a
4468
+ # year.
4469
+ # Corresponds to the JSON property `year`
4470
+ # @return [Fixnum]
4471
+ attr_accessor :year
4472
+
4473
+ def initialize(**args)
4474
+ update!(**args)
4475
+ end
4476
+
4477
+ # Update properties of this object
4478
+ def update!(**args)
4479
+ @day = args[:day] if args.key?(:day)
4480
+ @month = args[:month] if args.key?(:month)
4481
+ @year = args[:year] if args.key?(:year)
4482
+ end
4483
+ end
2448
4484
  end
2449
4485
  end
2450
4486
  end