google-apis-datamanager_v1 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,1410 @@
1
+ # Copyright 2020 Google LLC
2
+ #
3
+ # Licensed under the Apache License, Version 2.0 (the "License");
4
+ # you may not use this file except in compliance with the License.
5
+ # You may obtain a copy of the License at
6
+ #
7
+ # http://www.apache.org/licenses/LICENSE-2.0
8
+ #
9
+ # Unless required by applicable law or agreed to in writing, software
10
+ # distributed under the License is distributed on an "AS IS" BASIS,
11
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
+ # See the License for the specific language governing permissions and
13
+ # limitations under the License.
14
+
15
+ require 'date'
16
+ require 'google/apis/core/base_service'
17
+ require 'google/apis/core/json_representation'
18
+ require 'google/apis/core/hashable'
19
+ require 'google/apis/errors'
20
+
21
+ module Google
22
+ module Apis
23
+ module DatamanagerV1
24
+
25
+ # Identifiers and other information used to match the conversion event with
26
+ # other online activity (such as ad clicks).
27
+ class AdIdentifiers
28
+ include Google::Apis::Core::Hashable
29
+
30
+ # Optional. The click identifier for clicks associated with app events and
31
+ # originating from iOS devices starting with iOS14.
32
+ # Corresponds to the JSON property `gbraid`
33
+ # @return [String]
34
+ attr_accessor :gbraid
35
+
36
+ # Optional. The Google click ID (gclid) associated with this event.
37
+ # Corresponds to the JSON property `gclid`
38
+ # @return [String]
39
+ attr_accessor :gclid
40
+
41
+ # Information about the device being used (if any) when the event happened.
42
+ # Corresponds to the JSON property `landingPageDeviceInfo`
43
+ # @return [Google::Apis::DatamanagerV1::DeviceInfo]
44
+ attr_accessor :landing_page_device_info
45
+
46
+ # Optional. Session attributes for event attribution and modeling.
47
+ # Corresponds to the JSON property `sessionAttributes`
48
+ # @return [String]
49
+ attr_accessor :session_attributes
50
+
51
+ # Optional. The click identifier for clicks associated with web events and
52
+ # originating from iOS devices starting with iOS14.
53
+ # Corresponds to the JSON property `wbraid`
54
+ # @return [String]
55
+ attr_accessor :wbraid
56
+
57
+ def initialize(**args)
58
+ update!(**args)
59
+ end
60
+
61
+ # Update properties of this object
62
+ def update!(**args)
63
+ @gbraid = args[:gbraid] if args.key?(:gbraid)
64
+ @gclid = args[:gclid] if args.key?(:gclid)
65
+ @landing_page_device_info = args[:landing_page_device_info] if args.key?(:landing_page_device_info)
66
+ @session_attributes = args[:session_attributes] if args.key?(:session_attributes)
67
+ @wbraid = args[:wbraid] if args.key?(:wbraid)
68
+ end
69
+ end
70
+
71
+ # Address information for the user.
72
+ class AddressInfo
73
+ include Google::Apis::Core::Hashable
74
+
75
+ # Required. Family (last) name of the user, all lowercase, with no punctuation,
76
+ # no leading or trailing whitespace, and hashed as SHA-256.
77
+ # Corresponds to the JSON property `familyName`
78
+ # @return [String]
79
+ attr_accessor :family_name
80
+
81
+ # Required. Given (first) name of the user, all lowercase, with no punctuation,
82
+ # no leading or trailing whitespace, and hashed as SHA-256.
83
+ # Corresponds to the JSON property `givenName`
84
+ # @return [String]
85
+ attr_accessor :given_name
86
+
87
+ # Required. The postal code of the user's address.
88
+ # Corresponds to the JSON property `postalCode`
89
+ # @return [String]
90
+ attr_accessor :postal_code
91
+
92
+ # Required. The 2-letter region code in ISO-3166-1 alpha-2 of the user's address.
93
+ # Corresponds to the JSON property `regionCode`
94
+ # @return [String]
95
+ attr_accessor :region_code
96
+
97
+ def initialize(**args)
98
+ update!(**args)
99
+ end
100
+
101
+ # Update properties of this object
102
+ def update!(**args)
103
+ @family_name = args[:family_name] if args.key?(:family_name)
104
+ @given_name = args[:given_name] if args.key?(:given_name)
105
+ @postal_code = args[:postal_code] if args.key?(:postal_code)
106
+ @region_code = args[:region_code] if args.key?(:region_code)
107
+ end
108
+ end
109
+
110
+ # The audience member to be operated on.
111
+ class AudienceMember
112
+ include Google::Apis::Core::Hashable
113
+
114
+ # [Digital Markets Act (DMA)](//digital-markets-act.ec.europa.eu/index_en)
115
+ # consent settings for the user.
116
+ # Corresponds to the JSON property `consent`
117
+ # @return [Google::Apis::DatamanagerV1::Consent]
118
+ attr_accessor :consent
119
+
120
+ # Optional. Defines which Destination to send the audience member to.
121
+ # Corresponds to the JSON property `destinationReferences`
122
+ # @return [Array<String>]
123
+ attr_accessor :destination_references
124
+
125
+ # Mobile IDs for the audience. At least one mobile ID is required.
126
+ # Corresponds to the JSON property `mobileData`
127
+ # @return [Google::Apis::DatamanagerV1::MobileData]
128
+ attr_accessor :mobile_data
129
+
130
+ # [PAIR](//support.google.com/admanager/answer/15067908) IDs for the audience.
131
+ # At least one PAIR ID is required.
132
+ # Corresponds to the JSON property `pairData`
133
+ # @return [Google::Apis::DatamanagerV1::PairData]
134
+ attr_accessor :pair_data
135
+
136
+ # Data that identifies the user. At least one identifier is required.
137
+ # Corresponds to the JSON property `userData`
138
+ # @return [Google::Apis::DatamanagerV1::UserData]
139
+ attr_accessor :user_data
140
+
141
+ def initialize(**args)
142
+ update!(**args)
143
+ end
144
+
145
+ # Update properties of this object
146
+ def update!(**args)
147
+ @consent = args[:consent] if args.key?(:consent)
148
+ @destination_references = args[:destination_references] if args.key?(:destination_references)
149
+ @mobile_data = args[:mobile_data] if args.key?(:mobile_data)
150
+ @pair_data = args[:pair_data] if args.key?(:pair_data)
151
+ @user_data = args[:user_data] if args.key?(:user_data)
152
+ end
153
+ end
154
+
155
+ # The cart data associated with the event.
156
+ class CartData
157
+ include Google::Apis::Core::Hashable
158
+
159
+ # Optional. The list of items associated with the event.
160
+ # Corresponds to the JSON property `items`
161
+ # @return [Array<Google::Apis::DatamanagerV1::Item>]
162
+ attr_accessor :items
163
+
164
+ # Optional. The Merchant Center feed label associated with the feed of the items.
165
+ # Corresponds to the JSON property `merchantFeedLabel`
166
+ # @return [String]
167
+ attr_accessor :merchant_feed_label
168
+
169
+ # Optional. The language code in ISO 639-1 associated with the Merchant Center
170
+ # feed of the items.where your items are uploaded.
171
+ # Corresponds to the JSON property `merchantFeedLanguageCode`
172
+ # @return [String]
173
+ attr_accessor :merchant_feed_language_code
174
+
175
+ # Optional. The Merchant Center ID associated with the items.
176
+ # Corresponds to the JSON property `merchantId`
177
+ # @return [String]
178
+ attr_accessor :merchant_id
179
+
180
+ # Optional. The sum of all discounts associated with the transaction.
181
+ # Corresponds to the JSON property `transactionDiscount`
182
+ # @return [Float]
183
+ attr_accessor :transaction_discount
184
+
185
+ def initialize(**args)
186
+ update!(**args)
187
+ end
188
+
189
+ # Update properties of this object
190
+ def update!(**args)
191
+ @items = args[:items] if args.key?(:items)
192
+ @merchant_feed_label = args[:merchant_feed_label] if args.key?(:merchant_feed_label)
193
+ @merchant_feed_language_code = args[:merchant_feed_language_code] if args.key?(:merchant_feed_language_code)
194
+ @merchant_id = args[:merchant_id] if args.key?(:merchant_id)
195
+ @transaction_discount = args[:transaction_discount] if args.key?(:transaction_discount)
196
+ end
197
+ end
198
+
199
+ # [Digital Markets Act (DMA)](//digital-markets-act.ec.europa.eu/index_en)
200
+ # consent settings for the user.
201
+ class Consent
202
+ include Google::Apis::Core::Hashable
203
+
204
+ # Optional. Represents if the user consents to ad personalization.
205
+ # Corresponds to the JSON property `adPersonalization`
206
+ # @return [String]
207
+ attr_accessor :ad_personalization
208
+
209
+ # Optional. Represents if the user consents to ad user data.
210
+ # Corresponds to the JSON property `adUserData`
211
+ # @return [String]
212
+ attr_accessor :ad_user_data
213
+
214
+ def initialize(**args)
215
+ update!(**args)
216
+ end
217
+
218
+ # Update properties of this object
219
+ def update!(**args)
220
+ @ad_personalization = args[:ad_personalization] if args.key?(:ad_personalization)
221
+ @ad_user_data = args[:ad_user_data] if args.key?(:ad_user_data)
222
+ end
223
+ end
224
+
225
+ # Custom variable for ads conversions.
226
+ class CustomVariable
227
+ include Google::Apis::Core::Hashable
228
+
229
+ # Optional. Reference string used to determine which of the Event.
230
+ # destination_references the custom variable should be sent to. If empty, the
231
+ # Event.destination_references will be used.
232
+ # Corresponds to the JSON property `destinationReferences`
233
+ # @return [Array<String>]
234
+ attr_accessor :destination_references
235
+
236
+ # Optional. The value to store for the custom variable.
237
+ # Corresponds to the JSON property `value`
238
+ # @return [String]
239
+ attr_accessor :value
240
+
241
+ # Optional. The name of the custom variable to set. If the variable is not found
242
+ # for the given destination, it will be ignored.
243
+ # Corresponds to the JSON property `variable`
244
+ # @return [String]
245
+ attr_accessor :variable
246
+
247
+ def initialize(**args)
248
+ update!(**args)
249
+ end
250
+
251
+ # Update properties of this object
252
+ def update!(**args)
253
+ @destination_references = args[:destination_references] if args.key?(:destination_references)
254
+ @value = args[:value] if args.key?(:value)
255
+ @variable = args[:variable] if args.key?(:variable)
256
+ end
257
+ end
258
+
259
+ # The Google product you're sending data to. For example, a Google Ads account.
260
+ class Destination
261
+ include Google::Apis::Core::Hashable
262
+
263
+ # Represents a specific account.
264
+ # Corresponds to the JSON property `linkedAccount`
265
+ # @return [Google::Apis::DatamanagerV1::ProductAccount]
266
+ attr_accessor :linked_account
267
+
268
+ # Represents a specific account.
269
+ # Corresponds to the JSON property `loginAccount`
270
+ # @return [Google::Apis::DatamanagerV1::ProductAccount]
271
+ attr_accessor :login_account
272
+
273
+ # Represents a specific account.
274
+ # Corresponds to the JSON property `operatingAccount`
275
+ # @return [Google::Apis::DatamanagerV1::ProductAccount]
276
+ attr_accessor :operating_account
277
+
278
+ # Required. The object within the product account to ingest into. For example, a
279
+ # Google Ads audience ID, a Display & Video 360 audience ID or a Google Ads
280
+ # conversion action ID.
281
+ # Corresponds to the JSON property `productDestinationId`
282
+ # @return [String]
283
+ attr_accessor :product_destination_id
284
+
285
+ # Optional. ID for this `Destination` resource, unique within the request. Use
286
+ # to reference this `Destination` in the IngestEventsRequest and
287
+ # IngestAudienceMembersRequest.
288
+ # Corresponds to the JSON property `reference`
289
+ # @return [String]
290
+ attr_accessor :reference
291
+
292
+ def initialize(**args)
293
+ update!(**args)
294
+ end
295
+
296
+ # Update properties of this object
297
+ def update!(**args)
298
+ @linked_account = args[:linked_account] if args.key?(:linked_account)
299
+ @login_account = args[:login_account] if args.key?(:login_account)
300
+ @operating_account = args[:operating_account] if args.key?(:operating_account)
301
+ @product_destination_id = args[:product_destination_id] if args.key?(:product_destination_id)
302
+ @reference = args[:reference] if args.key?(:reference)
303
+ end
304
+ end
305
+
306
+ # Information about the device being used (if any) when the event happened.
307
+ class DeviceInfo
308
+ include Google::Apis::Core::Hashable
309
+
310
+ # Optional. The IP address of the device for the given context. **Note:** Google
311
+ # Ads does not support IP address matching for end users in the European
312
+ # Economic Area (EEA), United Kingdom (UK), or Switzerland (CH). Add logic to
313
+ # conditionally exclude sharing IP addresses from users from these regions and
314
+ # ensure that you provide users with clear and comprehensive information about
315
+ # the data you collect on your sites, apps, and other properties and get consent
316
+ # where required by law or any applicable Google policies. See the [About
317
+ # offline conversion imports](https://support.google.com/google-ads/answer/
318
+ # 2998031) page for more details.
319
+ # Corresponds to the JSON property `ipAddress`
320
+ # @return [String]
321
+ attr_accessor :ip_address
322
+
323
+ # Optional. The user-agent string of the device for the given context.
324
+ # Corresponds to the JSON property `userAgent`
325
+ # @return [String]
326
+ attr_accessor :user_agent
327
+
328
+ def initialize(**args)
329
+ update!(**args)
330
+ end
331
+
332
+ # Update properties of this object
333
+ def update!(**args)
334
+ @ip_address = args[:ip_address] if args.key?(:ip_address)
335
+ @user_agent = args[:user_agent] if args.key?(:user_agent)
336
+ end
337
+ end
338
+
339
+ # Encryption information for the data being ingested.
340
+ class EncryptionInfo
341
+ include Google::Apis::Core::Hashable
342
+
343
+ # Information about the Google Cloud Platform wrapped key.
344
+ # Corresponds to the JSON property `gcpWrappedKeyInfo`
345
+ # @return [Google::Apis::DatamanagerV1::GcpWrappedKeyInfo]
346
+ attr_accessor :gcp_wrapped_key_info
347
+
348
+ def initialize(**args)
349
+ update!(**args)
350
+ end
351
+
352
+ # Update properties of this object
353
+ def update!(**args)
354
+ @gcp_wrapped_key_info = args[:gcp_wrapped_key_info] if args.key?(:gcp_wrapped_key_info)
355
+ end
356
+ end
357
+
358
+ # The error count for a given error reason.
359
+ class ErrorCount
360
+ include Google::Apis::Core::Hashable
361
+
362
+ # The error reason of the failed records.
363
+ # Corresponds to the JSON property `reason`
364
+ # @return [String]
365
+ attr_accessor :reason
366
+
367
+ # The count of records that failed to upload for a given reason.
368
+ # Corresponds to the JSON property `recordCount`
369
+ # @return [Fixnum]
370
+ attr_accessor :record_count
371
+
372
+ def initialize(**args)
373
+ update!(**args)
374
+ end
375
+
376
+ # Update properties of this object
377
+ def update!(**args)
378
+ @reason = args[:reason] if args.key?(:reason)
379
+ @record_count = args[:record_count] if args.key?(:record_count)
380
+ end
381
+ end
382
+
383
+ # Error counts for each type of error.
384
+ class ErrorInfo
385
+ include Google::Apis::Core::Hashable
386
+
387
+ # A list of errors and counts per error reason. May not be populated in all
388
+ # cases.
389
+ # Corresponds to the JSON property `errorCounts`
390
+ # @return [Array<Google::Apis::DatamanagerV1::ErrorCount>]
391
+ attr_accessor :error_counts
392
+
393
+ def initialize(**args)
394
+ update!(**args)
395
+ end
396
+
397
+ # Update properties of this object
398
+ def update!(**args)
399
+ @error_counts = args[:error_counts] if args.key?(:error_counts)
400
+ end
401
+ end
402
+
403
+ # An event representing a user interaction with an advertiser's website or app.
404
+ class Event
405
+ include Google::Apis::Core::Hashable
406
+
407
+ # Identifiers and other information used to match the conversion event with
408
+ # other online activity (such as ad clicks).
409
+ # Corresponds to the JSON property `adIdentifiers`
410
+ # @return [Google::Apis::DatamanagerV1::AdIdentifiers]
411
+ attr_accessor :ad_identifiers
412
+
413
+ # The cart data associated with the event.
414
+ # Corresponds to the JSON property `cartData`
415
+ # @return [Google::Apis::DatamanagerV1::CartData]
416
+ attr_accessor :cart_data
417
+
418
+ # [Digital Markets Act (DMA)](//digital-markets-act.ec.europa.eu/index_en)
419
+ # consent settings for the user.
420
+ # Corresponds to the JSON property `consent`
421
+ # @return [Google::Apis::DatamanagerV1::Consent]
422
+ attr_accessor :consent
423
+
424
+ # Optional. The conversion value associated with the event, for value-based
425
+ # conversions.
426
+ # Corresponds to the JSON property `conversionValue`
427
+ # @return [Float]
428
+ attr_accessor :conversion_value
429
+
430
+ # Optional. The currency code associated with all monetary values within this
431
+ # event.
432
+ # Corresponds to the JSON property `currency`
433
+ # @return [String]
434
+ attr_accessor :currency
435
+
436
+ # Optional. Additional key/value pair information to send to the conversion
437
+ # containers (conversion action or FL activity).
438
+ # Corresponds to the JSON property `customVariables`
439
+ # @return [Array<Google::Apis::DatamanagerV1::CustomVariable>]
440
+ attr_accessor :custom_variables
441
+
442
+ # Optional. Reference string used to determine the destination. If empty, the
443
+ # event will be sent to all destinations in the request.
444
+ # Corresponds to the JSON property `destinationReferences`
445
+ # @return [Array<String>]
446
+ attr_accessor :destination_references
447
+
448
+ # Information about the device being used (if any) when the event happened.
449
+ # Corresponds to the JSON property `eventDeviceInfo`
450
+ # @return [Google::Apis::DatamanagerV1::DeviceInfo]
451
+ attr_accessor :event_device_info
452
+
453
+ # Optional. Signal for where the event happened (web, app, in-store, etc.).
454
+ # Corresponds to the JSON property `eventSource`
455
+ # @return [String]
456
+ attr_accessor :event_source
457
+
458
+ # Required. The time the event occurred.
459
+ # Corresponds to the JSON property `eventTimestamp`
460
+ # @return [String]
461
+ attr_accessor :event_timestamp
462
+
463
+ # Optional. A list of key/value pairs for experimental fields that may
464
+ # eventually be promoted to be part of the API.
465
+ # Corresponds to the JSON property `experimentalFields`
466
+ # @return [Array<Google::Apis::DatamanagerV1::ExperimentalField>]
467
+ attr_accessor :experimental_fields
468
+
469
+ # Optional. The last time the event was updated.
470
+ # Corresponds to the JSON property `lastUpdatedTimestamp`
471
+ # @return [String]
472
+ attr_accessor :last_updated_timestamp
473
+
474
+ # Optional. The unique identifier for this event. Required for conversions using
475
+ # multiple data sources.
476
+ # Corresponds to the JSON property `transactionId`
477
+ # @return [String]
478
+ attr_accessor :transaction_id
479
+
480
+ # Data that identifies the user. At least one identifier is required.
481
+ # Corresponds to the JSON property `userData`
482
+ # @return [Google::Apis::DatamanagerV1::UserData]
483
+ attr_accessor :user_data
484
+
485
+ # Advertiser-assessed information about the user at the time that the event
486
+ # happened. See https://support.google.com/google-ads/answer/14007601 for more
487
+ # details.
488
+ # Corresponds to the JSON property `userProperties`
489
+ # @return [Google::Apis::DatamanagerV1::UserProperties]
490
+ attr_accessor :user_properties
491
+
492
+ def initialize(**args)
493
+ update!(**args)
494
+ end
495
+
496
+ # Update properties of this object
497
+ def update!(**args)
498
+ @ad_identifiers = args[:ad_identifiers] if args.key?(:ad_identifiers)
499
+ @cart_data = args[:cart_data] if args.key?(:cart_data)
500
+ @consent = args[:consent] if args.key?(:consent)
501
+ @conversion_value = args[:conversion_value] if args.key?(:conversion_value)
502
+ @currency = args[:currency] if args.key?(:currency)
503
+ @custom_variables = args[:custom_variables] if args.key?(:custom_variables)
504
+ @destination_references = args[:destination_references] if args.key?(:destination_references)
505
+ @event_device_info = args[:event_device_info] if args.key?(:event_device_info)
506
+ @event_source = args[:event_source] if args.key?(:event_source)
507
+ @event_timestamp = args[:event_timestamp] if args.key?(:event_timestamp)
508
+ @experimental_fields = args[:experimental_fields] if args.key?(:experimental_fields)
509
+ @last_updated_timestamp = args[:last_updated_timestamp] if args.key?(:last_updated_timestamp)
510
+ @transaction_id = args[:transaction_id] if args.key?(:transaction_id)
511
+ @user_data = args[:user_data] if args.key?(:user_data)
512
+ @user_properties = args[:user_properties] if args.key?(:user_properties)
513
+ end
514
+ end
515
+
516
+ # Experimental field representing unofficial fields.
517
+ class ExperimentalField
518
+ include Google::Apis::Core::Hashable
519
+
520
+ # Optional. The name of the field to use.
521
+ # Corresponds to the JSON property `field`
522
+ # @return [String]
523
+ attr_accessor :field
524
+
525
+ # Optional. The value the field to set.
526
+ # Corresponds to the JSON property `value`
527
+ # @return [String]
528
+ attr_accessor :value
529
+
530
+ def initialize(**args)
531
+ update!(**args)
532
+ end
533
+
534
+ # Update properties of this object
535
+ def update!(**args)
536
+ @field = args[:field] if args.key?(:field)
537
+ @value = args[:value] if args.key?(:value)
538
+ end
539
+ end
540
+
541
+ # Information about the Google Cloud Platform wrapped key.
542
+ class GcpWrappedKeyInfo
543
+ include Google::Apis::Core::Hashable
544
+
545
+ # Required. The base64 encoded encrypted data encryption key.
546
+ # Corresponds to the JSON property `encryptedDek`
547
+ # @return [String]
548
+ attr_accessor :encrypted_dek
549
+
550
+ # Required. Google Cloud Platform [Cloud Key Management Service resource ID](//
551
+ # cloud.google.com/kms/docs/getting-resource-ids). Should be in the format of "
552
+ # projects/`project`/locations/`location`/keyRings/`key_ring`/cryptoKeys/`key`".
553
+ # Corresponds to the JSON property `kekUri`
554
+ # @return [String]
555
+ attr_accessor :kek_uri
556
+
557
+ # Required. The type of algorithm used to encrypt the data.
558
+ # Corresponds to the JSON property `keyType`
559
+ # @return [String]
560
+ attr_accessor :key_type
561
+
562
+ # Required. The [Workload Identity](//cloud.google.com/iam/docs/workload-
563
+ # identity-federation) pool provider required to use KEK.
564
+ # Corresponds to the JSON property `wipProvider`
565
+ # @return [String]
566
+ attr_accessor :wip_provider
567
+
568
+ def initialize(**args)
569
+ update!(**args)
570
+ end
571
+
572
+ # Update properties of this object
573
+ def update!(**args)
574
+ @encrypted_dek = args[:encrypted_dek] if args.key?(:encrypted_dek)
575
+ @kek_uri = args[:kek_uri] if args.key?(:kek_uri)
576
+ @key_type = args[:key_type] if args.key?(:key_type)
577
+ @wip_provider = args[:wip_provider] if args.key?(:wip_provider)
578
+ end
579
+ end
580
+
581
+ # Request to upload audience members to the provided destinations. Returns an
582
+ # IngestAudienceMembersResponse.
583
+ class IngestAudienceMembersRequest
584
+ include Google::Apis::Core::Hashable
585
+
586
+ # Required. The list of users to send to the specified destinations. At most
587
+ # 10000 AudienceMember resources can be sent in a single request.
588
+ # Corresponds to the JSON property `audienceMembers`
589
+ # @return [Array<Google::Apis::DatamanagerV1::AudienceMember>]
590
+ attr_accessor :audience_members
591
+
592
+ # [Digital Markets Act (DMA)](//digital-markets-act.ec.europa.eu/index_en)
593
+ # consent settings for the user.
594
+ # Corresponds to the JSON property `consent`
595
+ # @return [Google::Apis::DatamanagerV1::Consent]
596
+ attr_accessor :consent
597
+
598
+ # Required. The list of destinations to send the audience members to.
599
+ # Corresponds to the JSON property `destinations`
600
+ # @return [Array<Google::Apis::DatamanagerV1::Destination>]
601
+ attr_accessor :destinations
602
+
603
+ # Optional. Required for UserData uploads. The encoding type of the user
604
+ # identifiers. For hashed user identifiers, this is the encoding type of the
605
+ # hashed string. For encrypted hashed user identifiers, this is the encoding
606
+ # type of the outer encrypted string, but not necessarily the inner hashed
607
+ # string, meaning the inner hashed string could be encoded in a different way
608
+ # than the outer encrypted string. For non `UserData` uploads, this field is
609
+ # ignored.
610
+ # Corresponds to the JSON property `encoding`
611
+ # @return [String]
612
+ attr_accessor :encoding
613
+
614
+ # Encryption information for the data being ingested.
615
+ # Corresponds to the JSON property `encryptionInfo`
616
+ # @return [Google::Apis::DatamanagerV1::EncryptionInfo]
617
+ attr_accessor :encryption_info
618
+
619
+ # The terms of service that the user has accepted/rejected.
620
+ # Corresponds to the JSON property `termsOfService`
621
+ # @return [Google::Apis::DatamanagerV1::TermsOfService]
622
+ attr_accessor :terms_of_service
623
+
624
+ # Optional. For testing purposes. If `true`, the request is validated but not
625
+ # executed. Only errors are returned, not results.
626
+ # Corresponds to the JSON property `validateOnly`
627
+ # @return [Boolean]
628
+ attr_accessor :validate_only
629
+ alias_method :validate_only?, :validate_only
630
+
631
+ def initialize(**args)
632
+ update!(**args)
633
+ end
634
+
635
+ # Update properties of this object
636
+ def update!(**args)
637
+ @audience_members = args[:audience_members] if args.key?(:audience_members)
638
+ @consent = args[:consent] if args.key?(:consent)
639
+ @destinations = args[:destinations] if args.key?(:destinations)
640
+ @encoding = args[:encoding] if args.key?(:encoding)
641
+ @encryption_info = args[:encryption_info] if args.key?(:encryption_info)
642
+ @terms_of_service = args[:terms_of_service] if args.key?(:terms_of_service)
643
+ @validate_only = args[:validate_only] if args.key?(:validate_only)
644
+ end
645
+ end
646
+
647
+ # Response from the IngestAudienceMembersRequest.
648
+ class IngestAudienceMembersResponse
649
+ include Google::Apis::Core::Hashable
650
+
651
+ # The auto-generated ID of the request.
652
+ # Corresponds to the JSON property `requestId`
653
+ # @return [String]
654
+ attr_accessor :request_id
655
+
656
+ def initialize(**args)
657
+ update!(**args)
658
+ end
659
+
660
+ # Update properties of this object
661
+ def update!(**args)
662
+ @request_id = args[:request_id] if args.key?(:request_id)
663
+ end
664
+ end
665
+
666
+ # The status of the ingest audience members request.
667
+ class IngestAudienceMembersStatus
668
+ include Google::Apis::Core::Hashable
669
+
670
+ # The status of the mobile data ingestion to the destination containing stats
671
+ # related to the ingestion.
672
+ # Corresponds to the JSON property `mobileDataIngestionStatus`
673
+ # @return [Google::Apis::DatamanagerV1::IngestMobileDataStatus]
674
+ attr_accessor :mobile_data_ingestion_status
675
+
676
+ # The status of the pair data ingestion to the destination containing stats
677
+ # related to the ingestion.
678
+ # Corresponds to the JSON property `pairDataIngestionStatus`
679
+ # @return [Google::Apis::DatamanagerV1::IngestPairDataStatus]
680
+ attr_accessor :pair_data_ingestion_status
681
+
682
+ # The status of the user data ingestion to the destination containing stats
683
+ # related to the ingestion.
684
+ # Corresponds to the JSON property `userDataIngestionStatus`
685
+ # @return [Google::Apis::DatamanagerV1::IngestUserDataStatus]
686
+ attr_accessor :user_data_ingestion_status
687
+
688
+ def initialize(**args)
689
+ update!(**args)
690
+ end
691
+
692
+ # Update properties of this object
693
+ def update!(**args)
694
+ @mobile_data_ingestion_status = args[:mobile_data_ingestion_status] if args.key?(:mobile_data_ingestion_status)
695
+ @pair_data_ingestion_status = args[:pair_data_ingestion_status] if args.key?(:pair_data_ingestion_status)
696
+ @user_data_ingestion_status = args[:user_data_ingestion_status] if args.key?(:user_data_ingestion_status)
697
+ end
698
+ end
699
+
700
+ # Request to upload audience members to the provided destinations. Returns an
701
+ # IngestEventsResponse.
702
+ class IngestEventsRequest
703
+ include Google::Apis::Core::Hashable
704
+
705
+ # [Digital Markets Act (DMA)](//digital-markets-act.ec.europa.eu/index_en)
706
+ # consent settings for the user.
707
+ # Corresponds to the JSON property `consent`
708
+ # @return [Google::Apis::DatamanagerV1::Consent]
709
+ attr_accessor :consent
710
+
711
+ # Required. The list of destinations to send the events to.
712
+ # Corresponds to the JSON property `destinations`
713
+ # @return [Array<Google::Apis::DatamanagerV1::Destination>]
714
+ attr_accessor :destinations
715
+
716
+ # Optional. Required for UserData uploads. The encoding type of the user
717
+ # identifiers. For hashed user identifiers, this is the encoding type of the
718
+ # hashed string. For encrypted hashed user identifiers, this is the encoding
719
+ # type of the outer encrypted string, but not necessarily the inner hashed
720
+ # string, meaning the inner hashed string could be encoded in a different way
721
+ # than the outer encrypted string. For non `UserData` uploads, this field is
722
+ # ignored.
723
+ # Corresponds to the JSON property `encoding`
724
+ # @return [String]
725
+ attr_accessor :encoding
726
+
727
+ # Encryption information for the data being ingested.
728
+ # Corresponds to the JSON property `encryptionInfo`
729
+ # @return [Google::Apis::DatamanagerV1::EncryptionInfo]
730
+ attr_accessor :encryption_info
731
+
732
+ # Required. The list of events to send to the specified destinations. At most
733
+ # 2000 Event resources can be sent in a single request.
734
+ # Corresponds to the JSON property `events`
735
+ # @return [Array<Google::Apis::DatamanagerV1::Event>]
736
+ attr_accessor :events
737
+
738
+ # Optional. For testing purposes. If `true`, the request is validated but not
739
+ # executed. Only errors are returned, not results.
740
+ # Corresponds to the JSON property `validateOnly`
741
+ # @return [Boolean]
742
+ attr_accessor :validate_only
743
+ alias_method :validate_only?, :validate_only
744
+
745
+ def initialize(**args)
746
+ update!(**args)
747
+ end
748
+
749
+ # Update properties of this object
750
+ def update!(**args)
751
+ @consent = args[:consent] if args.key?(:consent)
752
+ @destinations = args[:destinations] if args.key?(:destinations)
753
+ @encoding = args[:encoding] if args.key?(:encoding)
754
+ @encryption_info = args[:encryption_info] if args.key?(:encryption_info)
755
+ @events = args[:events] if args.key?(:events)
756
+ @validate_only = args[:validate_only] if args.key?(:validate_only)
757
+ end
758
+ end
759
+
760
+ # Response from the IngestEventsRequest.
761
+ class IngestEventsResponse
762
+ include Google::Apis::Core::Hashable
763
+
764
+ # The auto-generated ID of the request.
765
+ # Corresponds to the JSON property `requestId`
766
+ # @return [String]
767
+ attr_accessor :request_id
768
+
769
+ def initialize(**args)
770
+ update!(**args)
771
+ end
772
+
773
+ # Update properties of this object
774
+ def update!(**args)
775
+ @request_id = args[:request_id] if args.key?(:request_id)
776
+ end
777
+ end
778
+
779
+ # The status of the events ingestion to the destination.
780
+ class IngestEventsStatus
781
+ include Google::Apis::Core::Hashable
782
+
783
+ # The total count of events sent in the upload request. Includes all events in
784
+ # the request, regardless of whether they were successfully ingested or not.
785
+ # Corresponds to the JSON property `recordCount`
786
+ # @return [Fixnum]
787
+ attr_accessor :record_count
788
+
789
+ def initialize(**args)
790
+ update!(**args)
791
+ end
792
+
793
+ # Update properties of this object
794
+ def update!(**args)
795
+ @record_count = args[:record_count] if args.key?(:record_count)
796
+ end
797
+ end
798
+
799
+ # The status of the mobile data ingestion to the destination containing stats
800
+ # related to the ingestion.
801
+ class IngestMobileDataStatus
802
+ include Google::Apis::Core::Hashable
803
+
804
+ # The total count of mobile ids sent in the upload request for the destination.
805
+ # Includes all mobile ids in the request, regardless of whether they were
806
+ # successfully ingested or not.
807
+ # Corresponds to the JSON property `mobileIdCount`
808
+ # @return [Fixnum]
809
+ attr_accessor :mobile_id_count
810
+
811
+ # The total count of audience members sent in the upload request for the
812
+ # destination. Includes all audience members in the request, regardless of
813
+ # whether they were successfully ingested or not.
814
+ # Corresponds to the JSON property `recordCount`
815
+ # @return [Fixnum]
816
+ attr_accessor :record_count
817
+
818
+ def initialize(**args)
819
+ update!(**args)
820
+ end
821
+
822
+ # Update properties of this object
823
+ def update!(**args)
824
+ @mobile_id_count = args[:mobile_id_count] if args.key?(:mobile_id_count)
825
+ @record_count = args[:record_count] if args.key?(:record_count)
826
+ end
827
+ end
828
+
829
+ # The status of the pair data ingestion to the destination containing stats
830
+ # related to the ingestion.
831
+ class IngestPairDataStatus
832
+ include Google::Apis::Core::Hashable
833
+
834
+ # The total count of pair ids sent in the upload request for the destination.
835
+ # Includes all pair ids in the request, regardless of whether they were
836
+ # successfully ingested or not.
837
+ # Corresponds to the JSON property `pairIdCount`
838
+ # @return [Fixnum]
839
+ attr_accessor :pair_id_count
840
+
841
+ # The total count of audience members sent in the upload request for the
842
+ # destination. Includes all audience members in the request, regardless of
843
+ # whether they were successfully ingested or not.
844
+ # Corresponds to the JSON property `recordCount`
845
+ # @return [Fixnum]
846
+ attr_accessor :record_count
847
+
848
+ def initialize(**args)
849
+ update!(**args)
850
+ end
851
+
852
+ # Update properties of this object
853
+ def update!(**args)
854
+ @pair_id_count = args[:pair_id_count] if args.key?(:pair_id_count)
855
+ @record_count = args[:record_count] if args.key?(:record_count)
856
+ end
857
+ end
858
+
859
+ # The status of the user data ingestion to the destination containing stats
860
+ # related to the ingestion.
861
+ class IngestUserDataStatus
862
+ include Google::Apis::Core::Hashable
863
+
864
+ # The total count of audience members sent in the upload request for the
865
+ # destination. Includes all audience members in the request, regardless of
866
+ # whether they were successfully ingested or not.
867
+ # Corresponds to the JSON property `recordCount`
868
+ # @return [Fixnum]
869
+ attr_accessor :record_count
870
+
871
+ # The match rate range of the upload.
872
+ # Corresponds to the JSON property `uploadMatchRateRange`
873
+ # @return [String]
874
+ attr_accessor :upload_match_rate_range
875
+
876
+ # The total count of user identifiers sent in the upload request for the
877
+ # destination. Includes all user identifiers in the request, regardless of
878
+ # whether they were successfully ingested or not.
879
+ # Corresponds to the JSON property `userIdentifierCount`
880
+ # @return [Fixnum]
881
+ attr_accessor :user_identifier_count
882
+
883
+ def initialize(**args)
884
+ update!(**args)
885
+ end
886
+
887
+ # Update properties of this object
888
+ def update!(**args)
889
+ @record_count = args[:record_count] if args.key?(:record_count)
890
+ @upload_match_rate_range = args[:upload_match_rate_range] if args.key?(:upload_match_rate_range)
891
+ @user_identifier_count = args[:user_identifier_count] if args.key?(:user_identifier_count)
892
+ end
893
+ end
894
+
895
+ # Represents an item in the cart associated with the event.
896
+ class Item
897
+ include Google::Apis::Core::Hashable
898
+
899
+ # Optional. The product ID within the Merchant Center account.
900
+ # Corresponds to the JSON property `merchantProductId`
901
+ # @return [String]
902
+ attr_accessor :merchant_product_id
903
+
904
+ # Optional. The number of this item associated with the event.
905
+ # Corresponds to the JSON property `quantity`
906
+ # @return [Fixnum]
907
+ attr_accessor :quantity
908
+
909
+ # Optional. The unit price excluding tax, shipping, and any transaction level
910
+ # discounts.
911
+ # Corresponds to the JSON property `unitPrice`
912
+ # @return [Float]
913
+ attr_accessor :unit_price
914
+
915
+ def initialize(**args)
916
+ update!(**args)
917
+ end
918
+
919
+ # Update properties of this object
920
+ def update!(**args)
921
+ @merchant_product_id = args[:merchant_product_id] if args.key?(:merchant_product_id)
922
+ @quantity = args[:quantity] if args.key?(:quantity)
923
+ @unit_price = args[:unit_price] if args.key?(:unit_price)
924
+ end
925
+ end
926
+
927
+ # Mobile IDs for the audience. At least one mobile ID is required.
928
+ class MobileData
929
+ include Google::Apis::Core::Hashable
930
+
931
+ # Required. The list of mobile device IDs (advertising ID/IDFA). At most 10 `
932
+ # mobileIds` can be provided in a single AudienceMember.
933
+ # Corresponds to the JSON property `mobileIds`
934
+ # @return [Array<String>]
935
+ attr_accessor :mobile_ids
936
+
937
+ def initialize(**args)
938
+ update!(**args)
939
+ end
940
+
941
+ # Update properties of this object
942
+ def update!(**args)
943
+ @mobile_ids = args[:mobile_ids] if args.key?(:mobile_ids)
944
+ end
945
+ end
946
+
947
+ # [PAIR](//support.google.com/admanager/answer/15067908) IDs for the audience.
948
+ # At least one PAIR ID is required.
949
+ class PairData
950
+ include Google::Apis::Core::Hashable
951
+
952
+ # Required. Cleanroom-provided PII data, hashed with SHA256, and encrypted with
953
+ # an EC commutative cipher using publisher key for the [PAIR]((//support.google.
954
+ # com/admanager/answer/15067908)) user list. At most 10 `pairIds` can be
955
+ # provided in a single AudienceMember.
956
+ # Corresponds to the JSON property `pairIds`
957
+ # @return [Array<String>]
958
+ attr_accessor :pair_ids
959
+
960
+ def initialize(**args)
961
+ update!(**args)
962
+ end
963
+
964
+ # Update properties of this object
965
+ def update!(**args)
966
+ @pair_ids = args[:pair_ids] if args.key?(:pair_ids)
967
+ end
968
+ end
969
+
970
+ # Represents a specific account.
971
+ class ProductAccount
972
+ include Google::Apis::Core::Hashable
973
+
974
+ # Required. The ID of the account. For example, your Google Ads account ID.
975
+ # Corresponds to the JSON property `accountId`
976
+ # @return [String]
977
+ attr_accessor :account_id
978
+
979
+ # Optional. The type of the account. For example, `GOOGLE_ADS`. Either `
980
+ # account_type` or the deprecated `product` is required. If both are set, the
981
+ # values must match.
982
+ # Corresponds to the JSON property `accountType`
983
+ # @return [String]
984
+ attr_accessor :account_type
985
+
986
+ # Deprecated. Use `account_type` instead.
987
+ # Corresponds to the JSON property `product`
988
+ # @return [String]
989
+ attr_accessor :product
990
+
991
+ def initialize(**args)
992
+ update!(**args)
993
+ end
994
+
995
+ # Update properties of this object
996
+ def update!(**args)
997
+ @account_id = args[:account_id] if args.key?(:account_id)
998
+ @account_type = args[:account_type] if args.key?(:account_type)
999
+ @product = args[:product] if args.key?(:product)
1000
+ end
1001
+ end
1002
+
1003
+ # Request to remove users from an audience in the provided destinations. Returns
1004
+ # a RemoveAudienceMembersResponse.
1005
+ class RemoveAudienceMembersRequest
1006
+ include Google::Apis::Core::Hashable
1007
+
1008
+ # Required. The list of users to remove.
1009
+ # Corresponds to the JSON property `audienceMembers`
1010
+ # @return [Array<Google::Apis::DatamanagerV1::AudienceMember>]
1011
+ attr_accessor :audience_members
1012
+
1013
+ # Required. The list of destinations to remove the users from.
1014
+ # Corresponds to the JSON property `destinations`
1015
+ # @return [Array<Google::Apis::DatamanagerV1::Destination>]
1016
+ attr_accessor :destinations
1017
+
1018
+ # Optional. Required for UserData uploads. The encoding type of the user
1019
+ # identifiers. Applies to only the outer encoding for encrypted user identifiers.
1020
+ # For non `UserData` uploads, this field is ignored.
1021
+ # Corresponds to the JSON property `encoding`
1022
+ # @return [String]
1023
+ attr_accessor :encoding
1024
+
1025
+ # Encryption information for the data being ingested.
1026
+ # Corresponds to the JSON property `encryptionInfo`
1027
+ # @return [Google::Apis::DatamanagerV1::EncryptionInfo]
1028
+ attr_accessor :encryption_info
1029
+
1030
+ # Optional. For testing purposes. If `true`, the request is validated but not
1031
+ # executed. Only errors are returned, not results.
1032
+ # Corresponds to the JSON property `validateOnly`
1033
+ # @return [Boolean]
1034
+ attr_accessor :validate_only
1035
+ alias_method :validate_only?, :validate_only
1036
+
1037
+ def initialize(**args)
1038
+ update!(**args)
1039
+ end
1040
+
1041
+ # Update properties of this object
1042
+ def update!(**args)
1043
+ @audience_members = args[:audience_members] if args.key?(:audience_members)
1044
+ @destinations = args[:destinations] if args.key?(:destinations)
1045
+ @encoding = args[:encoding] if args.key?(:encoding)
1046
+ @encryption_info = args[:encryption_info] if args.key?(:encryption_info)
1047
+ @validate_only = args[:validate_only] if args.key?(:validate_only)
1048
+ end
1049
+ end
1050
+
1051
+ # Response from the RemoveAudienceMembersRequest.
1052
+ class RemoveAudienceMembersResponse
1053
+ include Google::Apis::Core::Hashable
1054
+
1055
+ # The auto-generated ID of the request.
1056
+ # Corresponds to the JSON property `requestId`
1057
+ # @return [String]
1058
+ attr_accessor :request_id
1059
+
1060
+ def initialize(**args)
1061
+ update!(**args)
1062
+ end
1063
+
1064
+ # Update properties of this object
1065
+ def update!(**args)
1066
+ @request_id = args[:request_id] if args.key?(:request_id)
1067
+ end
1068
+ end
1069
+
1070
+ # The status of the remove audience members request.
1071
+ class RemoveAudienceMembersStatus
1072
+ include Google::Apis::Core::Hashable
1073
+
1074
+ # The status of the mobile data removal from the destination.
1075
+ # Corresponds to the JSON property `mobileDataRemovalStatus`
1076
+ # @return [Google::Apis::DatamanagerV1::RemoveMobileDataStatus]
1077
+ attr_accessor :mobile_data_removal_status
1078
+
1079
+ # The status of the pair data removal from the destination.
1080
+ # Corresponds to the JSON property `pairDataRemovalStatus`
1081
+ # @return [Google::Apis::DatamanagerV1::RemovePairDataStatus]
1082
+ attr_accessor :pair_data_removal_status
1083
+
1084
+ # The status of the user data removal from the destination.
1085
+ # Corresponds to the JSON property `userDataRemovalStatus`
1086
+ # @return [Google::Apis::DatamanagerV1::RemoveUserDataStatus]
1087
+ attr_accessor :user_data_removal_status
1088
+
1089
+ def initialize(**args)
1090
+ update!(**args)
1091
+ end
1092
+
1093
+ # Update properties of this object
1094
+ def update!(**args)
1095
+ @mobile_data_removal_status = args[:mobile_data_removal_status] if args.key?(:mobile_data_removal_status)
1096
+ @pair_data_removal_status = args[:pair_data_removal_status] if args.key?(:pair_data_removal_status)
1097
+ @user_data_removal_status = args[:user_data_removal_status] if args.key?(:user_data_removal_status)
1098
+ end
1099
+ end
1100
+
1101
+ # The status of the mobile data removal from the destination.
1102
+ class RemoveMobileDataStatus
1103
+ include Google::Apis::Core::Hashable
1104
+
1105
+ # The total count of mobile Ids sent in the removal request. Includes all mobile
1106
+ # ids in the request, regardless of whether they were successfully removed or
1107
+ # not.
1108
+ # Corresponds to the JSON property `mobileIdCount`
1109
+ # @return [Fixnum]
1110
+ attr_accessor :mobile_id_count
1111
+
1112
+ # The total count of audience members sent in the removal request. Includes all
1113
+ # audience members in the request, regardless of whether they were successfully
1114
+ # removed or not.
1115
+ # Corresponds to the JSON property `recordCount`
1116
+ # @return [Fixnum]
1117
+ attr_accessor :record_count
1118
+
1119
+ def initialize(**args)
1120
+ update!(**args)
1121
+ end
1122
+
1123
+ # Update properties of this object
1124
+ def update!(**args)
1125
+ @mobile_id_count = args[:mobile_id_count] if args.key?(:mobile_id_count)
1126
+ @record_count = args[:record_count] if args.key?(:record_count)
1127
+ end
1128
+ end
1129
+
1130
+ # The status of the pair data removal from the destination.
1131
+ class RemovePairDataStatus
1132
+ include Google::Apis::Core::Hashable
1133
+
1134
+ # The total count of pair ids sent in the removal request. Includes all pair ids
1135
+ # in the request, regardless of whether they were successfully removed or not.
1136
+ # Corresponds to the JSON property `pairIdCount`
1137
+ # @return [Fixnum]
1138
+ attr_accessor :pair_id_count
1139
+
1140
+ # The total count of audience members sent in the removal request. Includes all
1141
+ # audience members in the request, regardless of whether they were successfully
1142
+ # removed or not.
1143
+ # Corresponds to the JSON property `recordCount`
1144
+ # @return [Fixnum]
1145
+ attr_accessor :record_count
1146
+
1147
+ def initialize(**args)
1148
+ update!(**args)
1149
+ end
1150
+
1151
+ # Update properties of this object
1152
+ def update!(**args)
1153
+ @pair_id_count = args[:pair_id_count] if args.key?(:pair_id_count)
1154
+ @record_count = args[:record_count] if args.key?(:record_count)
1155
+ end
1156
+ end
1157
+
1158
+ # The status of the user data removal from the destination.
1159
+ class RemoveUserDataStatus
1160
+ include Google::Apis::Core::Hashable
1161
+
1162
+ # The total count of audience members sent in the removal request. Includes all
1163
+ # audience members in the request, regardless of whether they were successfully
1164
+ # removed or not.
1165
+ # Corresponds to the JSON property `recordCount`
1166
+ # @return [Fixnum]
1167
+ attr_accessor :record_count
1168
+
1169
+ # The total count of user identifiers sent in the removal request. Includes all
1170
+ # user identifiers in the request, regardless of whether they were successfully
1171
+ # removed or not.
1172
+ # Corresponds to the JSON property `userIdentifierCount`
1173
+ # @return [Fixnum]
1174
+ attr_accessor :user_identifier_count
1175
+
1176
+ def initialize(**args)
1177
+ update!(**args)
1178
+ end
1179
+
1180
+ # Update properties of this object
1181
+ def update!(**args)
1182
+ @record_count = args[:record_count] if args.key?(:record_count)
1183
+ @user_identifier_count = args[:user_identifier_count] if args.key?(:user_identifier_count)
1184
+ end
1185
+ end
1186
+
1187
+ # A request status per destination.
1188
+ class RequestStatusPerDestination
1189
+ include Google::Apis::Core::Hashable
1190
+
1191
+ # The status of the ingest audience members request.
1192
+ # Corresponds to the JSON property `audienceMembersIngestionStatus`
1193
+ # @return [Google::Apis::DatamanagerV1::IngestAudienceMembersStatus]
1194
+ attr_accessor :audience_members_ingestion_status
1195
+
1196
+ # The status of the remove audience members request.
1197
+ # Corresponds to the JSON property `audienceMembersRemovalStatus`
1198
+ # @return [Google::Apis::DatamanagerV1::RemoveAudienceMembersStatus]
1199
+ attr_accessor :audience_members_removal_status
1200
+
1201
+ # The Google product you're sending data to. For example, a Google Ads account.
1202
+ # Corresponds to the JSON property `destination`
1203
+ # @return [Google::Apis::DatamanagerV1::Destination]
1204
+ attr_accessor :destination
1205
+
1206
+ # Error counts for each type of error.
1207
+ # Corresponds to the JSON property `errorInfo`
1208
+ # @return [Google::Apis::DatamanagerV1::ErrorInfo]
1209
+ attr_accessor :error_info
1210
+
1211
+ # The status of the events ingestion to the destination.
1212
+ # Corresponds to the JSON property `eventsIngestionStatus`
1213
+ # @return [Google::Apis::DatamanagerV1::IngestEventsStatus]
1214
+ attr_accessor :events_ingestion_status
1215
+
1216
+ # The request status of the destination.
1217
+ # Corresponds to the JSON property `requestStatus`
1218
+ # @return [String]
1219
+ attr_accessor :request_status
1220
+
1221
+ # Warning counts for each type of warning.
1222
+ # Corresponds to the JSON property `warningInfo`
1223
+ # @return [Google::Apis::DatamanagerV1::WarningInfo]
1224
+ attr_accessor :warning_info
1225
+
1226
+ def initialize(**args)
1227
+ update!(**args)
1228
+ end
1229
+
1230
+ # Update properties of this object
1231
+ def update!(**args)
1232
+ @audience_members_ingestion_status = args[:audience_members_ingestion_status] if args.key?(:audience_members_ingestion_status)
1233
+ @audience_members_removal_status = args[:audience_members_removal_status] if args.key?(:audience_members_removal_status)
1234
+ @destination = args[:destination] if args.key?(:destination)
1235
+ @error_info = args[:error_info] if args.key?(:error_info)
1236
+ @events_ingestion_status = args[:events_ingestion_status] if args.key?(:events_ingestion_status)
1237
+ @request_status = args[:request_status] if args.key?(:request_status)
1238
+ @warning_info = args[:warning_info] if args.key?(:warning_info)
1239
+ end
1240
+ end
1241
+
1242
+ # Response from the RetrieveRequestStatusRequest.
1243
+ class RetrieveRequestStatusResponse
1244
+ include Google::Apis::Core::Hashable
1245
+
1246
+ # A list of request statuses per destination. The order of the statuses matches
1247
+ # the order of the destinations in the original request.
1248
+ # Corresponds to the JSON property `requestStatusPerDestination`
1249
+ # @return [Array<Google::Apis::DatamanagerV1::RequestStatusPerDestination>]
1250
+ attr_accessor :request_status_per_destination
1251
+
1252
+ def initialize(**args)
1253
+ update!(**args)
1254
+ end
1255
+
1256
+ # Update properties of this object
1257
+ def update!(**args)
1258
+ @request_status_per_destination = args[:request_status_per_destination] if args.key?(:request_status_per_destination)
1259
+ end
1260
+ end
1261
+
1262
+ # The terms of service that the user has accepted/rejected.
1263
+ class TermsOfService
1264
+ include Google::Apis::Core::Hashable
1265
+
1266
+ # Optional. The Customer Match terms of service: https://support.google.com/
1267
+ # adspolicy/answer/6299717. This must be accepted when ingesting UserData or
1268
+ # MobileData. This field is not required for Partner Match User list.
1269
+ # Corresponds to the JSON property `customerMatchTermsOfServiceStatus`
1270
+ # @return [String]
1271
+ attr_accessor :customer_match_terms_of_service_status
1272
+
1273
+ def initialize(**args)
1274
+ update!(**args)
1275
+ end
1276
+
1277
+ # Update properties of this object
1278
+ def update!(**args)
1279
+ @customer_match_terms_of_service_status = args[:customer_match_terms_of_service_status] if args.key?(:customer_match_terms_of_service_status)
1280
+ end
1281
+ end
1282
+
1283
+ # Data that identifies the user. At least one identifier is required.
1284
+ class UserData
1285
+ include Google::Apis::Core::Hashable
1286
+
1287
+ # Required. The identifiers for the user. It's possible to provide multiple
1288
+ # instances of the same type of data (for example, multiple email addresses). To
1289
+ # increase the likelihood of a match, provide as many identifiers as possible.
1290
+ # At most 10 `userIdentifiers` can be provided in a single AudienceMember or
1291
+ # Event.
1292
+ # Corresponds to the JSON property `userIdentifiers`
1293
+ # @return [Array<Google::Apis::DatamanagerV1::UserIdentifier>]
1294
+ attr_accessor :user_identifiers
1295
+
1296
+ def initialize(**args)
1297
+ update!(**args)
1298
+ end
1299
+
1300
+ # Update properties of this object
1301
+ def update!(**args)
1302
+ @user_identifiers = args[:user_identifiers] if args.key?(:user_identifiers)
1303
+ end
1304
+ end
1305
+
1306
+ # A single identifier for the user.
1307
+ class UserIdentifier
1308
+ include Google::Apis::Core::Hashable
1309
+
1310
+ # Address information for the user.
1311
+ # Corresponds to the JSON property `address`
1312
+ # @return [Google::Apis::DatamanagerV1::AddressInfo]
1313
+ attr_accessor :address
1314
+
1315
+ # Hashed email address using SHA-256 hash function after normalization.
1316
+ # Corresponds to the JSON property `emailAddress`
1317
+ # @return [String]
1318
+ attr_accessor :email_address
1319
+
1320
+ # Hashed phone number using SHA-256 hash function after normalization (E164
1321
+ # standard).
1322
+ # Corresponds to the JSON property `phoneNumber`
1323
+ # @return [String]
1324
+ attr_accessor :phone_number
1325
+
1326
+ def initialize(**args)
1327
+ update!(**args)
1328
+ end
1329
+
1330
+ # Update properties of this object
1331
+ def update!(**args)
1332
+ @address = args[:address] if args.key?(:address)
1333
+ @email_address = args[:email_address] if args.key?(:email_address)
1334
+ @phone_number = args[:phone_number] if args.key?(:phone_number)
1335
+ end
1336
+ end
1337
+
1338
+ # Advertiser-assessed information about the user at the time that the event
1339
+ # happened. See https://support.google.com/google-ads/answer/14007601 for more
1340
+ # details.
1341
+ class UserProperties
1342
+ include Google::Apis::Core::Hashable
1343
+
1344
+ # Optional. Type of the customer associated with the event.
1345
+ # Corresponds to the JSON property `customerType`
1346
+ # @return [String]
1347
+ attr_accessor :customer_type
1348
+
1349
+ # Optional. The advertiser-assessed value of the customer.
1350
+ # Corresponds to the JSON property `customerValueBucket`
1351
+ # @return [String]
1352
+ attr_accessor :customer_value_bucket
1353
+
1354
+ def initialize(**args)
1355
+ update!(**args)
1356
+ end
1357
+
1358
+ # Update properties of this object
1359
+ def update!(**args)
1360
+ @customer_type = args[:customer_type] if args.key?(:customer_type)
1361
+ @customer_value_bucket = args[:customer_value_bucket] if args.key?(:customer_value_bucket)
1362
+ end
1363
+ end
1364
+
1365
+ # The warning count for a given warning reason.
1366
+ class WarningCount
1367
+ include Google::Apis::Core::Hashable
1368
+
1369
+ # The warning reason.
1370
+ # Corresponds to the JSON property `reason`
1371
+ # @return [String]
1372
+ attr_accessor :reason
1373
+
1374
+ # The count of records that have a warning.
1375
+ # Corresponds to the JSON property `recordCount`
1376
+ # @return [Fixnum]
1377
+ attr_accessor :record_count
1378
+
1379
+ def initialize(**args)
1380
+ update!(**args)
1381
+ end
1382
+
1383
+ # Update properties of this object
1384
+ def update!(**args)
1385
+ @reason = args[:reason] if args.key?(:reason)
1386
+ @record_count = args[:record_count] if args.key?(:record_count)
1387
+ end
1388
+ end
1389
+
1390
+ # Warning counts for each type of warning.
1391
+ class WarningInfo
1392
+ include Google::Apis::Core::Hashable
1393
+
1394
+ # A list of warnings and counts per warning reason.
1395
+ # Corresponds to the JSON property `warningCounts`
1396
+ # @return [Array<Google::Apis::DatamanagerV1::WarningCount>]
1397
+ attr_accessor :warning_counts
1398
+
1399
+ def initialize(**args)
1400
+ update!(**args)
1401
+ end
1402
+
1403
+ # Update properties of this object
1404
+ def update!(**args)
1405
+ @warning_counts = args[:warning_counts] if args.key?(:warning_counts)
1406
+ end
1407
+ end
1408
+ end
1409
+ end
1410
+ end