oursprivacy-ingest 1.9.0 → 1.11.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 +20 -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 +20 -2
  12. data/lib/oursprivacy_ingest/models/visitor_upsert_params.rb +20 -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 +20 -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 +20 -0
  24. data/rbi/oursprivacy_ingest/models/visitor_upsert_params.rbi +20 -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: 8cd38e89b007d984d0ba3b91357e4c3e46d2123e30f152907df2ef3812922215
4
- data.tar.gz: 1591b9e963faa4d9e02a3a836436e6542c75f19ba2dc39f5474f05bca93a77e9
3
+ metadata.gz: abb94e2f78437ee3c959514e37490b858072ffc3f5fe8815e67c5d82d4a8981b
4
+ data.tar.gz: c5b94c84af1db233a51d17684e5e4c210e63beda3477c2e38ea157c3baa0a038
5
5
  SHA512:
6
- metadata.gz: bd302a69857e0968bc6bdfd7ddc232e0f00ccd1b22c61640cfe82e50a9eaa244e9121c6aef078f14bf25c87a6add8dfa9f55910a46a76b0568efb1c6b69a0fd2
7
- data.tar.gz: 06211e12d6a8ba0684315131909720e5f539773b97ebaec362101c7f5ff731e30718e2ee6b681f53bd00ecda96bd1f088d70a590056e93348daad5f926c50820
6
+ metadata.gz: 4c74d7e70b9b7d618e1acd348aae432adc4b95ad8efffd1eaf7f2bce3f5a7bbac4cbb2929cb35f7d26d7ba118bb392cc853d9f5e42e8ed699ad94a3f6b629d27
7
+ data.tar.gz: 2f0153bad01e49db6f65d1e10443a35b8e642b975436285937339841d5b1726a4d4100b53908cc982604d9b1b0ae1b157baaa0d715b962b89d63fd5df6b32da0
data/CHANGELOG.md CHANGED
@@ -1,5 +1,21 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.11.0 (2026-05-28)
4
+
5
+ Full Changelog: [v1.10.0...v1.11.0](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.10.0...v1.11.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([1836d36](https://github.com/with-ours/ingest-sdk-ruby/commit/1836d362919dea15c8bd5912d54a958a0ee34610))
10
+
11
+ ## 1.10.0 (2026-05-27)
12
+
13
+ Full Changelog: [v1.9.0...v1.10.0](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.9.0...v1.10.0)
14
+
15
+ ### Features
16
+
17
+ * **api:** api update ([3968b6e](https://github.com/with-ours/ingest-sdk-ruby/commit/3968b6e51b8ef31269c905af417dcde9c8bab383))
18
+
3
19
  ## 1.9.0 (2026-05-21)
4
20
 
5
21
  Full Changelog: [v1.8.0...v1.9.0](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.8.0...v1.9.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.9.0"
20
+ gem "oursprivacy-ingest", "~> 1.11.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,15 @@ module OursprivacyIngest
416
416
  # @return [Boolean, nil]
417
417
  optional :new_s, OursprivacyIngest::Internal::Type::Boolean, nil?: true
418
418
 
419
+ # @!attribute oppref
420
+ # The OpenAI Ads privacy-preserving reference, captured from the `oppref` URL
421
+ # parameter on landing pages (the OpenAI Pixel also stores it in a `__oppref`
422
+ # cookie). Sent to OpenAI Ads on Conversions API events for attribution. Ex:
423
+ # oppref_abc
424
+ #
425
+ # @return [String, nil]
426
+ optional :oppref, String, nil?: true
427
+
419
428
  # @!attribute os_name
420
429
  # The name of the operating system. Ex: Windows
421
430
  #
@@ -613,7 +622,7 @@ module OursprivacyIngest
613
622
  # @return [Boolean, nil]
614
623
  optional :webview, OursprivacyIngest::Internal::Type::Boolean, nil?: true
615
624
 
616
- # @!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, 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)
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)
617
626
  # Some parameter documentations has been truncated, see
618
627
  # {OursprivacyIngest::Models::BatchCreateParams::Event::DefaultProperties} for
619
628
  # more details.
@@ -710,6 +719,8 @@ module OursprivacyIngest
710
719
  #
711
720
  # @param new_s [Boolean, nil] Deprecated
712
721
  #
722
+ # @param oppref [String, nil] The OpenAI Ads privacy-preserving reference, captured from the `oppref` URL para
723
+ #
713
724
  # @param os_name [String, nil] The name of the operating system. Ex: Windows
714
725
  #
715
726
  # @param os_version [String, nil] The version of the operating system. Ex: 10.0
@@ -999,6 +1010,11 @@ module OursprivacyIngest
999
1010
  # @return [String, nil]
1000
1011
  optional :ndclid, String, nil?: true
1001
1012
 
1013
+ # @!attribute oppref
1014
+ #
1015
+ # @return [String, nil]
1016
+ optional :oppref, String, nil?: true
1017
+
1002
1018
  # @!attribute phone_number
1003
1019
  #
1004
1020
  # @return [String, nil]
@@ -1114,7 +1130,7 @@ module OursprivacyIngest
1114
1130
  # @return [String, nil]
1115
1131
  optional :zip, String, nil?: true
1116
1132
 
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, 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)
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)
1118
1134
  # Properties to set on the visitor. (optional) You can also update these
1119
1135
  # properties via the identify endpoint.
1120
1136
  #
@@ -1196,6 +1212,8 @@ module OursprivacyIngest
1196
1212
  #
1197
1213
  # @param ndclid [String, nil]
1198
1214
  #
1215
+ # @param oppref [String, nil]
1216
+ #
1199
1217
  # @param phone_number [String, nil]
1200
1218
  #
1201
1219
  # @param qclid [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,15 @@ module OursprivacyIngest
404
404
  # @return [Boolean, nil]
405
405
  optional :new_s, OursprivacyIngest::Internal::Type::Boolean, nil?: true
406
406
 
407
+ # @!attribute oppref
408
+ # The OpenAI Ads privacy-preserving reference, captured from the `oppref` URL
409
+ # parameter on landing pages (the OpenAI Pixel also stores it in a `__oppref`
410
+ # cookie). Sent to OpenAI Ads on Conversions API events for attribution. Ex:
411
+ # oppref_abc
412
+ #
413
+ # @return [String, nil]
414
+ optional :oppref, String, nil?: true
415
+
407
416
  # @!attribute os_name
408
417
  # The name of the operating system. Ex: Windows
409
418
  #
@@ -601,7 +610,7 @@ module OursprivacyIngest
601
610
  # @return [Boolean, nil]
602
611
  optional :webview, OursprivacyIngest::Internal::Type::Boolean, nil?: true
603
612
 
604
- # @!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, 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)
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)
605
614
  # Some parameter documentations has been truncated, see
606
615
  # {OursprivacyIngest::Models::TrackEventParams::DefaultProperties} for more
607
616
  # details.
@@ -698,6 +707,8 @@ module OursprivacyIngest
698
707
  #
699
708
  # @param new_s [Boolean, nil] Deprecated
700
709
  #
710
+ # @param oppref [String, nil] The OpenAI Ads privacy-preserving reference, captured from the `oppref` URL para
711
+ #
701
712
  # @param os_name [String, nil] The name of the operating system. Ex: Windows
702
713
  #
703
714
  # @param os_version [String, nil] The version of the operating system. Ex: 10.0
@@ -983,6 +994,11 @@ module OursprivacyIngest
983
994
  # @return [String, nil]
984
995
  optional :ndclid, String, nil?: true
985
996
 
997
+ # @!attribute oppref
998
+ #
999
+ # @return [String, nil]
1000
+ optional :oppref, String, nil?: true
1001
+
986
1002
  # @!attribute phone_number
987
1003
  #
988
1004
  # @return [String, nil]
@@ -1098,7 +1114,7 @@ module OursprivacyIngest
1098
1114
  # @return [String, nil]
1099
1115
  optional :zip, String, nil?: true
1100
1116
 
1101
- # @!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, 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)
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)
1102
1118
  # Properties to set on the visitor. (optional) You can also update these
1103
1119
  # properties via the identify endpoint.
1104
1120
  #
@@ -1180,6 +1196,8 @@ module OursprivacyIngest
1180
1196
  #
1181
1197
  # @param ndclid [String, nil]
1182
1198
  #
1199
+ # @param oppref [String, nil]
1200
+ #
1183
1201
  # @param phone_number [String, nil]
1184
1202
  #
1185
1203
  # @param qclid [String, nil]
@@ -288,6 +288,11 @@ module OursprivacyIngest
288
288
  # @return [String, nil]
289
289
  optional :ndclid, String, nil?: true
290
290
 
291
+ # @!attribute oppref
292
+ #
293
+ # @return [String, nil]
294
+ optional :oppref, String, nil?: true
295
+
291
296
  # @!attribute phone_number
292
297
  #
293
298
  # @return [String, nil]
@@ -403,7 +408,7 @@ module OursprivacyIngest
403
408
  # @return [String, nil]
404
409
  optional :zip, String, nil?: true
405
410
 
406
- # @!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, 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)
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)
407
412
  # User properties to associate with this user. The existing user properties will
408
413
  # be updated. And all future events will have these properties associated with
409
414
  # them.
@@ -486,6 +491,8 @@ module OursprivacyIngest
486
491
  #
487
492
  # @param ndclid [String, nil]
488
493
  #
494
+ # @param oppref [String, nil]
495
+ #
489
496
  # @param phone_number [String, nil]
490
497
  #
491
498
  # @param qclid [String, nil]
@@ -806,6 +813,15 @@ module OursprivacyIngest
806
813
  # @return [Boolean, nil]
807
814
  optional :new_s, OursprivacyIngest::Internal::Type::Boolean, nil?: true
808
815
 
816
+ # @!attribute oppref
817
+ # The OpenAI Ads privacy-preserving reference, captured from the `oppref` URL
818
+ # parameter on landing pages (the OpenAI Pixel also stores it in a `__oppref`
819
+ # cookie). Sent to OpenAI Ads on Conversions API events for attribution. Ex:
820
+ # oppref_abc
821
+ #
822
+ # @return [String, nil]
823
+ optional :oppref, String, nil?: true
824
+
809
825
  # @!attribute os_name
810
826
  # The name of the operating system. Ex: Windows
811
827
  #
@@ -1003,7 +1019,7 @@ module OursprivacyIngest
1003
1019
  # @return [Boolean, nil]
1004
1020
  optional :webview, OursprivacyIngest::Internal::Type::Boolean, nil?: true
1005
1021
 
1006
- # @!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, 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)
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)
1007
1023
  # Some parameter documentations has been truncated, see
1008
1024
  # {OursprivacyIngest::Models::VisitorUpsertParams::DefaultProperties} for more
1009
1025
  # details.
@@ -1100,6 +1116,8 @@ module OursprivacyIngest
1100
1116
  #
1101
1117
  # @param new_s [Boolean, nil] Deprecated
1102
1118
  #
1119
+ # @param oppref [String, nil] The OpenAI Ads privacy-preserving reference, captured from the `oppref` URL para
1120
+ #
1103
1121
  # @param os_name [String, nil] The name of the operating system. Ex: Windows
1104
1122
  #
1105
1123
  # @param os_version [String, nil] The version of the operating system. Ex: 10.0
@@ -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