oursprivacy-ingest 1.10.0 → 1.12.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 (37) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -0
  3. data/README.md +1 -1
  4. data/lib/oursprivacy_ingest/client.rb +4 -0
  5. data/lib/oursprivacy_ingest/internal/type/union.rb +11 -0
  6. data/lib/oursprivacy_ingest/models/batch_create_params.rb +18 -2
  7. data/lib/oursprivacy_ingest/models/experiment_assignment_params.rb +94 -0
  8. data/lib/oursprivacy_ingest/models/experiment_assignment_response.rb +135 -0
  9. data/lib/oursprivacy_ingest/models/experiment_personalization_params.rb +29 -0
  10. data/lib/oursprivacy_ingest/models/experiment_personalization_response.rb +73 -0
  11. data/lib/oursprivacy_ingest/models/track_event_params.rb +18 -2
  12. data/lib/oursprivacy_ingest/models/visitor_upsert_params.rb +18 -2
  13. data/lib/oursprivacy_ingest/models.rb +4 -0
  14. data/lib/oursprivacy_ingest/resources/experiments.rb +91 -0
  15. data/lib/oursprivacy_ingest/version.rb +1 -1
  16. data/lib/oursprivacy_ingest.rb +5 -0
  17. data/rbi/oursprivacy_ingest/client.rbi +3 -0
  18. data/rbi/oursprivacy_ingest/models/batch_create_params.rbi +16 -0
  19. data/rbi/oursprivacy_ingest/models/experiment_assignment_params.rbi +159 -0
  20. data/rbi/oursprivacy_ingest/models/experiment_assignment_response.rbi +284 -0
  21. data/rbi/oursprivacy_ingest/models/experiment_personalization_params.rbi +52 -0
  22. data/rbi/oursprivacy_ingest/models/experiment_personalization_response.rbi +151 -0
  23. data/rbi/oursprivacy_ingest/models/track_event_params.rbi +16 -0
  24. data/rbi/oursprivacy_ingest/models/visitor_upsert_params.rbi +16 -0
  25. data/rbi/oursprivacy_ingest/models.rbi +6 -0
  26. data/rbi/oursprivacy_ingest/resources/experiments.rbi +75 -0
  27. data/sig/oursprivacy_ingest/client.rbs +2 -0
  28. data/sig/oursprivacy_ingest/models/batch_create_params.rbs +10 -0
  29. data/sig/oursprivacy_ingest/models/experiment_assignment_params.rbs +58 -0
  30. data/sig/oursprivacy_ingest/models/experiment_assignment_response.rbs +132 -0
  31. data/sig/oursprivacy_ingest/models/experiment_personalization_params.rbs +28 -0
  32. data/sig/oursprivacy_ingest/models/experiment_personalization_response.rbs +77 -0
  33. data/sig/oursprivacy_ingest/models/track_event_params.rbs +10 -0
  34. data/sig/oursprivacy_ingest/models/visitor_upsert_params.rbs +10 -0
  35. data/sig/oursprivacy_ingest/models.rbs +4 -0
  36. data/sig/oursprivacy_ingest/resources/experiments.rbs +22 -0
  37. metadata +17 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5b37fe59b66fe28fc56f5e19dc9b6440478ddbb90f387e9b618f2aade2a2e281
4
- data.tar.gz: f1015c560142fd14deb6c9892b5349ea3c062da30610dd7fb56387abb59a309a
3
+ metadata.gz: 9c5114b97abdb6cb31f0426d0f4044598ba178b96cdb543730e50114b8328ee7
4
+ data.tar.gz: 0fef11ff275b60c78888766d3d83f6b77a880398883b7cfa699a0b2b6cdfe442
5
5
  SHA512:
6
- metadata.gz: 52e45a24efacfc15f4826b5fb696aae27c484bb1f8e507f04c70af9040707ee961862f5217b1bc8eac3e9075f71a563687d7e77e9073a2d168ce64c4c2a0b578
7
- data.tar.gz: 321cb84832e867f3fa31dda24bf650f8e2b15df38775853795c1a07277e30c512abd2fdffc6087a2c17f9cc07fd958b379c784471d65a194516b1930ad95d3f3
6
+ metadata.gz: b232dda8a6ecff6f7f9be49efa1a00af1bdf527c5170da627068a68e4fd70b266f7544141ead7438ab4690608e10c0a17421c2a246302db34b565a12738b0917
7
+ data.tar.gz: 3f07e898b01e2efa4a90b76c17cfd0ba6a3afa06cf428b3915937cad878cf487c2f5c0cffe0301f9b74069ad24618d180f2ea5496cf5d3a5adc73eca73c8cb05
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.12.0 (2026-06-03)
4
+
5
+ Full Changelog: [v1.11.0...v1.12.0](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.11.0...v1.12.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([259d4e5](https://github.com/with-ours/ingest-sdk-ruby/commit/259d4e55ac1926a75bb6193f51b3e0988963466a))
10
+
11
+ ## 1.11.0 (2026-05-28)
12
+
13
+ Full Changelog: [v1.10.0...v1.11.0](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.10.0...v1.11.0)
14
+
15
+ ### Features
16
+
17
+ * **api:** api update ([1836d36](https://github.com/with-ours/ingest-sdk-ruby/commit/1836d362919dea15c8bd5912d54a958a0ee34610))
18
+
3
19
  ## 1.10.0 (2026-05-27)
4
20
 
5
21
  Full Changelog: [v1.9.0...v1.10.0](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.9.0...v1.10.0)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "oursprivacy-ingest", "~> 1.10.0"
20
+ gem "oursprivacy-ingest", "~> 1.12.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -24,6 +24,9 @@ module OursprivacyIngest
24
24
  # @return [OursprivacyIngest::Resources::Visitor]
25
25
  attr_reader :visitor
26
26
 
27
+ # @return [OursprivacyIngest::Resources::Experiments]
28
+ attr_reader :experiments
29
+
27
30
  # @api private
28
31
  #
29
32
  # @return [Boolean]
@@ -77,6 +80,7 @@ module OursprivacyIngest
77
80
  @batch = OursprivacyIngest::Resources::Batch.new(client: self)
78
81
  @track = OursprivacyIngest::Resources::Track.new(client: self)
79
82
  @visitor = OursprivacyIngest::Resources::Visitor.new(client: self)
83
+ @experiments = OursprivacyIngest::Resources::Experiments.new(client: self)
80
84
  end
81
85
  end
82
86
  end
@@ -4,6 +4,17 @@ module OursprivacyIngest
4
4
  module Internal
5
5
  module Type
6
6
  # @api private
7
+ #
8
+ # @example
9
+ # # `experiment_assignment_response` is a `OursprivacyIngest::Models::ExperimentAssignmentResponse`
10
+ # case experiment_assignment_response
11
+ # when OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember0
12
+ # puts(experiment_assignment_response.experiment_id)
13
+ # when OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember1
14
+ # puts(experiment_assignment_response.in_experiment)
15
+ # else
16
+ # puts(experiment_assignment_response)
17
+ # end
7
18
  module Union
8
19
  include OursprivacyIngest::Internal::Type::Converter
9
20
  include OursprivacyIngest::Internal::Util::SorbetRuntimeSupport
@@ -416,6 +416,13 @@ module OursprivacyIngest
416
416
  # @return [Boolean, nil]
417
417
  optional :new_s, OursprivacyIngest::Internal::Type::Boolean, nil?: true
418
418
 
419
+ # @!attribute ob_click_id
420
+ # The Outbrain click ID, captured from the `ob_click_id` URL parameter (Outbrain
421
+ # `{{ob_click_id}}` macro) on the landing page. Ex: ob_click_abc123
422
+ #
423
+ # @return [String, nil]
424
+ optional :ob_click_id, String, nil?: true
425
+
419
426
  # @!attribute oppref
420
427
  # The OpenAI Ads privacy-preserving reference, captured from the `oppref` URL
421
428
  # parameter on landing pages (the OpenAI Pixel also stores it in a `__oppref`
@@ -622,7 +629,7 @@ module OursprivacyIngest
622
629
  # @return [Boolean, nil]
623
630
  optional :webview, OursprivacyIngest::Internal::Type::Boolean, nil?: true
624
631
 
625
- # @!method initialize(_ef_transaction_id: nil, active_duration: nil, ad_id: nil, admitad_uid: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: nil, beeswax_auction_id: nil, browser_language: nil, browser_name: nil, browser_version: nil, campaign_id: nil, clickid: nil, clid: nil, cpu_architecture: nil, current_url: nil, dclid: nil, device_model: nil, device_type: nil, device_vendor: nil, duration: nil, encoding: nil, engine_name: nil, engine_version: nil, epik: nil, fbc: nil, fbclid: nil, fbp: nil, fv: nil, gad_source: nil, gbraid: nil, gclid: nil, host: nil, iframe: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, new_s: nil, oppref: nil, os_name: nil, os_version: nil, page_hash: nil, pathname: nil, qclid: nil, rdt_cid: nil, received_at: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, screen_height: nil, screen_width: nil, session_count: nil, sid: nil, sr: nil, title: nil, ttclid: nil, twclid: nil, uafvl: nil, user_agent: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, version: nil, viant_click_id: nil, viant_impression_id: nil, wbraid: nil, webview: nil)
632
+ # @!method initialize(_ef_transaction_id: nil, active_duration: nil, ad_id: nil, admitad_uid: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: nil, beeswax_auction_id: nil, browser_language: nil, browser_name: nil, browser_version: nil, campaign_id: nil, clickid: nil, clid: nil, cpu_architecture: nil, current_url: nil, dclid: nil, device_model: nil, device_type: nil, device_vendor: nil, duration: nil, encoding: nil, engine_name: nil, engine_version: nil, epik: nil, fbc: nil, fbclid: nil, fbp: nil, fv: nil, gad_source: nil, gbraid: nil, gclid: nil, host: nil, iframe: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, new_s: nil, ob_click_id: nil, oppref: nil, os_name: nil, os_version: nil, page_hash: nil, pathname: nil, qclid: nil, rdt_cid: nil, received_at: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, screen_height: nil, screen_width: nil, session_count: nil, sid: nil, sr: nil, title: nil, ttclid: nil, twclid: nil, uafvl: nil, user_agent: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, version: nil, viant_click_id: nil, viant_impression_id: nil, wbraid: nil, webview: nil)
626
633
  # Some parameter documentations has been truncated, see
627
634
  # {OursprivacyIngest::Models::BatchCreateParams::Event::DefaultProperties} for
628
635
  # more details.
@@ -719,6 +726,8 @@ module OursprivacyIngest
719
726
  #
720
727
  # @param new_s [Boolean, nil] Deprecated
721
728
  #
729
+ # @param ob_click_id [String, nil] The Outbrain click ID, captured from the `ob_click_id` URL parameter (Outbrain `
730
+ #
722
731
  # @param oppref [String, nil] The OpenAI Ads privacy-preserving reference, captured from the `oppref` URL para
723
732
  #
724
733
  # @param os_name [String, nil] The name of the operating system. Ex: Windows
@@ -1010,6 +1019,11 @@ module OursprivacyIngest
1010
1019
  # @return [String, nil]
1011
1020
  optional :ndclid, String, nil?: true
1012
1021
 
1022
+ # @!attribute ob_click_id
1023
+ #
1024
+ # @return [String, nil]
1025
+ optional :ob_click_id, String, nil?: true
1026
+
1013
1027
  # @!attribute oppref
1014
1028
  #
1015
1029
  # @return [String, nil]
@@ -1130,7 +1144,7 @@ module OursprivacyIngest
1130
1144
  # @return [String, nil]
1131
1145
  optional :zip, String, nil?: true
1132
1146
 
1133
- # @!method initialize(_ef_transaction_id: nil, ad_id: nil, admitad_uid: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: nil, beeswax_auction_id: nil, campaign_id: nil, city: nil, clickid: nil, clid: nil, company_name: nil, consent: nil, country: nil, custom_properties: nil, date_of_birth: nil, dclid: nil, email: nil, epik: nil, external_id: nil, fbc: nil, fbclid: nil, fbp: nil, first_name: nil, gad_source: nil, gbraid: nil, gclid: nil, gender: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, job_title: nil, last_name: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, oppref: nil, phone_number: nil, qclid: nil, rdt_cid: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, sid: nil, state: nil, ttclid: nil, twclid: nil, user_agent: nil, user_agent_full_list: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, viant_click_id: nil, viant_impression_id: nil, wbraid: nil, zip: nil)
1147
+ # @!method initialize(_ef_transaction_id: nil, ad_id: nil, admitad_uid: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: nil, beeswax_auction_id: nil, campaign_id: nil, city: nil, clickid: nil, clid: nil, company_name: nil, consent: nil, country: nil, custom_properties: nil, date_of_birth: nil, dclid: nil, email: nil, epik: nil, external_id: nil, fbc: nil, fbclid: nil, fbp: nil, first_name: nil, gad_source: nil, gbraid: nil, gclid: nil, gender: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, job_title: nil, last_name: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, ob_click_id: nil, oppref: nil, phone_number: nil, qclid: nil, rdt_cid: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, sid: nil, state: nil, ttclid: nil, twclid: nil, user_agent: nil, user_agent_full_list: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, viant_click_id: nil, viant_impression_id: nil, wbraid: nil, zip: nil)
1134
1148
  # Properties to set on the visitor. (optional) You can also update these
1135
1149
  # properties via the identify endpoint.
1136
1150
  #
@@ -1212,6 +1226,8 @@ module OursprivacyIngest
1212
1226
  #
1213
1227
  # @param ndclid [String, nil]
1214
1228
  #
1229
+ # @param ob_click_id [String, nil]
1230
+ #
1215
1231
  # @param oppref [String, nil]
1216
1232
  #
1217
1233
  # @param phone_number [String, nil]
@@ -0,0 +1,94 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OursprivacyIngest
4
+ module Models
5
+ # @see OursprivacyIngest::Resources::Experiments#assignment
6
+ class ExperimentAssignmentParams < OursprivacyIngest::Internal::Type::BaseModel
7
+ extend OursprivacyIngest::Internal::Type::RequestParameters::Converter
8
+ include OursprivacyIngest::Internal::Type::RequestParameters
9
+
10
+ # @!attribute experiment_key
11
+ # The experiment's stable key. Surfaced in the dashboard under each experiment's
12
+ # setup tab.
13
+ #
14
+ # @return [String]
15
+ required :experiment_key, String
16
+
17
+ # @!attribute token
18
+ # The experiment token (`exp_*`) for the experiment settings holding this
19
+ # experiment. Available from the dashboard.
20
+ #
21
+ # @return [String]
22
+ required :token, String
23
+
24
+ # @!attribute visitor_id
25
+ # Stable identifier for the visitor — typically the Ours visitor id from your
26
+ # browser cookie, or your own server-side user id if you keep the same id
27
+ # consistent across browser and server.
28
+ #
29
+ # @return [String]
30
+ required :visitor_id, String
31
+
32
+ # @!attribute context
33
+ # Optional page context for URL + query-param eligibility. Variant bucketing is
34
+ # deterministic on `visitor_id` regardless of context.
35
+ #
36
+ # @return [OursprivacyIngest::Models::ExperimentAssignmentParams::Context, nil]
37
+ optional :context, -> { OursprivacyIngest::ExperimentAssignmentParams::Context }, nil?: true
38
+
39
+ # @!attribute track_impression
40
+ # When true (default), an `$experiment_impression` event is enqueued and the
41
+ # visitor's `experiment_assignments` map is updated. Set to false to read the
42
+ # assignment without recording an impression — useful for in-test diagnostics.
43
+ #
44
+ # @return [Boolean, nil]
45
+ optional :track_impression, OursprivacyIngest::Internal::Type::Boolean, nil?: true
46
+
47
+ # @!method initialize(experiment_key:, token:, visitor_id:, context: nil, track_impression: nil, request_options: {})
48
+ # Some parameter documentations has been truncated, see
49
+ # {OursprivacyIngest::Models::ExperimentAssignmentParams} for more details.
50
+ #
51
+ # @param experiment_key [String] The experiment's stable key. Surfaced in the dashboard under each experiment's s
52
+ #
53
+ # @param token [String] The experiment token (`exp_*`) for the experiment settings holding this experime
54
+ #
55
+ # @param visitor_id [String] Stable identifier for the visitor — typically the Ours visitor id from your brow
56
+ #
57
+ # @param context [OursprivacyIngest::Models::ExperimentAssignmentParams::Context, nil] Optional page context for URL + query-param eligibility. Variant bucketing is de
58
+ #
59
+ # @param track_impression [Boolean, nil] When true (default), an `$experiment_impression` event is enqueued and the visit
60
+ #
61
+ # @param request_options [OursprivacyIngest::RequestOptions, Hash{Symbol=>Object}]
62
+
63
+ class Context < OursprivacyIngest::Internal::Type::BaseModel
64
+ # @!attribute search
65
+ # The current query string (e.g. `?utm_source=meta`). When provided, the
66
+ # experiment's query-param conditions are evaluated for eligibility. If omitted,
67
+ # the query string is parsed from `url`.
68
+ #
69
+ # @return [String, nil]
70
+ optional :search, String, nil?: true
71
+
72
+ # @!attribute url
73
+ # The current page URL. When provided, the experiment's URL patterns are evaluated
74
+ # for eligibility — visitors on non-matching URLs are returned
75
+ # `in_experiment: false`. Omit when the caller is pre-gating the request.
76
+ #
77
+ # @return [String, nil]
78
+ optional :url, String, nil?: true
79
+
80
+ # @!method initialize(search: nil, url: nil)
81
+ # Some parameter documentations has been truncated, see
82
+ # {OursprivacyIngest::Models::ExperimentAssignmentParams::Context} for more
83
+ # details.
84
+ #
85
+ # Optional page context for URL + query-param eligibility. Variant bucketing is
86
+ # deterministic on `visitor_id` regardless of context.
87
+ #
88
+ # @param search [String, nil] The current query string (e.g. `?utm_source=meta`). When provided, the experimen
89
+ #
90
+ # @param url [String, nil] The current page URL. When provided, the experiment's URL patterns are evaluated
91
+ end
92
+ end
93
+ end
94
+ end
@@ -0,0 +1,135 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OursprivacyIngest
4
+ module Models
5
+ # @see OursprivacyIngest::Resources::Experiments#assignment
6
+ module ExperimentAssignmentResponse
7
+ extend OursprivacyIngest::Internal::Type::Union
8
+
9
+ variant -> { OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember0 }
10
+
11
+ variant -> { OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember1 }
12
+
13
+ class UnionMember0 < OursprivacyIngest::Internal::Type::BaseModel
14
+ # @!attribute experiment_id
15
+ #
16
+ # @return [String]
17
+ required :experiment_id, String
18
+
19
+ # @!attribute in_experiment
20
+ #
21
+ # @return [Boolean, OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember0::InExperiment]
22
+ required :in_experiment,
23
+ enum: -> { OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember0::InExperiment }
24
+
25
+ # @!attribute success
26
+ #
27
+ # @return [Boolean, OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember0::Success]
28
+ required :success,
29
+ enum: -> { OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember0::Success }
30
+
31
+ # @!attribute variant_id
32
+ #
33
+ # @return [String]
34
+ required :variant_id, String
35
+
36
+ # @!attribute experiment_key
37
+ #
38
+ # @return [String, nil]
39
+ optional :experiment_key, String, nil?: true
40
+
41
+ # @!attribute experiment_name
42
+ #
43
+ # @return [String, nil]
44
+ optional :experiment_name, String, nil?: true
45
+
46
+ # @!attribute is_control
47
+ #
48
+ # @return [Boolean, nil]
49
+ optional :is_control, OursprivacyIngest::Internal::Type::Boolean, nil?: true
50
+
51
+ # @!attribute type
52
+ #
53
+ # @return [String, nil]
54
+ optional :type, String, nil?: true
55
+
56
+ # @!attribute variant_name
57
+ #
58
+ # @return [String, nil]
59
+ optional :variant_name, String, nil?: true
60
+
61
+ # @!method initialize(experiment_id:, in_experiment:, success:, variant_id:, experiment_key: nil, experiment_name: nil, is_control: nil, type: nil, variant_name: nil)
62
+ # @param experiment_id [String]
63
+ # @param in_experiment [Boolean, OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember0::InExperiment]
64
+ # @param success [Boolean, OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember0::Success]
65
+ # @param variant_id [String]
66
+ # @param experiment_key [String, nil]
67
+ # @param experiment_name [String, nil]
68
+ # @param is_control [Boolean, nil]
69
+ # @param type [String, nil]
70
+ # @param variant_name [String, nil]
71
+
72
+ # @see OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember0#in_experiment
73
+ module InExperiment
74
+ extend OursprivacyIngest::Internal::Type::Enum
75
+
76
+ TRUE = true
77
+
78
+ # @!method self.values
79
+ # @return [Array<Boolean>]
80
+ end
81
+
82
+ # @see OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember0#success
83
+ module Success
84
+ extend OursprivacyIngest::Internal::Type::Enum
85
+
86
+ TRUE = true
87
+
88
+ # @!method self.values
89
+ # @return [Array<Boolean>]
90
+ end
91
+ end
92
+
93
+ class UnionMember1 < OursprivacyIngest::Internal::Type::BaseModel
94
+ # @!attribute in_experiment
95
+ #
96
+ # @return [Boolean, OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember1::InExperiment]
97
+ required :in_experiment,
98
+ enum: -> { OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember1::InExperiment }
99
+
100
+ # @!attribute success
101
+ #
102
+ # @return [Boolean, OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember1::Success]
103
+ required :success,
104
+ enum: -> { OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember1::Success }
105
+
106
+ # @!method initialize(in_experiment:, success:)
107
+ # @param in_experiment [Boolean, OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember1::InExperiment]
108
+ # @param success [Boolean, OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember1::Success]
109
+
110
+ # @see OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember1#in_experiment
111
+ module InExperiment
112
+ extend OursprivacyIngest::Internal::Type::Enum
113
+
114
+ FALSE = false
115
+
116
+ # @!method self.values
117
+ # @return [Array<Boolean>]
118
+ end
119
+
120
+ # @see OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember1#success
121
+ module Success
122
+ extend OursprivacyIngest::Internal::Type::Enum
123
+
124
+ TRUE = true
125
+
126
+ # @!method self.values
127
+ # @return [Array<Boolean>]
128
+ end
129
+ end
130
+
131
+ # @!method self.variants
132
+ # @return [Array(OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember0, OursprivacyIngest::Models::ExperimentAssignmentResponse::UnionMember1)]
133
+ end
134
+ end
135
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OursprivacyIngest
4
+ module Models
5
+ # @see OursprivacyIngest::Resources::Experiments#personalization
6
+ class ExperimentPersonalizationParams < OursprivacyIngest::Internal::Type::BaseModel
7
+ extend OursprivacyIngest::Internal::Type::RequestParameters::Converter
8
+ include OursprivacyIngest::Internal::Type::RequestParameters
9
+
10
+ # @!attribute token
11
+ # The experiment token (`exp_*`).
12
+ #
13
+ # @return [String]
14
+ required :token, String
15
+
16
+ # @!attribute visitor_id
17
+ #
18
+ # @return [String]
19
+ required :visitor_id, String
20
+
21
+ # @!method initialize(token:, visitor_id:, request_options: {})
22
+ # @param token [String] The experiment token (`exp_*`).
23
+ #
24
+ # @param visitor_id [String]
25
+ #
26
+ # @param request_options [OursprivacyIngest::RequestOptions, Hash{Symbol=>Object}]
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,73 @@
1
+ # frozen_string_literal: true
2
+
3
+ module OursprivacyIngest
4
+ module Models
5
+ # @see OursprivacyIngest::Resources::Experiments#personalization
6
+ class ExperimentPersonalizationResponse < OursprivacyIngest::Internal::Type::BaseModel
7
+ # @!attribute personalizations
8
+ #
9
+ # @return [Array<OursprivacyIngest::Models::ExperimentPersonalizationResponse::Personalization>]
10
+ required :personalizations,
11
+ -> { OursprivacyIngest::Internal::Type::ArrayOf[OursprivacyIngest::Models::ExperimentPersonalizationResponse::Personalization] }
12
+
13
+ # @!attribute success
14
+ #
15
+ # @return [Boolean, OursprivacyIngest::Models::ExperimentPersonalizationResponse::Success]
16
+ required :success, enum: -> { OursprivacyIngest::Models::ExperimentPersonalizationResponse::Success }
17
+
18
+ # @!method initialize(personalizations:, success:)
19
+ # @param personalizations [Array<OursprivacyIngest::Models::ExperimentPersonalizationResponse::Personalization>]
20
+ # @param success [Boolean, OursprivacyIngest::Models::ExperimentPersonalizationResponse::Success]
21
+
22
+ class Personalization < OursprivacyIngest::Internal::Type::BaseModel
23
+ # @!attribute assigned_at
24
+ #
25
+ # @return [Float]
26
+ required :assigned_at, Float
27
+
28
+ # @!attribute experiment_id
29
+ #
30
+ # @return [String]
31
+ required :experiment_id, String
32
+
33
+ # @!attribute variant_id
34
+ #
35
+ # @return [String]
36
+ required :variant_id, String
37
+
38
+ # @!attribute experiment_key
39
+ #
40
+ # @return [String, nil]
41
+ optional :experiment_key, String, nil?: true
42
+
43
+ # @!attribute experiment_name
44
+ #
45
+ # @return [String, nil]
46
+ optional :experiment_name, String, nil?: true
47
+
48
+ # @!attribute variant_name
49
+ #
50
+ # @return [String, nil]
51
+ optional :variant_name, String, nil?: true
52
+
53
+ # @!method initialize(assigned_at:, experiment_id:, variant_id:, experiment_key: nil, experiment_name: nil, variant_name: nil)
54
+ # @param assigned_at [Float]
55
+ # @param experiment_id [String]
56
+ # @param variant_id [String]
57
+ # @param experiment_key [String, nil]
58
+ # @param experiment_name [String, nil]
59
+ # @param variant_name [String, nil]
60
+ end
61
+
62
+ # @see OursprivacyIngest::Models::ExperimentPersonalizationResponse#success
63
+ module Success
64
+ extend OursprivacyIngest::Internal::Type::Enum
65
+
66
+ TRUE = true
67
+
68
+ # @!method self.values
69
+ # @return [Array<Boolean>]
70
+ end
71
+ end
72
+ end
73
+ end
@@ -404,6 +404,13 @@ module OursprivacyIngest
404
404
  # @return [Boolean, nil]
405
405
  optional :new_s, OursprivacyIngest::Internal::Type::Boolean, nil?: true
406
406
 
407
+ # @!attribute ob_click_id
408
+ # The Outbrain click ID, captured from the `ob_click_id` URL parameter (Outbrain
409
+ # `{{ob_click_id}}` macro) on the landing page. Ex: ob_click_abc123
410
+ #
411
+ # @return [String, nil]
412
+ optional :ob_click_id, String, nil?: true
413
+
407
414
  # @!attribute oppref
408
415
  # The OpenAI Ads privacy-preserving reference, captured from the `oppref` URL
409
416
  # parameter on landing pages (the OpenAI Pixel also stores it in a `__oppref`
@@ -610,7 +617,7 @@ module OursprivacyIngest
610
617
  # @return [Boolean, nil]
611
618
  optional :webview, OursprivacyIngest::Internal::Type::Boolean, nil?: true
612
619
 
613
- # @!method initialize(_ef_transaction_id: nil, active_duration: nil, ad_id: nil, admitad_uid: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: nil, beeswax_auction_id: nil, browser_language: nil, browser_name: nil, browser_version: nil, campaign_id: nil, clickid: nil, clid: nil, cpu_architecture: nil, current_url: nil, dclid: nil, device_model: nil, device_type: nil, device_vendor: nil, duration: nil, encoding: nil, engine_name: nil, engine_version: nil, epik: nil, fbc: nil, fbclid: nil, fbp: nil, fv: nil, gad_source: nil, gbraid: nil, gclid: nil, host: nil, iframe: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, new_s: nil, oppref: nil, os_name: nil, os_version: nil, page_hash: nil, pathname: nil, qclid: nil, rdt_cid: nil, received_at: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, screen_height: nil, screen_width: nil, session_count: nil, sid: nil, sr: nil, title: nil, ttclid: nil, twclid: nil, uafvl: nil, user_agent: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, version: nil, viant_click_id: nil, viant_impression_id: nil, wbraid: nil, webview: nil)
620
+ # @!method initialize(_ef_transaction_id: nil, active_duration: nil, ad_id: nil, admitad_uid: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: nil, beeswax_auction_id: nil, browser_language: nil, browser_name: nil, browser_version: nil, campaign_id: nil, clickid: nil, clid: nil, cpu_architecture: nil, current_url: nil, dclid: nil, device_model: nil, device_type: nil, device_vendor: nil, duration: nil, encoding: nil, engine_name: nil, engine_version: nil, epik: nil, fbc: nil, fbclid: nil, fbp: nil, fv: nil, gad_source: nil, gbraid: nil, gclid: nil, host: nil, iframe: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, new_s: nil, ob_click_id: nil, oppref: nil, os_name: nil, os_version: nil, page_hash: nil, pathname: nil, qclid: nil, rdt_cid: nil, received_at: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, screen_height: nil, screen_width: nil, session_count: nil, sid: nil, sr: nil, title: nil, ttclid: nil, twclid: nil, uafvl: nil, user_agent: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, version: nil, viant_click_id: nil, viant_impression_id: nil, wbraid: nil, webview: nil)
614
621
  # Some parameter documentations has been truncated, see
615
622
  # {OursprivacyIngest::Models::TrackEventParams::DefaultProperties} for more
616
623
  # details.
@@ -707,6 +714,8 @@ module OursprivacyIngest
707
714
  #
708
715
  # @param new_s [Boolean, nil] Deprecated
709
716
  #
717
+ # @param ob_click_id [String, nil] The Outbrain click ID, captured from the `ob_click_id` URL parameter (Outbrain `
718
+ #
710
719
  # @param oppref [String, nil] The OpenAI Ads privacy-preserving reference, captured from the `oppref` URL para
711
720
  #
712
721
  # @param os_name [String, nil] The name of the operating system. Ex: Windows
@@ -994,6 +1003,11 @@ module OursprivacyIngest
994
1003
  # @return [String, nil]
995
1004
  optional :ndclid, String, nil?: true
996
1005
 
1006
+ # @!attribute ob_click_id
1007
+ #
1008
+ # @return [String, nil]
1009
+ optional :ob_click_id, String, nil?: true
1010
+
997
1011
  # @!attribute oppref
998
1012
  #
999
1013
  # @return [String, nil]
@@ -1114,7 +1128,7 @@ module OursprivacyIngest
1114
1128
  # @return [String, nil]
1115
1129
  optional :zip, String, nil?: true
1116
1130
 
1117
- # @!method initialize(_ef_transaction_id: nil, ad_id: nil, admitad_uid: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: nil, beeswax_auction_id: nil, campaign_id: nil, city: nil, clickid: nil, clid: nil, company_name: nil, consent: nil, country: nil, custom_properties: nil, date_of_birth: nil, dclid: nil, email: nil, epik: nil, external_id: nil, fbc: nil, fbclid: nil, fbp: nil, first_name: nil, gad_source: nil, gbraid: nil, gclid: nil, gender: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, job_title: nil, last_name: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, oppref: nil, phone_number: nil, qclid: nil, rdt_cid: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, sid: nil, state: nil, ttclid: nil, twclid: nil, user_agent: nil, user_agent_full_list: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, viant_click_id: nil, viant_impression_id: nil, wbraid: nil, zip: nil)
1131
+ # @!method initialize(_ef_transaction_id: nil, ad_id: nil, admitad_uid: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: nil, beeswax_auction_id: nil, campaign_id: nil, city: nil, clickid: nil, clid: nil, company_name: nil, consent: nil, country: nil, custom_properties: nil, date_of_birth: nil, dclid: nil, email: nil, epik: nil, external_id: nil, fbc: nil, fbclid: nil, fbp: nil, first_name: nil, gad_source: nil, gbraid: nil, gclid: nil, gender: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, job_title: nil, last_name: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, ob_click_id: nil, oppref: nil, phone_number: nil, qclid: nil, rdt_cid: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, sid: nil, state: nil, ttclid: nil, twclid: nil, user_agent: nil, user_agent_full_list: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, viant_click_id: nil, viant_impression_id: nil, wbraid: nil, zip: nil)
1118
1132
  # Properties to set on the visitor. (optional) You can also update these
1119
1133
  # properties via the identify endpoint.
1120
1134
  #
@@ -1196,6 +1210,8 @@ module OursprivacyIngest
1196
1210
  #
1197
1211
  # @param ndclid [String, nil]
1198
1212
  #
1213
+ # @param ob_click_id [String, nil]
1214
+ #
1199
1215
  # @param oppref [String, nil]
1200
1216
  #
1201
1217
  # @param phone_number [String, nil]
@@ -288,6 +288,11 @@ module OursprivacyIngest
288
288
  # @return [String, nil]
289
289
  optional :ndclid, String, nil?: true
290
290
 
291
+ # @!attribute ob_click_id
292
+ #
293
+ # @return [String, nil]
294
+ optional :ob_click_id, String, nil?: true
295
+
291
296
  # @!attribute oppref
292
297
  #
293
298
  # @return [String, nil]
@@ -408,7 +413,7 @@ module OursprivacyIngest
408
413
  # @return [String, nil]
409
414
  optional :zip, String, nil?: true
410
415
 
411
- # @!method initialize(_ef_transaction_id: nil, ad_id: nil, admitad_uid: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: nil, beeswax_auction_id: nil, campaign_id: nil, city: nil, clickid: nil, clid: nil, company_name: nil, consent: nil, country: nil, custom_properties: nil, date_of_birth: nil, dclid: nil, email: nil, epik: nil, external_id: nil, fbc: nil, fbclid: nil, fbp: nil, first_name: nil, gad_source: nil, gbraid: nil, gclid: nil, gender: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, job_title: nil, last_name: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, oppref: nil, phone_number: nil, qclid: nil, rdt_cid: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, sid: nil, state: nil, ttclid: nil, twclid: nil, user_agent: nil, user_agent_full_list: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, viant_click_id: nil, viant_impression_id: nil, wbraid: nil, zip: nil)
416
+ # @!method initialize(_ef_transaction_id: nil, ad_id: nil, admitad_uid: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: nil, beeswax_auction_id: nil, campaign_id: nil, city: nil, clickid: nil, clid: nil, company_name: nil, consent: nil, country: nil, custom_properties: nil, date_of_birth: nil, dclid: nil, email: nil, epik: nil, external_id: nil, fbc: nil, fbclid: nil, fbp: nil, first_name: nil, gad_source: nil, gbraid: nil, gclid: nil, gender: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, job_title: nil, last_name: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, ob_click_id: nil, oppref: nil, phone_number: nil, qclid: nil, rdt_cid: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, sid: nil, state: nil, ttclid: nil, twclid: nil, user_agent: nil, user_agent_full_list: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, viant_click_id: nil, viant_impression_id: nil, wbraid: nil, zip: nil)
412
417
  # User properties to associate with this user. The existing user properties will
413
418
  # be updated. And all future events will have these properties associated with
414
419
  # them.
@@ -491,6 +496,8 @@ module OursprivacyIngest
491
496
  #
492
497
  # @param ndclid [String, nil]
493
498
  #
499
+ # @param ob_click_id [String, nil]
500
+ #
494
501
  # @param oppref [String, nil]
495
502
  #
496
503
  # @param phone_number [String, nil]
@@ -813,6 +820,13 @@ module OursprivacyIngest
813
820
  # @return [Boolean, nil]
814
821
  optional :new_s, OursprivacyIngest::Internal::Type::Boolean, nil?: true
815
822
 
823
+ # @!attribute ob_click_id
824
+ # The Outbrain click ID, captured from the `ob_click_id` URL parameter (Outbrain
825
+ # `{{ob_click_id}}` macro) on the landing page. Ex: ob_click_abc123
826
+ #
827
+ # @return [String, nil]
828
+ optional :ob_click_id, String, nil?: true
829
+
816
830
  # @!attribute oppref
817
831
  # The OpenAI Ads privacy-preserving reference, captured from the `oppref` URL
818
832
  # parameter on landing pages (the OpenAI Pixel also stores it in a `__oppref`
@@ -1019,7 +1033,7 @@ module OursprivacyIngest
1019
1033
  # @return [Boolean, nil]
1020
1034
  optional :webview, OursprivacyIngest::Internal::Type::Boolean, nil?: true
1021
1035
 
1022
- # @!method initialize(_ef_transaction_id: nil, active_duration: nil, ad_id: nil, admitad_uid: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: nil, beeswax_auction_id: nil, browser_language: nil, browser_name: nil, browser_version: nil, campaign_id: nil, clickid: nil, clid: nil, cpu_architecture: nil, current_url: nil, dclid: nil, device_model: nil, device_type: nil, device_vendor: nil, duration: nil, encoding: nil, engine_name: nil, engine_version: nil, epik: nil, fbc: nil, fbclid: nil, fbp: nil, fv: nil, gad_source: nil, gbraid: nil, gclid: nil, host: nil, iframe: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, new_s: nil, oppref: nil, os_name: nil, os_version: nil, page_hash: nil, pathname: nil, qclid: nil, rdt_cid: nil, received_at: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, screen_height: nil, screen_width: nil, session_count: nil, sid: nil, sr: nil, title: nil, ttclid: nil, twclid: nil, uafvl: nil, user_agent: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, version: nil, viant_click_id: nil, viant_impression_id: nil, wbraid: nil, webview: nil)
1036
+ # @!method initialize(_ef_transaction_id: nil, active_duration: nil, ad_id: nil, admitad_uid: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: nil, beeswax_auction_id: nil, browser_language: nil, browser_name: nil, browser_version: nil, campaign_id: nil, clickid: nil, clid: nil, cpu_architecture: nil, current_url: nil, dclid: nil, device_model: nil, device_type: nil, device_vendor: nil, duration: nil, encoding: nil, engine_name: nil, engine_version: nil, epik: nil, fbc: nil, fbclid: nil, fbp: nil, fv: nil, gad_source: nil, gbraid: nil, gclid: nil, host: nil, iframe: nil, im_ref: nil, ip: nil, irclickid: nil, is_bot: nil, li_fat_id: nil, msclkid: nil, ndclid: nil, new_s: nil, ob_click_id: nil, oppref: nil, os_name: nil, os_version: nil, page_hash: nil, pathname: nil, qclid: nil, rdt_cid: nil, received_at: nil, referrer: nil, referring_domain: nil, sacid: nil, sccid: nil, screen_height: nil, screen_width: nil, session_count: nil, sid: nil, sr: nil, title: nil, ttclid: nil, twclid: nil, uafvl: nil, user_agent: nil, utm_campaign: nil, utm_content: nil, utm_medium: nil, utm_name: nil, utm_source: nil, utm_term: nil, version: nil, viant_click_id: nil, viant_impression_id: nil, wbraid: nil, webview: nil)
1023
1037
  # Some parameter documentations has been truncated, see
1024
1038
  # {OursprivacyIngest::Models::VisitorUpsertParams::DefaultProperties} for more
1025
1039
  # details.
@@ -1116,6 +1130,8 @@ module OursprivacyIngest
1116
1130
  #
1117
1131
  # @param new_s [Boolean, nil] Deprecated
1118
1132
  #
1133
+ # @param ob_click_id [String, nil] The Outbrain click ID, captured from the `ob_click_id` URL parameter (Outbrain `
1134
+ #
1119
1135
  # @param oppref [String, nil] The OpenAI Ads privacy-preserving reference, captured from the `oppref` URL para
1120
1136
  #
1121
1137
  # @param os_name [String, nil] The name of the operating system. Ex: Windows
@@ -44,6 +44,10 @@ module OursprivacyIngest
44
44
 
45
45
  BatchCreateParams = OursprivacyIngest::Models::BatchCreateParams
46
46
 
47
+ ExperimentAssignmentParams = OursprivacyIngest::Models::ExperimentAssignmentParams
48
+
49
+ ExperimentPersonalizationParams = OursprivacyIngest::Models::ExperimentPersonalizationParams
50
+
47
51
  TrackEventParams = OursprivacyIngest::Models::TrackEventParams
48
52
 
49
53
  VisitorUpsertParams = OursprivacyIngest::Models::VisitorUpsertParams