google-ads-data_manager-v1 0.a → 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.
Files changed (55) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +154 -8
  5. data/lib/google/ads/data_manager/v1/ingestion_service/client.rb +787 -0
  6. data/lib/google/ads/data_manager/v1/ingestion_service/credentials.rb +47 -0
  7. data/lib/google/ads/data_manager/v1/ingestion_service/rest/client.rb +748 -0
  8. data/lib/google/ads/data_manager/v1/ingestion_service/rest/service_stub.rb +320 -0
  9. data/lib/google/ads/data_manager/v1/ingestion_service/rest.rb +51 -0
  10. data/lib/google/ads/data_manager/v1/ingestion_service.rb +54 -0
  11. data/lib/google/ads/data_manager/v1/rest.rb +37 -0
  12. data/lib/google/ads/data_manager/v1/version.rb +7 -2
  13. data/lib/google/ads/data_manager/v1.rb +45 -0
  14. data/lib/google/ads/datamanager/v1/audience_pb.rb +50 -0
  15. data/lib/google/ads/datamanager/v1/cart_data_pb.rb +45 -0
  16. data/lib/google/ads/datamanager/v1/consent_pb.rb +45 -0
  17. data/lib/google/ads/datamanager/v1/destination_pb.rb +47 -0
  18. data/lib/google/ads/datamanager/v1/device_info_pb.rb +44 -0
  19. data/lib/google/ads/datamanager/v1/encryption_info_pb.rb +46 -0
  20. data/lib/google/ads/datamanager/v1/error_pb.rb +42 -0
  21. data/lib/google/ads/datamanager/v1/event_pb.rb +61 -0
  22. data/lib/google/ads/datamanager/v1/experimental_field_pb.rb +44 -0
  23. data/lib/google/ads/datamanager/v1/ingestion_service_pb.rb +68 -0
  24. data/lib/google/ads/datamanager/v1/ingestion_service_services_pb.rb +57 -0
  25. data/lib/google/ads/datamanager/v1/match_rate_pb.rb +42 -0
  26. data/lib/google/ads/datamanager/v1/processing_errors_pb.rb +47 -0
  27. data/lib/google/ads/datamanager/v1/request_status_per_destination_pb.rb +58 -0
  28. data/lib/google/ads/datamanager/v1/terms_of_service_pb.rb +45 -0
  29. data/lib/google/ads/datamanager/v1/user_data_pb.rb +46 -0
  30. data/lib/google/ads/datamanager/v1/user_properties_pb.rb +46 -0
  31. data/lib/google-ads-data_manager-v1.rb +21 -0
  32. data/proto_docs/README.md +4 -0
  33. data/proto_docs/google/ads/datamanager/v1/audience.rb +81 -0
  34. data/proto_docs/google/ads/datamanager/v1/cart_data.rb +65 -0
  35. data/proto_docs/google/ads/datamanager/v1/consent.rb +52 -0
  36. data/proto_docs/google/ads/datamanager/v1/destination.rb +124 -0
  37. data/proto_docs/google/ads/datamanager/v1/device_info.rb +48 -0
  38. data/proto_docs/google/ads/datamanager/v1/encryption_info.rb +68 -0
  39. data/proto_docs/google/ads/datamanager/v1/error.rb +151 -0
  40. data/proto_docs/google/ads/datamanager/v1/event.rb +157 -0
  41. data/proto_docs/google/ads/datamanager/v1/experimental_field.rb +38 -0
  42. data/proto_docs/google/ads/datamanager/v1/ingestion_service.rb +201 -0
  43. data/proto_docs/google/ads/datamanager/v1/match_rate.rb +63 -0
  44. data/proto_docs/google/ads/datamanager/v1/processing_errors.rb +196 -0
  45. data/proto_docs/google/ads/datamanager/v1/request_status_per_destination.rb +234 -0
  46. data/proto_docs/google/ads/datamanager/v1/terms_of_service.rb +52 -0
  47. data/proto_docs/google/ads/datamanager/v1/user_data.rb +84 -0
  48. data/proto_docs/google/ads/datamanager/v1/user_properties.rb +70 -0
  49. data/proto_docs/google/api/client.rb +473 -0
  50. data/proto_docs/google/api/field_behavior.rb +85 -0
  51. data/proto_docs/google/api/launch_stage.rb +71 -0
  52. data/proto_docs/google/api/resource.rb +227 -0
  53. data/proto_docs/google/protobuf/duration.rb +98 -0
  54. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  55. metadata +88 -9
@@ -0,0 +1,196 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Ads
22
+ module DataManager
23
+ module V1
24
+ # Error counts for each type of error.
25
+ # @!attribute [rw] error_counts
26
+ # @return [::Array<::Google::Ads::DataManager::V1::ErrorCount>]
27
+ # A list of errors and counts per error reason. May not be populated
28
+ # in all cases.
29
+ class ErrorInfo
30
+ include ::Google::Protobuf::MessageExts
31
+ extend ::Google::Protobuf::MessageExts::ClassMethods
32
+ end
33
+
34
+ # The error count for a given error reason.
35
+ # @!attribute [rw] record_count
36
+ # @return [::Integer]
37
+ # The count of records that failed to upload for a given reason.
38
+ # @!attribute [rw] reason
39
+ # @return [::Google::Ads::DataManager::V1::ProcessingErrorReason]
40
+ # The error reason of the failed records.
41
+ class ErrorCount
42
+ include ::Google::Protobuf::MessageExts
43
+ extend ::Google::Protobuf::MessageExts::ClassMethods
44
+ end
45
+
46
+ # Warning counts for each type of warning.
47
+ # @!attribute [rw] warning_counts
48
+ # @return [::Array<::Google::Ads::DataManager::V1::WarningCount>]
49
+ # A list of warnings and counts per warning reason.
50
+ class WarningInfo
51
+ include ::Google::Protobuf::MessageExts
52
+ extend ::Google::Protobuf::MessageExts::ClassMethods
53
+ end
54
+
55
+ # The warning count for a given warning reason.
56
+ # @!attribute [rw] record_count
57
+ # @return [::Integer]
58
+ # The count of records that have a warning.
59
+ # @!attribute [rw] reason
60
+ # @return [::Google::Ads::DataManager::V1::ProcessingWarningReason]
61
+ # The warning reason.
62
+ class WarningCount
63
+ include ::Google::Protobuf::MessageExts
64
+ extend ::Google::Protobuf::MessageExts::ClassMethods
65
+ end
66
+
67
+ # The processing error reason.
68
+ module ProcessingErrorReason
69
+ # The processing error reason is unknown.
70
+ PROCESSING_ERROR_REASON_UNSPECIFIED = 0
71
+
72
+ # The custom variable is invalid.
73
+ PROCESSING_ERROR_REASON_INVALID_CUSTOM_VARIABLE = 1
74
+
75
+ # The status of the custom variable is not enabled.
76
+ PROCESSING_ERROR_REASON_CUSTOM_VARIABLE_NOT_ENABLED = 2
77
+
78
+ # The conversion is older than max supported age.
79
+ PROCESSING_ERROR_REASON_EVENT_TOO_OLD = 3
80
+
81
+ # The ad user data is denied, either by the user or in
82
+ # the advertiser default settings.
83
+ PROCESSING_ERROR_REASON_DENIED_CONSENT = 4
84
+
85
+ # Advertiser did not give 3P consent for the Ads core platform services.
86
+ PROCESSING_ERROR_REASON_NO_CONSENT = 5
87
+
88
+ # The overall consent (determined from row level consent, request level
89
+ # consent, and account settings) could not be determined for this user
90
+ PROCESSING_ERROR_REASON_UNKNOWN_CONSENT = 6
91
+
92
+ # A conversion with the same GCLID and conversion time already exists in
93
+ # the system.
94
+ PROCESSING_ERROR_REASON_DUPLICATE_GCLID = 7
95
+
96
+ # A conversion with the same order id and conversion action combination was
97
+ # already uploaded.
98
+ PROCESSING_ERROR_REASON_DUPLICATE_TRANSACTION_ID = 8
99
+
100
+ # The gbraid could not be decoded.
101
+ PROCESSING_ERROR_REASON_INVALID_GBRAID = 9
102
+
103
+ # The google click ID could not be decoded.
104
+ PROCESSING_ERROR_REASON_INVALID_GCLID = 10
105
+
106
+ # Merchant id contains non-digit characters.
107
+ PROCESSING_ERROR_REASON_INVALID_MERCHANT_ID = 11
108
+
109
+ # The wbraid could not be decoded.
110
+ PROCESSING_ERROR_REASON_INVALID_WBRAID = 12
111
+
112
+ # Internal error.
113
+ PROCESSING_ERROR_REASON_INTERNAL_ERROR = 13
114
+
115
+ # Enhanced conversions terms are not signed in the destination account.
116
+ PROCESSING_ERROR_REASON_DESTINATION_ACCOUNT_ENHANCED_CONVERSIONS_TERMS_NOT_SIGNED = 14
117
+
118
+ # The event is invalid.
119
+ PROCESSING_ERROR_REASON_INVALID_EVENT = 15
120
+
121
+ # The matched transactions are less than the minimum threshold.
122
+ PROCESSING_ERROR_REASON_INSUFFICIENT_MATCHED_TRANSACTIONS = 16
123
+
124
+ # The transactions are less than the minimum threshold.
125
+ PROCESSING_ERROR_REASON_INSUFFICIENT_TRANSACTIONS = 17
126
+
127
+ # The event has format error.
128
+ PROCESSING_ERROR_REASON_INVALID_FORMAT = 18
129
+
130
+ # The event has a decryption error.
131
+ PROCESSING_ERROR_REASON_DECRYPTION_ERROR = 19
132
+
133
+ # The DEK failed to be decrypted.
134
+ PROCESSING_ERROR_REASON_DEK_DECRYPTION_ERROR = 20
135
+
136
+ # The WIP is formatted incorrectly or the WIP does not exist.
137
+ PROCESSING_ERROR_REASON_INVALID_WIP = 21
138
+
139
+ # The KEK cannot decrypt data because it is the wrong KEK, or it does not
140
+ # exist.
141
+ PROCESSING_ERROR_REASON_INVALID_KEK = 22
142
+
143
+ # The WIP could not be used because it was rejected by its attestation
144
+ # condition.
145
+ PROCESSING_ERROR_REASON_WIP_AUTH_FAILED = 23
146
+
147
+ # The system did not have the permissions needed to access the KEK.
148
+ PROCESSING_ERROR_REASON_KEK_PERMISSION_DENIED = 24
149
+
150
+ # Failed to decrypt the
151
+ # {::Google::Ads::DataManager::V1::UserIdentifier UserIdentifier} data using the
152
+ # DEK.
153
+ PROCESSING_ERROR_REASON_USER_IDENTIFIER_DECRYPTION_ERROR = 25
154
+
155
+ # The user attempted to ingest events with an ad identifier that isn't
156
+ # from the operating account's ads.
157
+ PROCESSING_ERROR_OPERATING_ACCOUNT_MISMATCH_FOR_AD_IDENTIFIER = 26
158
+ end
159
+
160
+ # The processing warning reason.
161
+ module ProcessingWarningReason
162
+ # The processing warning reason is unknown.
163
+ PROCESSING_WARNING_REASON_UNSPECIFIED = 0
164
+
165
+ # The system did not have the permissions needed to access the KEK.
166
+ PROCESSING_WARNING_REASON_KEK_PERMISSION_DENIED = 1
167
+
168
+ # The DEK failed to be decrypted.
169
+ PROCESSING_WARNING_REASON_DEK_DECRYPTION_ERROR = 2
170
+
171
+ # The event has a decryption error.
172
+ PROCESSING_WARNING_REASON_DECRYPTION_ERROR = 3
173
+
174
+ # The WIP could not be used because it was rejected by its attestation
175
+ # condition.
176
+ PROCESSING_WARNING_REASON_WIP_AUTH_FAILED = 4
177
+
178
+ # The WIP is formatted incorrectly or the WIP does not exist.
179
+ PROCESSING_WARNING_REASON_INVALID_WIP = 5
180
+
181
+ # The KEK cannot decrypt data because it is the wrong KEK, or it does not
182
+ # exist.
183
+ PROCESSING_WARNING_REASON_INVALID_KEK = 6
184
+
185
+ # Failed to decrypt th
186
+ # {::Google::Ads::DataManager::V1::UserIdentifier UserIdentifier} data using the
187
+ # DEK.
188
+ PROCESSING_WARNING_REASON_USER_IDENTIFIER_DECRYPTION_ERROR = 7
189
+
190
+ # Internal error.
191
+ PROCESSING_WARNING_REASON_INTERNAL_ERROR = 8
192
+ end
193
+ end
194
+ end
195
+ end
196
+ end
@@ -0,0 +1,234 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Ads
22
+ module DataManager
23
+ module V1
24
+ # A request status per destination.
25
+ # @!attribute [rw] destination
26
+ # @return [::Google::Ads::DataManager::V1::Destination]
27
+ # A destination within a DM API request.
28
+ # @!attribute [rw] request_status
29
+ # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::RequestStatus]
30
+ # The request status of the destination.
31
+ # @!attribute [rw] error_info
32
+ # @return [::Google::Ads::DataManager::V1::ErrorInfo]
33
+ # An error info error containing the error reason and error counts related to
34
+ # the upload.
35
+ # @!attribute [rw] warning_info
36
+ # @return [::Google::Ads::DataManager::V1::WarningInfo]
37
+ # A warning info containing the warning reason and warning counts related to
38
+ # the upload.
39
+ # @!attribute [rw] audience_members_ingestion_status
40
+ # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::IngestAudienceMembersStatus]
41
+ # The status of the ingest audience members request.
42
+ #
43
+ # Note: The following fields are mutually exclusive: `audience_members_ingestion_status`, `events_ingestion_status`, `audience_members_removal_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
44
+ # @!attribute [rw] events_ingestion_status
45
+ # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::IngestEventsStatus]
46
+ # The status of the ingest events request.
47
+ #
48
+ # Note: The following fields are mutually exclusive: `events_ingestion_status`, `audience_members_ingestion_status`, `audience_members_removal_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
49
+ # @!attribute [rw] audience_members_removal_status
50
+ # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::RemoveAudienceMembersStatus]
51
+ # The status of the remove audience members request.
52
+ #
53
+ # Note: The following fields are mutually exclusive: `audience_members_removal_status`, `audience_members_ingestion_status`, `events_ingestion_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
54
+ class RequestStatusPerDestination
55
+ include ::Google::Protobuf::MessageExts
56
+ extend ::Google::Protobuf::MessageExts::ClassMethods
57
+
58
+ # The status of the ingest audience members request.
59
+ # @!attribute [rw] user_data_ingestion_status
60
+ # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::IngestUserDataStatus]
61
+ # The status of the user data ingestion to the destination.
62
+ #
63
+ # Note: The following fields are mutually exclusive: `user_data_ingestion_status`, `mobile_data_ingestion_status`, `pair_data_ingestion_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
64
+ # @!attribute [rw] mobile_data_ingestion_status
65
+ # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::IngestMobileDataStatus]
66
+ # The status of the mobile data ingestion to the destination.
67
+ #
68
+ # Note: The following fields are mutually exclusive: `mobile_data_ingestion_status`, `user_data_ingestion_status`, `pair_data_ingestion_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
69
+ # @!attribute [rw] pair_data_ingestion_status
70
+ # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::IngestPairDataStatus]
71
+ # The status of the pair data ingestion to the destination.
72
+ #
73
+ # Note: The following fields are mutually exclusive: `pair_data_ingestion_status`, `user_data_ingestion_status`, `mobile_data_ingestion_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
74
+ class IngestAudienceMembersStatus
75
+ include ::Google::Protobuf::MessageExts
76
+ extend ::Google::Protobuf::MessageExts::ClassMethods
77
+ end
78
+
79
+ # The status of the remove audience members request.
80
+ # @!attribute [rw] user_data_removal_status
81
+ # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::RemoveUserDataStatus]
82
+ # The status of the user data removal from the destination.
83
+ #
84
+ # Note: The following fields are mutually exclusive: `user_data_removal_status`, `mobile_data_removal_status`, `pair_data_removal_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
85
+ # @!attribute [rw] mobile_data_removal_status
86
+ # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::RemoveMobileDataStatus]
87
+ # The status of the mobile data removal from the destination.
88
+ #
89
+ # Note: The following fields are mutually exclusive: `mobile_data_removal_status`, `user_data_removal_status`, `pair_data_removal_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
90
+ # @!attribute [rw] pair_data_removal_status
91
+ # @return [::Google::Ads::DataManager::V1::RequestStatusPerDestination::RemovePairDataStatus]
92
+ # The status of the pair data removal from the destination.
93
+ #
94
+ # Note: The following fields are mutually exclusive: `pair_data_removal_status`, `user_data_removal_status`, `mobile_data_removal_status`. If a field in that set is populated, all other fields in the set will automatically be cleared.
95
+ class RemoveAudienceMembersStatus
96
+ include ::Google::Protobuf::MessageExts
97
+ extend ::Google::Protobuf::MessageExts::ClassMethods
98
+ end
99
+
100
+ # The status of the events ingestion to the destination.
101
+ # @!attribute [rw] record_count
102
+ # @return [::Integer]
103
+ # The total count of events sent in the upload request. Includes all
104
+ # events in the request, regardless of whether they were successfully
105
+ # ingested or not.
106
+ class IngestEventsStatus
107
+ include ::Google::Protobuf::MessageExts
108
+ extend ::Google::Protobuf::MessageExts::ClassMethods
109
+ end
110
+
111
+ # The status of the user data ingestion to the destination containing stats
112
+ # related to the ingestion.
113
+ # @!attribute [rw] record_count
114
+ # @return [::Integer]
115
+ # The total count of audience members sent in the upload request for the
116
+ # destination. Includes all audience members in the request, regardless of
117
+ # whether they were successfully ingested or not.
118
+ # @!attribute [rw] user_identifier_count
119
+ # @return [::Integer]
120
+ # The total count of user identifiers sent in the upload request for the
121
+ # destination. Includes all user identifiers in the request, regardless of
122
+ # whether they were successfully ingested or not.
123
+ # @!attribute [rw] upload_match_rate_range
124
+ # @return [::Google::Ads::DataManager::V1::MatchRateRange]
125
+ # The match rate range of the upload.
126
+ class IngestUserDataStatus
127
+ include ::Google::Protobuf::MessageExts
128
+ extend ::Google::Protobuf::MessageExts::ClassMethods
129
+ end
130
+
131
+ # The status of the user data removal from the destination.
132
+ # @!attribute [rw] record_count
133
+ # @return [::Integer]
134
+ # The total count of audience members sent in the removal request. Includes
135
+ # all audience members in the request, regardless of whether they were
136
+ # successfully removed or not.
137
+ # @!attribute [rw] user_identifier_count
138
+ # @return [::Integer]
139
+ # The total count of user identifiers sent in the removal request. Includes
140
+ # all user identifiers in the request, regardless of whether they were
141
+ # successfully removed or not.
142
+ class RemoveUserDataStatus
143
+ include ::Google::Protobuf::MessageExts
144
+ extend ::Google::Protobuf::MessageExts::ClassMethods
145
+ end
146
+
147
+ # The status of the mobile data ingestion to the destination containing stats
148
+ # related to the ingestion.
149
+ # @!attribute [rw] record_count
150
+ # @return [::Integer]
151
+ # The total count of audience members sent in the upload request for the
152
+ # destination. Includes all audience members in the request, regardless of
153
+ # whether they were successfully ingested or not.
154
+ # @!attribute [rw] mobile_id_count
155
+ # @return [::Integer]
156
+ # The total count of mobile ids sent in the upload request for the
157
+ # destination. Includes all mobile ids in the request, regardless of
158
+ # whether they were successfully ingested or not.
159
+ class IngestMobileDataStatus
160
+ include ::Google::Protobuf::MessageExts
161
+ extend ::Google::Protobuf::MessageExts::ClassMethods
162
+ end
163
+
164
+ # The status of the mobile data removal from the destination.
165
+ # @!attribute [rw] record_count
166
+ # @return [::Integer]
167
+ # The total count of audience members sent in the removal request. Includes
168
+ # all audience members in the request, regardless of whether they were
169
+ # successfully removed or not.
170
+ # @!attribute [rw] mobile_id_count
171
+ # @return [::Integer]
172
+ # The total count of mobile Ids sent in the removal request. Includes all
173
+ # mobile ids in the request, regardless of whether they were successfully
174
+ # removed or not.
175
+ class RemoveMobileDataStatus
176
+ include ::Google::Protobuf::MessageExts
177
+ extend ::Google::Protobuf::MessageExts::ClassMethods
178
+ end
179
+
180
+ # The status of the pair data ingestion to the destination containing stats
181
+ # related to the ingestion.
182
+ # @!attribute [rw] record_count
183
+ # @return [::Integer]
184
+ # The total count of audience members sent in the upload request for the
185
+ # destination. Includes all audience members in the request, regardless of
186
+ # whether they were successfully ingested or not.
187
+ # @!attribute [rw] pair_id_count
188
+ # @return [::Integer]
189
+ # The total count of pair ids sent in the upload request for the
190
+ # destination. Includes all pair ids in the request, regardless of
191
+ # whether they were successfully ingested or not.
192
+ class IngestPairDataStatus
193
+ include ::Google::Protobuf::MessageExts
194
+ extend ::Google::Protobuf::MessageExts::ClassMethods
195
+ end
196
+
197
+ # The status of the pair data removal from the destination.
198
+ # @!attribute [rw] record_count
199
+ # @return [::Integer]
200
+ # The total count of audience members sent in the removal request. Includes
201
+ # all audience members in the request, regardless of whether they were
202
+ # successfully removed or not.
203
+ # @!attribute [rw] pair_id_count
204
+ # @return [::Integer]
205
+ # The total count of pair ids sent in the removal request. Includes all
206
+ # pair ids in the request, regardless of whether they were successfully
207
+ # removed or not.
208
+ class RemovePairDataStatus
209
+ include ::Google::Protobuf::MessageExts
210
+ extend ::Google::Protobuf::MessageExts::ClassMethods
211
+ end
212
+
213
+ # The request status.
214
+ module RequestStatus
215
+ # The request status is unknown.
216
+ REQUEST_STATUS_UNKNOWN = 0
217
+
218
+ # The request succeeded.
219
+ SUCCESS = 1
220
+
221
+ # The request is processing.
222
+ PROCESSING = 2
223
+
224
+ # The request failed.
225
+ FAILED = 3
226
+
227
+ # The request partially succeeded.
228
+ PARTIAL_SUCCESS = 4
229
+ end
230
+ end
231
+ end
232
+ end
233
+ end
234
+ end
@@ -0,0 +1,52 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Ads
22
+ module DataManager
23
+ module V1
24
+ # The terms of service that the user has accepted/rejected.
25
+ # @!attribute [rw] customer_match_terms_of_service_status
26
+ # @return [::Google::Ads::DataManager::V1::TermsOfServiceStatus]
27
+ # Optional. The Customer Match terms of service:
28
+ # https://support.google.com/adspolicy/answer/6299717. This must be
29
+ # accepted when ingesting
30
+ # {::Google::Ads::DataManager::V1::UserData UserData}
31
+ # or {::Google::Ads::DataManager::V1::MobileData MobileData}.
32
+ # This field is not required for Partner Match User list.
33
+ class TermsOfService
34
+ include ::Google::Protobuf::MessageExts
35
+ extend ::Google::Protobuf::MessageExts::ClassMethods
36
+ end
37
+
38
+ # Represents the caller's decision to accept or reject the terms of service.
39
+ module TermsOfServiceStatus
40
+ # Not specified.
41
+ TERMS_OF_SERVICE_STATUS_UNSPECIFIED = 0
42
+
43
+ # Status indicating the caller has chosen to accept the terms of service.
44
+ ACCEPTED = 1
45
+
46
+ # Status indicating the caller has chosen to reject the terms of service.
47
+ REJECTED = 2
48
+ end
49
+ end
50
+ end
51
+ end
52
+ end
@@ -0,0 +1,84 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Ads
22
+ module DataManager
23
+ module V1
24
+ # Data that identifies the user. At least one identifier is required.
25
+ # @!attribute [rw] user_identifiers
26
+ # @return [::Array<::Google::Ads::DataManager::V1::UserIdentifier>]
27
+ # Required. The identifiers for the user. It's possible to provide multiple
28
+ # instances of the same type of data (for example, multiple email addresses).
29
+ # To increase the likelihood of a match, provide as many identifiers as
30
+ # possible. At most 10 `userIdentifiers` can be provided in a single
31
+ # {::Google::Ads::DataManager::V1::AudienceMember AudienceMember} or
32
+ # {::Google::Ads::DataManager::V1::Event Event}.
33
+ class UserData
34
+ include ::Google::Protobuf::MessageExts
35
+ extend ::Google::Protobuf::MessageExts::ClassMethods
36
+ end
37
+
38
+ # A single identifier for the user.
39
+ # @!attribute [rw] email_address
40
+ # @return [::String]
41
+ # Hashed email address using SHA-256 hash function after normalization.
42
+ #
43
+ # Note: The following fields are mutually exclusive: `email_address`, `phone_number`, `address`. If a field in that set is populated, all other fields in the set will automatically be cleared.
44
+ # @!attribute [rw] phone_number
45
+ # @return [::String]
46
+ # Hashed phone number using SHA-256 hash function after normalization (E164
47
+ # standard).
48
+ #
49
+ # Note: The following fields are mutually exclusive: `phone_number`, `email_address`, `address`. If a field in that set is populated, all other fields in the set will automatically be cleared.
50
+ # @!attribute [rw] address
51
+ # @return [::Google::Ads::DataManager::V1::AddressInfo]
52
+ # The known components of a user's address. Holds a grouping
53
+ # of identifiers that are matched all at once.
54
+ #
55
+ # Note: The following fields are mutually exclusive: `address`, `email_address`, `phone_number`. If a field in that set is populated, all other fields in the set will automatically be cleared.
56
+ class UserIdentifier
57
+ include ::Google::Protobuf::MessageExts
58
+ extend ::Google::Protobuf::MessageExts::ClassMethods
59
+ end
60
+
61
+ # Address information for the user.
62
+ # @!attribute [rw] given_name
63
+ # @return [::String]
64
+ # Required. Given (first) name of the user, all lowercase, with no
65
+ # punctuation, no leading or trailing whitespace, and hashed as SHA-256.
66
+ # @!attribute [rw] family_name
67
+ # @return [::String]
68
+ # Required. Family (last) name of the user, all lowercase, with no
69
+ # punctuation, no leading or trailing whitespace, and hashed as SHA-256.
70
+ # @!attribute [rw] region_code
71
+ # @return [::String]
72
+ # Required. The 2-letter region code in ISO-3166-1 alpha-2 of the user's
73
+ # address.
74
+ # @!attribute [rw] postal_code
75
+ # @return [::String]
76
+ # Required. The postal code of the user's address.
77
+ class AddressInfo
78
+ include ::Google::Protobuf::MessageExts
79
+ extend ::Google::Protobuf::MessageExts::ClassMethods
80
+ end
81
+ end
82
+ end
83
+ end
84
+ end
@@ -0,0 +1,70 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Ads
22
+ module DataManager
23
+ module V1
24
+ # Advertiser-assessed information about the user at the time that the event
25
+ # happened. See https://support.google.com/google-ads/answer/14007601 for more
26
+ # details.
27
+ # @!attribute [rw] customer_type
28
+ # @return [::Google::Ads::DataManager::V1::CustomerType]
29
+ # Optional. Type of the customer associated with the event.
30
+ # @!attribute [rw] customer_value_bucket
31
+ # @return [::Google::Ads::DataManager::V1::CustomerValueBucket]
32
+ # Optional. The advertiser-assessed value of the customer.
33
+ class UserProperties
34
+ include ::Google::Protobuf::MessageExts
35
+ extend ::Google::Protobuf::MessageExts::ClassMethods
36
+ end
37
+
38
+ # Type of the customer associated with the event.
39
+ module CustomerType
40
+ # Unspecified CustomerType. Should never be used.
41
+ CUSTOMER_TYPE_UNSPECIFIED = 0
42
+
43
+ # The customer is new to the advertiser.
44
+ NEW = 1
45
+
46
+ # The customer is returning to the advertiser.
47
+ RETURNING = 2
48
+
49
+ # The customer has re-engaged with the advertiser.
50
+ REENGAGED = 3
51
+ end
52
+
53
+ # The advertiser-assessed value of the customer.
54
+ module CustomerValueBucket
55
+ # Unspecified CustomerValueBucket. Should never be used.
56
+ CUSTOMER_VALUE_BUCKET_UNSPECIFIED = 0
57
+
58
+ # The customer is low value.
59
+ LOW = 1
60
+
61
+ # The customer is medium value.
62
+ MEDIUM = 2
63
+
64
+ # The customer is high value.
65
+ HIGH = 3
66
+ end
67
+ end
68
+ end
69
+ end
70
+ end