oursprivacy-ingest 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 (89) hide show
  1. checksums.yaml +7 -0
  2. data/.ignore +2 -0
  3. data/CHANGELOG.md +16 -0
  4. data/README.md +206 -0
  5. data/SECURITY.md +27 -0
  6. data/lib/oursprivacy_ingest/client.rb +64 -0
  7. data/lib/oursprivacy_ingest/errors.rb +228 -0
  8. data/lib/oursprivacy_ingest/file_part.rb +58 -0
  9. data/lib/oursprivacy_ingest/internal/transport/base_client.rb +573 -0
  10. data/lib/oursprivacy_ingest/internal/transport/pooled_net_requester.rb +204 -0
  11. data/lib/oursprivacy_ingest/internal/type/array_of.rb +168 -0
  12. data/lib/oursprivacy_ingest/internal/type/base_model.rb +534 -0
  13. data/lib/oursprivacy_ingest/internal/type/base_page.rb +55 -0
  14. data/lib/oursprivacy_ingest/internal/type/boolean.rb +77 -0
  15. data/lib/oursprivacy_ingest/internal/type/converter.rb +327 -0
  16. data/lib/oursprivacy_ingest/internal/type/enum.rb +133 -0
  17. data/lib/oursprivacy_ingest/internal/type/file_input.rb +111 -0
  18. data/lib/oursprivacy_ingest/internal/type/hash_of.rb +188 -0
  19. data/lib/oursprivacy_ingest/internal/type/request_parameters.rb +42 -0
  20. data/lib/oursprivacy_ingest/internal/type/union.rb +245 -0
  21. data/lib/oursprivacy_ingest/internal/type/unknown.rb +81 -0
  22. data/lib/oursprivacy_ingest/internal/util.rb +915 -0
  23. data/lib/oursprivacy_ingest/internal.rb +20 -0
  24. data/lib/oursprivacy_ingest/models/track_event_params.rb +1009 -0
  25. data/lib/oursprivacy_ingest/models/track_event_response.rb +26 -0
  26. data/lib/oursprivacy_ingest/models/visitor_upsert_params.rb +972 -0
  27. data/lib/oursprivacy_ingest/models/visitor_upsert_response.rb +26 -0
  28. data/lib/oursprivacy_ingest/models.rb +48 -0
  29. data/lib/oursprivacy_ingest/request_options.rb +79 -0
  30. data/lib/oursprivacy_ingest/resources/track.rb +61 -0
  31. data/lib/oursprivacy_ingest/resources/visitor.rb +52 -0
  32. data/lib/oursprivacy_ingest/version.rb +5 -0
  33. data/lib/oursprivacy_ingest.rb +59 -0
  34. data/manifest.yaml +15 -0
  35. data/rbi/oursprivacy_ingest/client.rbi +46 -0
  36. data/rbi/oursprivacy_ingest/errors.rbi +205 -0
  37. data/rbi/oursprivacy_ingest/file_part.rbi +37 -0
  38. data/rbi/oursprivacy_ingest/internal/transport/base_client.rbi +305 -0
  39. data/rbi/oursprivacy_ingest/internal/transport/pooled_net_requester.rbi +80 -0
  40. data/rbi/oursprivacy_ingest/internal/type/array_of.rbi +108 -0
  41. data/rbi/oursprivacy_ingest/internal/type/base_model.rbi +316 -0
  42. data/rbi/oursprivacy_ingest/internal/type/base_page.rbi +43 -0
  43. data/rbi/oursprivacy_ingest/internal/type/boolean.rbi +58 -0
  44. data/rbi/oursprivacy_ingest/internal/type/converter.rbi +225 -0
  45. data/rbi/oursprivacy_ingest/internal/type/enum.rbi +82 -0
  46. data/rbi/oursprivacy_ingest/internal/type/file_input.rbi +59 -0
  47. data/rbi/oursprivacy_ingest/internal/type/hash_of.rbi +108 -0
  48. data/rbi/oursprivacy_ingest/internal/type/request_parameters.rbi +33 -0
  49. data/rbi/oursprivacy_ingest/internal/type/union.rbi +134 -0
  50. data/rbi/oursprivacy_ingest/internal/type/unknown.rbi +58 -0
  51. data/rbi/oursprivacy_ingest/internal/util.rbi +487 -0
  52. data/rbi/oursprivacy_ingest/internal.rbi +18 -0
  53. data/rbi/oursprivacy_ingest/models/track_event_params.rbi +1072 -0
  54. data/rbi/oursprivacy_ingest/models/track_event_response.rbi +71 -0
  55. data/rbi/oursprivacy_ingest/models/visitor_upsert_params.rbi +1035 -0
  56. data/rbi/oursprivacy_ingest/models/visitor_upsert_response.rbi +71 -0
  57. data/rbi/oursprivacy_ingest/models.rbi +7 -0
  58. data/rbi/oursprivacy_ingest/request_options.rbi +64 -0
  59. data/rbi/oursprivacy_ingest/resources/track.rbi +74 -0
  60. data/rbi/oursprivacy_ingest/resources/visitor.rbi +58 -0
  61. data/rbi/oursprivacy_ingest/version.rbi +5 -0
  62. data/sig/oursprivacy_ingest/client.rbs +25 -0
  63. data/sig/oursprivacy_ingest/errors.rbs +117 -0
  64. data/sig/oursprivacy_ingest/file_part.rbs +21 -0
  65. data/sig/oursprivacy_ingest/internal/transport/base_client.rbs +131 -0
  66. data/sig/oursprivacy_ingest/internal/transport/pooled_net_requester.rbs +45 -0
  67. data/sig/oursprivacy_ingest/internal/type/array_of.rbs +48 -0
  68. data/sig/oursprivacy_ingest/internal/type/base_model.rbs +106 -0
  69. data/sig/oursprivacy_ingest/internal/type/base_page.rbs +24 -0
  70. data/sig/oursprivacy_ingest/internal/type/boolean.rbs +26 -0
  71. data/sig/oursprivacy_ingest/internal/type/converter.rbs +79 -0
  72. data/sig/oursprivacy_ingest/internal/type/enum.rbs +32 -0
  73. data/sig/oursprivacy_ingest/internal/type/file_input.rbs +25 -0
  74. data/sig/oursprivacy_ingest/internal/type/hash_of.rbs +48 -0
  75. data/sig/oursprivacy_ingest/internal/type/request_parameters.rbs +20 -0
  76. data/sig/oursprivacy_ingest/internal/type/union.rbs +52 -0
  77. data/sig/oursprivacy_ingest/internal/type/unknown.rbs +26 -0
  78. data/sig/oursprivacy_ingest/internal/util.rbs +185 -0
  79. data/sig/oursprivacy_ingest/internal.rbs +10 -0
  80. data/sig/oursprivacy_ingest/models/track_event_params.rbs +673 -0
  81. data/sig/oursprivacy_ingest/models/track_event_response.rbs +28 -0
  82. data/sig/oursprivacy_ingest/models/visitor_upsert_params.rbs +653 -0
  83. data/sig/oursprivacy_ingest/models/visitor_upsert_response.rbs +28 -0
  84. data/sig/oursprivacy_ingest/models.rbs +5 -0
  85. data/sig/oursprivacy_ingest/request_options.rbs +36 -0
  86. data/sig/oursprivacy_ingest/resources/track.rbs +21 -0
  87. data/sig/oursprivacy_ingest/resources/visitor.rbs +17 -0
  88. data/sig/oursprivacy_ingest/version.rbs +3 -0
  89. metadata +146 -0
@@ -0,0 +1,1035 @@
1
+ # typed: strong
2
+
3
+ module OursprivacyIngest
4
+ module Models
5
+ class VisitorUpsertParams < OursprivacyIngest::Internal::Type::BaseModel
6
+ extend OursprivacyIngest::Internal::Type::RequestParameters::Converter
7
+ include OursprivacyIngest::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(
12
+ OursprivacyIngest::VisitorUpsertParams,
13
+ OursprivacyIngest::Internal::AnyHash
14
+ )
15
+ end
16
+
17
+ # The token for your Ours Privacy Source. You can find this in the Ours dashboard.
18
+ sig { returns(String) }
19
+ attr_accessor :token
20
+
21
+ # User properties to associate with this user. The existing user properties will
22
+ # be updated. And all future events will have these properties associated with
23
+ # them.
24
+ sig { returns(OursprivacyIngest::VisitorUpsertParams::UserProperties) }
25
+ attr_reader :user_properties
26
+
27
+ sig do
28
+ params(
29
+ user_properties:
30
+ OursprivacyIngest::VisitorUpsertParams::UserProperties::OrHash
31
+ ).void
32
+ end
33
+ attr_writer :user_properties
34
+
35
+ # These properties are used throughout the Ours app to pass known values onto
36
+ # destinations
37
+ sig do
38
+ returns(
39
+ T.nilable(OursprivacyIngest::VisitorUpsertParams::DefaultProperties)
40
+ )
41
+ end
42
+ attr_reader :default_properties
43
+
44
+ sig do
45
+ params(
46
+ default_properties:
47
+ T.nilable(
48
+ OursprivacyIngest::VisitorUpsertParams::DefaultProperties::OrHash
49
+ )
50
+ ).void
51
+ end
52
+ attr_writer :default_properties
53
+
54
+ # The email address of a user. We will associate this event with the user or
55
+ # create a user. Used for lookup if externalId and userId are not included in the
56
+ # request.
57
+ sig { returns(T.nilable(String)) }
58
+ attr_accessor :email
59
+
60
+ # The externalId (the ID in your system) of a user. We will associate this event
61
+ # with the user or create a user. If included in the request, email lookup is
62
+ # ignored.
63
+ sig { returns(T.nilable(String)) }
64
+ attr_accessor :external_id
65
+
66
+ # The Ours user id stored in local storage and cookies on your web properties. If
67
+ # userId is included in the request, we do not lookup the user by email or
68
+ # externalId.
69
+ sig { returns(T.nilable(String)) }
70
+ attr_accessor :user_id
71
+
72
+ sig do
73
+ params(
74
+ token: String,
75
+ user_properties:
76
+ OursprivacyIngest::VisitorUpsertParams::UserProperties::OrHash,
77
+ default_properties:
78
+ T.nilable(
79
+ OursprivacyIngest::VisitorUpsertParams::DefaultProperties::OrHash
80
+ ),
81
+ email: T.nilable(String),
82
+ external_id: T.nilable(String),
83
+ user_id: T.nilable(String),
84
+ request_options: OursprivacyIngest::RequestOptions::OrHash
85
+ ).returns(T.attached_class)
86
+ end
87
+ def self.new(
88
+ # The token for your Ours Privacy Source. You can find this in the Ours dashboard.
89
+ token:,
90
+ # User properties to associate with this user. The existing user properties will
91
+ # be updated. And all future events will have these properties associated with
92
+ # them.
93
+ user_properties:,
94
+ # These properties are used throughout the Ours app to pass known values onto
95
+ # destinations
96
+ default_properties: nil,
97
+ # The email address of a user. We will associate this event with the user or
98
+ # create a user. Used for lookup if externalId and userId are not included in the
99
+ # request.
100
+ email: nil,
101
+ # The externalId (the ID in your system) of a user. We will associate this event
102
+ # with the user or create a user. If included in the request, email lookup is
103
+ # ignored.
104
+ external_id: nil,
105
+ # The Ours user id stored in local storage and cookies on your web properties. If
106
+ # userId is included in the request, we do not lookup the user by email or
107
+ # externalId.
108
+ user_id: nil,
109
+ request_options: {}
110
+ )
111
+ end
112
+
113
+ sig do
114
+ override.returns(
115
+ {
116
+ token: String,
117
+ user_properties:
118
+ OursprivacyIngest::VisitorUpsertParams::UserProperties,
119
+ default_properties:
120
+ T.nilable(
121
+ OursprivacyIngest::VisitorUpsertParams::DefaultProperties
122
+ ),
123
+ email: T.nilable(String),
124
+ external_id: T.nilable(String),
125
+ user_id: T.nilable(String),
126
+ request_options: OursprivacyIngest::RequestOptions
127
+ }
128
+ )
129
+ end
130
+ def to_hash
131
+ end
132
+
133
+ class UserProperties < OursprivacyIngest::Internal::Type::BaseModel
134
+ OrHash =
135
+ T.type_alias do
136
+ T.any(
137
+ OursprivacyIngest::VisitorUpsertParams::UserProperties,
138
+ OursprivacyIngest::Internal::AnyHash
139
+ )
140
+ end
141
+
142
+ sig { returns(T.nilable(String)) }
143
+ attr_accessor :ad_id
144
+
145
+ sig { returns(T.nilable(String)) }
146
+ attr_accessor :adset_id
147
+
148
+ sig { returns(T.nilable(String)) }
149
+ attr_accessor :campaign_id
150
+
151
+ sig { returns(T.nilable(String)) }
152
+ attr_accessor :city
153
+
154
+ sig { returns(T.nilable(String)) }
155
+ attr_accessor :clickid
156
+
157
+ sig { returns(T.nilable(String)) }
158
+ attr_accessor :clid
159
+
160
+ sig { returns(T.nilable(String)) }
161
+ attr_accessor :company_name
162
+
163
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) }
164
+ attr_accessor :consent
165
+
166
+ sig { returns(T.nilable(String)) }
167
+ attr_accessor :country
168
+
169
+ sig { returns(T.nilable(T::Hash[Symbol, T.nilable(T.anything)])) }
170
+ attr_accessor :custom_properties
171
+
172
+ sig { returns(T.nilable(String)) }
173
+ attr_accessor :date_of_birth
174
+
175
+ sig { returns(T.nilable(String)) }
176
+ attr_accessor :dclid
177
+
178
+ sig { returns(T.nilable(String)) }
179
+ attr_accessor :email
180
+
181
+ sig { returns(T.nilable(String)) }
182
+ attr_accessor :epik
183
+
184
+ sig { returns(T.nilable(String)) }
185
+ attr_accessor :external_id
186
+
187
+ sig { returns(T.nilable(String)) }
188
+ attr_accessor :fbc
189
+
190
+ sig { returns(T.nilable(String)) }
191
+ attr_accessor :fbclid
192
+
193
+ sig { returns(T.nilable(String)) }
194
+ attr_accessor :fbp
195
+
196
+ sig { returns(T.nilable(String)) }
197
+ attr_accessor :first_name
198
+
199
+ sig { returns(T.nilable(String)) }
200
+ attr_accessor :gad_source
201
+
202
+ sig { returns(T.nilable(String)) }
203
+ attr_accessor :gbraid
204
+
205
+ sig { returns(T.nilable(String)) }
206
+ attr_accessor :gclid
207
+
208
+ sig { returns(T.nilable(String)) }
209
+ attr_accessor :gender
210
+
211
+ # The IP address of the user
212
+ sig { returns(T.nilable(String)) }
213
+ attr_accessor :ip
214
+
215
+ sig { returns(T.nilable(T.anything)) }
216
+ attr_reader :is_bot
217
+
218
+ sig { params(is_bot: T.anything).void }
219
+ attr_writer :is_bot
220
+
221
+ sig { returns(T.nilable(String)) }
222
+ attr_accessor :job_title
223
+
224
+ sig { returns(T.nilable(String)) }
225
+ attr_accessor :last_name
226
+
227
+ sig { returns(T.nilable(String)) }
228
+ attr_accessor :li_fat_id
229
+
230
+ sig { returns(T.nilable(String)) }
231
+ attr_accessor :msclkid
232
+
233
+ sig { returns(T.nilable(String)) }
234
+ attr_accessor :ndclid
235
+
236
+ sig { returns(T.nilable(T.anything)) }
237
+ attr_reader :phone_number
238
+
239
+ sig { params(phone_number: T.anything).void }
240
+ attr_writer :phone_number
241
+
242
+ sig { returns(T.nilable(String)) }
243
+ attr_accessor :qclid
244
+
245
+ sig { returns(T.nilable(String)) }
246
+ attr_accessor :rdt_cid
247
+
248
+ sig { returns(T.nilable(String)) }
249
+ attr_accessor :referrer
250
+
251
+ sig { returns(T.nilable(String)) }
252
+ attr_accessor :sacid
253
+
254
+ sig { returns(T.nilable(String)) }
255
+ attr_accessor :sccid
256
+
257
+ sig { returns(T.nilable(String)) }
258
+ attr_accessor :sid
259
+
260
+ sig { returns(T.nilable(String)) }
261
+ attr_accessor :state
262
+
263
+ sig { returns(T.nilable(String)) }
264
+ attr_accessor :ttclid
265
+
266
+ sig { returns(T.nilable(String)) }
267
+ attr_accessor :twclid
268
+
269
+ sig { returns(T.nilable(String)) }
270
+ attr_accessor :user_agent
271
+
272
+ sig { returns(T.nilable(String)) }
273
+ attr_accessor :user_agent_full_list
274
+
275
+ sig { returns(T.nilable(String)) }
276
+ attr_accessor :utm_campaign
277
+
278
+ sig { returns(T.nilable(String)) }
279
+ attr_accessor :utm_content
280
+
281
+ sig { returns(T.nilable(String)) }
282
+ attr_accessor :utm_medium
283
+
284
+ sig { returns(T.nilable(String)) }
285
+ attr_accessor :utm_name
286
+
287
+ sig { returns(T.nilable(String)) }
288
+ attr_accessor :utm_source
289
+
290
+ sig { returns(T.nilable(String)) }
291
+ attr_accessor :utm_term
292
+
293
+ sig { returns(T.nilable(String)) }
294
+ attr_accessor :wbraid
295
+
296
+ sig { returns(T.nilable(T.anything)) }
297
+ attr_reader :zip
298
+
299
+ sig { params(zip: T.anything).void }
300
+ attr_writer :zip
301
+
302
+ # User properties to associate with this user. The existing user properties will
303
+ # be updated. And all future events will have these properties associated with
304
+ # them.
305
+ sig do
306
+ params(
307
+ ad_id: T.nilable(String),
308
+ adset_id: T.nilable(String),
309
+ campaign_id: T.nilable(String),
310
+ city: T.nilable(String),
311
+ clickid: T.nilable(String),
312
+ clid: T.nilable(String),
313
+ company_name: T.nilable(String),
314
+ consent: T.nilable(T::Hash[Symbol, T.nilable(T.anything)]),
315
+ country: T.nilable(String),
316
+ custom_properties:
317
+ T.nilable(T::Hash[Symbol, T.nilable(T.anything)]),
318
+ date_of_birth: T.nilable(String),
319
+ dclid: T.nilable(String),
320
+ email: T.nilable(String),
321
+ epik: T.nilable(String),
322
+ external_id: T.nilable(String),
323
+ fbc: T.nilable(String),
324
+ fbclid: T.nilable(String),
325
+ fbp: T.nilable(String),
326
+ first_name: T.nilable(String),
327
+ gad_source: T.nilable(String),
328
+ gbraid: T.nilable(String),
329
+ gclid: T.nilable(String),
330
+ gender: T.nilable(String),
331
+ ip: T.nilable(String),
332
+ is_bot: T.anything,
333
+ job_title: T.nilable(String),
334
+ last_name: T.nilable(String),
335
+ li_fat_id: T.nilable(String),
336
+ msclkid: T.nilable(String),
337
+ ndclid: T.nilable(String),
338
+ phone_number: T.anything,
339
+ qclid: T.nilable(String),
340
+ rdt_cid: T.nilable(String),
341
+ referrer: T.nilable(String),
342
+ sacid: T.nilable(String),
343
+ sccid: T.nilable(String),
344
+ sid: T.nilable(String),
345
+ state: T.nilable(String),
346
+ ttclid: T.nilable(String),
347
+ twclid: T.nilable(String),
348
+ user_agent: T.nilable(String),
349
+ user_agent_full_list: T.nilable(String),
350
+ utm_campaign: T.nilable(String),
351
+ utm_content: T.nilable(String),
352
+ utm_medium: T.nilable(String),
353
+ utm_name: T.nilable(String),
354
+ utm_source: T.nilable(String),
355
+ utm_term: T.nilable(String),
356
+ wbraid: T.nilable(String),
357
+ zip: T.anything
358
+ ).returns(T.attached_class)
359
+ end
360
+ def self.new(
361
+ ad_id: nil,
362
+ adset_id: nil,
363
+ campaign_id: nil,
364
+ city: nil,
365
+ clickid: nil,
366
+ clid: nil,
367
+ company_name: nil,
368
+ consent: nil,
369
+ country: nil,
370
+ custom_properties: nil,
371
+ date_of_birth: nil,
372
+ dclid: nil,
373
+ email: nil,
374
+ epik: nil,
375
+ external_id: nil,
376
+ fbc: nil,
377
+ fbclid: nil,
378
+ fbp: nil,
379
+ first_name: nil,
380
+ gad_source: nil,
381
+ gbraid: nil,
382
+ gclid: nil,
383
+ gender: nil,
384
+ # The IP address of the user
385
+ ip: nil,
386
+ is_bot: nil,
387
+ job_title: nil,
388
+ last_name: nil,
389
+ li_fat_id: nil,
390
+ msclkid: nil,
391
+ ndclid: nil,
392
+ phone_number: nil,
393
+ qclid: nil,
394
+ rdt_cid: nil,
395
+ referrer: nil,
396
+ sacid: nil,
397
+ sccid: nil,
398
+ sid: nil,
399
+ state: nil,
400
+ ttclid: nil,
401
+ twclid: nil,
402
+ user_agent: nil,
403
+ user_agent_full_list: nil,
404
+ utm_campaign: nil,
405
+ utm_content: nil,
406
+ utm_medium: nil,
407
+ utm_name: nil,
408
+ utm_source: nil,
409
+ utm_term: nil,
410
+ wbraid: nil,
411
+ zip: nil
412
+ )
413
+ end
414
+
415
+ sig do
416
+ override.returns(
417
+ {
418
+ ad_id: T.nilable(String),
419
+ adset_id: T.nilable(String),
420
+ campaign_id: T.nilable(String),
421
+ city: T.nilable(String),
422
+ clickid: T.nilable(String),
423
+ clid: T.nilable(String),
424
+ company_name: T.nilable(String),
425
+ consent: T.nilable(T::Hash[Symbol, T.nilable(T.anything)]),
426
+ country: T.nilable(String),
427
+ custom_properties:
428
+ T.nilable(T::Hash[Symbol, T.nilable(T.anything)]),
429
+ date_of_birth: T.nilable(String),
430
+ dclid: T.nilable(String),
431
+ email: T.nilable(String),
432
+ epik: T.nilable(String),
433
+ external_id: T.nilable(String),
434
+ fbc: T.nilable(String),
435
+ fbclid: T.nilable(String),
436
+ fbp: T.nilable(String),
437
+ first_name: T.nilable(String),
438
+ gad_source: T.nilable(String),
439
+ gbraid: T.nilable(String),
440
+ gclid: T.nilable(String),
441
+ gender: T.nilable(String),
442
+ ip: T.nilable(String),
443
+ is_bot: T.anything,
444
+ job_title: T.nilable(String),
445
+ last_name: T.nilable(String),
446
+ li_fat_id: T.nilable(String),
447
+ msclkid: T.nilable(String),
448
+ ndclid: T.nilable(String),
449
+ phone_number: T.anything,
450
+ qclid: T.nilable(String),
451
+ rdt_cid: T.nilable(String),
452
+ referrer: T.nilable(String),
453
+ sacid: T.nilable(String),
454
+ sccid: T.nilable(String),
455
+ sid: T.nilable(String),
456
+ state: T.nilable(String),
457
+ ttclid: T.nilable(String),
458
+ twclid: T.nilable(String),
459
+ user_agent: T.nilable(String),
460
+ user_agent_full_list: T.nilable(String),
461
+ utm_campaign: T.nilable(String),
462
+ utm_content: T.nilable(String),
463
+ utm_medium: T.nilable(String),
464
+ utm_name: T.nilable(String),
465
+ utm_source: T.nilable(String),
466
+ utm_term: T.nilable(String),
467
+ wbraid: T.nilable(String),
468
+ zip: T.anything
469
+ }
470
+ )
471
+ end
472
+ def to_hash
473
+ end
474
+ end
475
+
476
+ class DefaultProperties < OursprivacyIngest::Internal::Type::BaseModel
477
+ OrHash =
478
+ T.type_alias do
479
+ T.any(
480
+ OursprivacyIngest::VisitorUpsertParams::DefaultProperties,
481
+ OursprivacyIngest::Internal::AnyHash
482
+ )
483
+ end
484
+
485
+ # The active time in milliseconds that the user had this tab active
486
+ sig { returns(T.nilable(Float)) }
487
+ attr_accessor :active_duration
488
+
489
+ # The ad id for detected in the session. This is set by the web sdk automatically.
490
+ sig { returns(T.nilable(String)) }
491
+ attr_accessor :ad_id
492
+
493
+ # The adset id for detected in the session. This is set by the web sdk
494
+ # automatically.
495
+ sig { returns(T.nilable(String)) }
496
+ attr_accessor :adset_id
497
+
498
+ # The language of the browser. Ex: en-US
499
+ sig { returns(T.nilable(String)) }
500
+ attr_accessor :browser_language
501
+
502
+ # The name of the browser. Ex: Chrome
503
+ sig { returns(T.nilable(String)) }
504
+ attr_accessor :browser_name
505
+
506
+ # The version of the browser. Ex: 114.0
507
+ sig { returns(T.nilable(String)) }
508
+ attr_accessor :browser_version
509
+
510
+ # The campaign id for detected in the session. This is set by the web sdk
511
+ # automatically.
512
+ sig { returns(T.nilable(String)) }
513
+ attr_accessor :campaign_id
514
+
515
+ # The Click ID. Ex: clickid123
516
+ sig { returns(T.nilable(String)) }
517
+ attr_accessor :clickid
518
+
519
+ # The Generic Click ID. Ex: clid123
520
+ sig { returns(T.nilable(String)) }
521
+ attr_accessor :clid
522
+
523
+ # The architecture of the CPU. Ex: x64
524
+ sig { returns(T.nilable(String)) }
525
+ attr_accessor :cpu_architecture
526
+
527
+ # The full url (including query params) of the current page
528
+ sig { returns(T.nilable(String)) }
529
+ attr_accessor :current_url
530
+
531
+ # The DoubleClick Click ID. Ex: dclid123
532
+ sig { returns(T.nilable(String)) }
533
+ attr_accessor :dclid
534
+
535
+ # The model of the device. Ex: iPhone 13
536
+ sig { returns(T.nilable(String)) }
537
+ attr_accessor :device_model
538
+
539
+ # The type of device the user is using. Ex: mobile
540
+ sig { returns(T.nilable(String)) }
541
+ attr_accessor :device_type
542
+
543
+ # The vendor of the device. Ex: Apple
544
+ sig { returns(T.nilable(String)) }
545
+ attr_accessor :device_vendor
546
+
547
+ # The time in milliseconds since the page was loaded // script was loaded
548
+ sig { returns(T.nilable(Float)) }
549
+ attr_accessor :duration
550
+
551
+ # The browsers encoding. Ex: UTF-8
552
+ sig { returns(T.nilable(String)) }
553
+ attr_accessor :encoding
554
+
555
+ # The name of the browser engine. Ex: Blink
556
+ sig { returns(T.nilable(String)) }
557
+ attr_accessor :engine_name
558
+
559
+ # The version of the browser engine. Ex: 114.0
560
+ sig { returns(T.nilable(String)) }
561
+ attr_accessor :engine_version
562
+
563
+ # The Pinterest Click ID. Ex: epik456
564
+ sig { returns(T.nilable(String)) }
565
+ attr_accessor :epik
566
+
567
+ # Facebook Click ID with prefix format for Conversions API tracking. Ex:
568
+ # fb.1.1554763741205.AbCdEfGhIjKlMnOpQrStUvWxYz1234567890
569
+ sig { returns(T.nilable(String)) }
570
+ attr_accessor :fbc
571
+
572
+ # Raw Facebook Click ID query parameter without prefix from ad clicks. Ex:
573
+ # AbCdEfGhIjKlMnOpQrStUvWxYz1234567890
574
+ sig { returns(T.nilable(String)) }
575
+ attr_accessor :fbclid
576
+
577
+ # Facebook Browser ID parameter for identifying browsers and attributing events.
578
+ # Ex: fb.1.1554763741205.1098115397
579
+ sig { returns(T.nilable(String)) }
580
+ attr_accessor :fbp
581
+
582
+ # Deprecated
583
+ sig { returns(T.nilable(T::Boolean)) }
584
+ attr_accessor :fv
585
+
586
+ # The Google Ad Source. Ex: google
587
+ sig { returns(T.nilable(String)) }
588
+ attr_accessor :gad_source
589
+
590
+ # The Google Braid ID. Ex: gbraid123
591
+ sig { returns(T.nilable(String)) }
592
+ attr_accessor :gbraid
593
+
594
+ # The Google Click ID. Ex: gclid123
595
+ sig { returns(T.nilable(String)) }
596
+ attr_accessor :gclid
597
+
598
+ # The host of the current page. Ex: example.com
599
+ sig { returns(T.nilable(String)) }
600
+ attr_accessor :host
601
+
602
+ # Whether the user is in an iframe. Ex: true
603
+ sig { returns(T.nilable(T::Boolean)) }
604
+ attr_accessor :iframe
605
+
606
+ # The IP address of the user. Ex: 127.0.0.1
607
+ sig { returns(T.nilable(String)) }
608
+ attr_accessor :ip
609
+
610
+ # Whether we have detected that the user is a bot. This is set automatically by
611
+ # the Ours server primarily for events tracked through the web SDK.
612
+ sig { returns(T.nilable(T.anything)) }
613
+ attr_reader :is_bot
614
+
615
+ sig { params(is_bot: T.anything).void }
616
+ attr_writer :is_bot
617
+
618
+ # The LinkedIn Click ID. Ex: li_fat_id123
619
+ sig { returns(T.nilable(String)) }
620
+ attr_accessor :li_fat_id
621
+
622
+ # The Microsoft Click ID. Ex: msclkid123
623
+ sig { returns(T.nilable(String)) }
624
+ attr_accessor :msclkid
625
+
626
+ # The NextDoor Click ID. Ex: ndclid123
627
+ sig { returns(T.nilable(String)) }
628
+ attr_accessor :ndclid
629
+
630
+ # Deprecated
631
+ sig { returns(T.nilable(T::Boolean)) }
632
+ attr_accessor :new_s
633
+
634
+ # The name of the operating system. Ex: Windows
635
+ sig { returns(T.nilable(String)) }
636
+ attr_accessor :os_name
637
+
638
+ # The version of the operating system. Ex: 10.0
639
+ sig { returns(T.nilable(String)) }
640
+ attr_accessor :os_version
641
+
642
+ # A random set of numbers for the page load
643
+ sig { returns(T.nilable(Float)) }
644
+ attr_accessor :page_hash
645
+
646
+ # The pathname of the current page. Ex: /home
647
+ sig { returns(T.nilable(String)) }
648
+ attr_accessor :pathname
649
+
650
+ # The Quora Click ID. Ex: qclid123
651
+ sig { returns(T.nilable(String)) }
652
+ attr_accessor :qclid
653
+
654
+ # The Reddit Click ID. Ex: rdt_cid123
655
+ sig { returns(T.nilable(String)) }
656
+ attr_accessor :rdt_cid
657
+
658
+ # The time the event was received by an Ours server in ISO format
659
+ sig { returns(T.nilable(String)) }
660
+ attr_accessor :received_at
661
+
662
+ # The referrer URL of the current page
663
+ sig { returns(T.nilable(String)) }
664
+ attr_accessor :referrer
665
+
666
+ # The StackAdapt Tracking ID. Ex: sacid123
667
+ sig { returns(T.nilable(String)) }
668
+ attr_accessor :sacid
669
+
670
+ # The SnapChat Click ID. Ex: sccid123
671
+ sig { returns(T.nilable(String)) }
672
+ attr_accessor :sccid
673
+
674
+ # The height of the screen. Ex: 1080
675
+ sig { returns(T.nilable(Float)) }
676
+ attr_accessor :screen_height
677
+
678
+ # The width of the screen. Ex: 1920
679
+ sig { returns(T.nilable(Float)) }
680
+ attr_accessor :screen_width
681
+
682
+ # The number of sessions the user has had. Ex: 3
683
+ sig { returns(T.nilable(Float)) }
684
+ attr_accessor :session_count
685
+
686
+ # The session ID as assigned automatically by the web SDK. This is required for
687
+ # session replay
688
+ sig { returns(T.nilable(String)) }
689
+ attr_accessor :sid
690
+
691
+ sig { returns(T.nilable(String)) }
692
+ attr_accessor :sr
693
+
694
+ # The title of the current page
695
+ sig { returns(T.nilable(String)) }
696
+ attr_accessor :title
697
+
698
+ # The TikTok Click ID. Ex: ttclid123
699
+ sig { returns(T.nilable(String)) }
700
+ attr_accessor :ttclid
701
+
702
+ # The Twitter Click ID. Ex: twclid123
703
+ sig { returns(T.nilable(String)) }
704
+ attr_accessor :twclid
705
+
706
+ # User agent as a full list of strings.
707
+ sig { returns(T.nilable(String)) }
708
+ attr_accessor :uafvl
709
+
710
+ # The user agent of the browser
711
+ sig { returns(T.nilable(String)) }
712
+ attr_accessor :user_agent
713
+
714
+ # The UTM Campaign. The web SDK automatically captures this from the query params.
715
+ sig { returns(T.nilable(String)) }
716
+ attr_accessor :utm_campaign
717
+
718
+ # The UTM Content. The web SDK automatically captures this from the query params.
719
+ sig { returns(T.nilable(String)) }
720
+ attr_accessor :utm_content
721
+
722
+ # The UTM Medium. The web SDK automatically captures this from the query params.
723
+ sig { returns(T.nilable(String)) }
724
+ attr_accessor :utm_medium
725
+
726
+ # The UTM Name. The web SDK automatically captures this from the query params.
727
+ sig { returns(T.nilable(String)) }
728
+ attr_accessor :utm_name
729
+
730
+ # The UTM Source. The web SDK automatically captures this from the query params.
731
+ sig { returns(T.nilable(String)) }
732
+ attr_accessor :utm_source
733
+
734
+ # The UTM Term. The web SDK automatically captures this from the query params.
735
+ sig { returns(T.nilable(String)) }
736
+ attr_accessor :utm_term
737
+
738
+ # The version of the web SDK
739
+ sig { returns(T.nilable(String)) }
740
+ attr_accessor :version
741
+
742
+ # The WBRAID Identifier. The web SDK automatically captures this from the query
743
+ # params.
744
+ sig { returns(T.nilable(String)) }
745
+ attr_accessor :wbraid
746
+
747
+ # Whether the user is in a webview. Ex: true
748
+ sig { returns(T.nilable(T::Boolean)) }
749
+ attr_accessor :webview
750
+
751
+ # These properties are used throughout the Ours app to pass known values onto
752
+ # destinations
753
+ sig do
754
+ params(
755
+ active_duration: T.nilable(Float),
756
+ ad_id: T.nilable(String),
757
+ adset_id: T.nilable(String),
758
+ browser_language: T.nilable(String),
759
+ browser_name: T.nilable(String),
760
+ browser_version: T.nilable(String),
761
+ campaign_id: T.nilable(String),
762
+ clickid: T.nilable(String),
763
+ clid: T.nilable(String),
764
+ cpu_architecture: T.nilable(String),
765
+ current_url: T.nilable(String),
766
+ dclid: T.nilable(String),
767
+ device_model: T.nilable(String),
768
+ device_type: T.nilable(String),
769
+ device_vendor: T.nilable(String),
770
+ duration: T.nilable(Float),
771
+ encoding: T.nilable(String),
772
+ engine_name: T.nilable(String),
773
+ engine_version: T.nilable(String),
774
+ epik: T.nilable(String),
775
+ fbc: T.nilable(String),
776
+ fbclid: T.nilable(String),
777
+ fbp: T.nilable(String),
778
+ fv: T.nilable(T::Boolean),
779
+ gad_source: T.nilable(String),
780
+ gbraid: T.nilable(String),
781
+ gclid: T.nilable(String),
782
+ host: T.nilable(String),
783
+ iframe: T.nilable(T::Boolean),
784
+ ip: T.nilable(String),
785
+ is_bot: T.anything,
786
+ li_fat_id: T.nilable(String),
787
+ msclkid: T.nilable(String),
788
+ ndclid: T.nilable(String),
789
+ new_s: T.nilable(T::Boolean),
790
+ os_name: T.nilable(String),
791
+ os_version: T.nilable(String),
792
+ page_hash: T.nilable(Float),
793
+ pathname: T.nilable(String),
794
+ qclid: T.nilable(String),
795
+ rdt_cid: T.nilable(String),
796
+ received_at: T.nilable(String),
797
+ referrer: T.nilable(String),
798
+ sacid: T.nilable(String),
799
+ sccid: T.nilable(String),
800
+ screen_height: T.nilable(Float),
801
+ screen_width: T.nilable(Float),
802
+ session_count: T.nilable(Float),
803
+ sid: T.nilable(String),
804
+ sr: T.nilable(String),
805
+ title: T.nilable(String),
806
+ ttclid: T.nilable(String),
807
+ twclid: T.nilable(String),
808
+ uafvl: T.nilable(String),
809
+ user_agent: T.nilable(String),
810
+ utm_campaign: T.nilable(String),
811
+ utm_content: T.nilable(String),
812
+ utm_medium: T.nilable(String),
813
+ utm_name: T.nilable(String),
814
+ utm_source: T.nilable(String),
815
+ utm_term: T.nilable(String),
816
+ version: T.nilable(String),
817
+ wbraid: T.nilable(String),
818
+ webview: T.nilable(T::Boolean)
819
+ ).returns(T.attached_class)
820
+ end
821
+ def self.new(
822
+ # The active time in milliseconds that the user had this tab active
823
+ active_duration: nil,
824
+ # The ad id for detected in the session. This is set by the web sdk automatically.
825
+ ad_id: nil,
826
+ # The adset id for detected in the session. This is set by the web sdk
827
+ # automatically.
828
+ adset_id: nil,
829
+ # The language of the browser. Ex: en-US
830
+ browser_language: nil,
831
+ # The name of the browser. Ex: Chrome
832
+ browser_name: nil,
833
+ # The version of the browser. Ex: 114.0
834
+ browser_version: nil,
835
+ # The campaign id for detected in the session. This is set by the web sdk
836
+ # automatically.
837
+ campaign_id: nil,
838
+ # The Click ID. Ex: clickid123
839
+ clickid: nil,
840
+ # The Generic Click ID. Ex: clid123
841
+ clid: nil,
842
+ # The architecture of the CPU. Ex: x64
843
+ cpu_architecture: nil,
844
+ # The full url (including query params) of the current page
845
+ current_url: nil,
846
+ # The DoubleClick Click ID. Ex: dclid123
847
+ dclid: nil,
848
+ # The model of the device. Ex: iPhone 13
849
+ device_model: nil,
850
+ # The type of device the user is using. Ex: mobile
851
+ device_type: nil,
852
+ # The vendor of the device. Ex: Apple
853
+ device_vendor: nil,
854
+ # The time in milliseconds since the page was loaded // script was loaded
855
+ duration: nil,
856
+ # The browsers encoding. Ex: UTF-8
857
+ encoding: nil,
858
+ # The name of the browser engine. Ex: Blink
859
+ engine_name: nil,
860
+ # The version of the browser engine. Ex: 114.0
861
+ engine_version: nil,
862
+ # The Pinterest Click ID. Ex: epik456
863
+ epik: nil,
864
+ # Facebook Click ID with prefix format for Conversions API tracking. Ex:
865
+ # fb.1.1554763741205.AbCdEfGhIjKlMnOpQrStUvWxYz1234567890
866
+ fbc: nil,
867
+ # Raw Facebook Click ID query parameter without prefix from ad clicks. Ex:
868
+ # AbCdEfGhIjKlMnOpQrStUvWxYz1234567890
869
+ fbclid: nil,
870
+ # Facebook Browser ID parameter for identifying browsers and attributing events.
871
+ # Ex: fb.1.1554763741205.1098115397
872
+ fbp: nil,
873
+ # Deprecated
874
+ fv: nil,
875
+ # The Google Ad Source. Ex: google
876
+ gad_source: nil,
877
+ # The Google Braid ID. Ex: gbraid123
878
+ gbraid: nil,
879
+ # The Google Click ID. Ex: gclid123
880
+ gclid: nil,
881
+ # The host of the current page. Ex: example.com
882
+ host: nil,
883
+ # Whether the user is in an iframe. Ex: true
884
+ iframe: nil,
885
+ # The IP address of the user. Ex: 127.0.0.1
886
+ ip: nil,
887
+ # Whether we have detected that the user is a bot. This is set automatically by
888
+ # the Ours server primarily for events tracked through the web SDK.
889
+ is_bot: nil,
890
+ # The LinkedIn Click ID. Ex: li_fat_id123
891
+ li_fat_id: nil,
892
+ # The Microsoft Click ID. Ex: msclkid123
893
+ msclkid: nil,
894
+ # The NextDoor Click ID. Ex: ndclid123
895
+ ndclid: nil,
896
+ # Deprecated
897
+ new_s: nil,
898
+ # The name of the operating system. Ex: Windows
899
+ os_name: nil,
900
+ # The version of the operating system. Ex: 10.0
901
+ os_version: nil,
902
+ # A random set of numbers for the page load
903
+ page_hash: nil,
904
+ # The pathname of the current page. Ex: /home
905
+ pathname: nil,
906
+ # The Quora Click ID. Ex: qclid123
907
+ qclid: nil,
908
+ # The Reddit Click ID. Ex: rdt_cid123
909
+ rdt_cid: nil,
910
+ # The time the event was received by an Ours server in ISO format
911
+ received_at: nil,
912
+ # The referrer URL of the current page
913
+ referrer: nil,
914
+ # The StackAdapt Tracking ID. Ex: sacid123
915
+ sacid: nil,
916
+ # The SnapChat Click ID. Ex: sccid123
917
+ sccid: nil,
918
+ # The height of the screen. Ex: 1080
919
+ screen_height: nil,
920
+ # The width of the screen. Ex: 1920
921
+ screen_width: nil,
922
+ # The number of sessions the user has had. Ex: 3
923
+ session_count: nil,
924
+ # The session ID as assigned automatically by the web SDK. This is required for
925
+ # session replay
926
+ sid: nil,
927
+ sr: nil,
928
+ # The title of the current page
929
+ title: nil,
930
+ # The TikTok Click ID. Ex: ttclid123
931
+ ttclid: nil,
932
+ # The Twitter Click ID. Ex: twclid123
933
+ twclid: nil,
934
+ # User agent as a full list of strings.
935
+ uafvl: nil,
936
+ # The user agent of the browser
937
+ user_agent: nil,
938
+ # The UTM Campaign. The web SDK automatically captures this from the query params.
939
+ utm_campaign: nil,
940
+ # The UTM Content. The web SDK automatically captures this from the query params.
941
+ utm_content: nil,
942
+ # The UTM Medium. The web SDK automatically captures this from the query params.
943
+ utm_medium: nil,
944
+ # The UTM Name. The web SDK automatically captures this from the query params.
945
+ utm_name: nil,
946
+ # The UTM Source. The web SDK automatically captures this from the query params.
947
+ utm_source: nil,
948
+ # The UTM Term. The web SDK automatically captures this from the query params.
949
+ utm_term: nil,
950
+ # The version of the web SDK
951
+ version: nil,
952
+ # The WBRAID Identifier. The web SDK automatically captures this from the query
953
+ # params.
954
+ wbraid: nil,
955
+ # Whether the user is in a webview. Ex: true
956
+ webview: nil
957
+ )
958
+ end
959
+
960
+ sig do
961
+ override.returns(
962
+ {
963
+ active_duration: T.nilable(Float),
964
+ ad_id: T.nilable(String),
965
+ adset_id: T.nilable(String),
966
+ browser_language: T.nilable(String),
967
+ browser_name: T.nilable(String),
968
+ browser_version: T.nilable(String),
969
+ campaign_id: T.nilable(String),
970
+ clickid: T.nilable(String),
971
+ clid: T.nilable(String),
972
+ cpu_architecture: T.nilable(String),
973
+ current_url: T.nilable(String),
974
+ dclid: T.nilable(String),
975
+ device_model: T.nilable(String),
976
+ device_type: T.nilable(String),
977
+ device_vendor: T.nilable(String),
978
+ duration: T.nilable(Float),
979
+ encoding: T.nilable(String),
980
+ engine_name: T.nilable(String),
981
+ engine_version: T.nilable(String),
982
+ epik: T.nilable(String),
983
+ fbc: T.nilable(String),
984
+ fbclid: T.nilable(String),
985
+ fbp: T.nilable(String),
986
+ fv: T.nilable(T::Boolean),
987
+ gad_source: T.nilable(String),
988
+ gbraid: T.nilable(String),
989
+ gclid: T.nilable(String),
990
+ host: T.nilable(String),
991
+ iframe: T.nilable(T::Boolean),
992
+ ip: T.nilable(String),
993
+ is_bot: T.anything,
994
+ li_fat_id: T.nilable(String),
995
+ msclkid: T.nilable(String),
996
+ ndclid: T.nilable(String),
997
+ new_s: T.nilable(T::Boolean),
998
+ os_name: T.nilable(String),
999
+ os_version: T.nilable(String),
1000
+ page_hash: T.nilable(Float),
1001
+ pathname: T.nilable(String),
1002
+ qclid: T.nilable(String),
1003
+ rdt_cid: T.nilable(String),
1004
+ received_at: T.nilable(String),
1005
+ referrer: T.nilable(String),
1006
+ sacid: T.nilable(String),
1007
+ sccid: T.nilable(String),
1008
+ screen_height: T.nilable(Float),
1009
+ screen_width: T.nilable(Float),
1010
+ session_count: T.nilable(Float),
1011
+ sid: T.nilable(String),
1012
+ sr: T.nilable(String),
1013
+ title: T.nilable(String),
1014
+ ttclid: T.nilable(String),
1015
+ twclid: T.nilable(String),
1016
+ uafvl: T.nilable(String),
1017
+ user_agent: T.nilable(String),
1018
+ utm_campaign: T.nilable(String),
1019
+ utm_content: T.nilable(String),
1020
+ utm_medium: T.nilable(String),
1021
+ utm_name: T.nilable(String),
1022
+ utm_source: T.nilable(String),
1023
+ utm_term: T.nilable(String),
1024
+ version: T.nilable(String),
1025
+ wbraid: T.nilable(String),
1026
+ webview: T.nilable(T::Boolean)
1027
+ }
1028
+ )
1029
+ end
1030
+ def to_hash
1031
+ end
1032
+ end
1033
+ end
1034
+ end
1035
+ end