oursprivacy-ingest 1.2.3 → 1.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b2f2e3b6acea59e862c30fd30eb76550b2bb7ce89ed0d7a50ef0f748d8e14951
4
- data.tar.gz: 2a0ec45fed386a84a55ed83af927d1271a86d27ac7d4a1bca9083a639315440f
3
+ metadata.gz: b75bdf91712101469660844dc377093774d654c1293670bcb70beeec2bc8149c
4
+ data.tar.gz: 920b96f9003483239ea60323b348273876e75e7208129c8244e083656e09f062
5
5
  SHA512:
6
- metadata.gz: b5c41f87bcac123d83b89d531ab0d2f3f16cd1044fe2938965f2b7c43697f0c9e260eb307af6840904106c692849e965b23e5ea4b77cf0712ca61604901a00b7
7
- data.tar.gz: 5011f6d9567b9ff390df47ee56c02fd7f130df6de0d9f5fd463a02c78239027c2d570d61631041ecdef80b2435d96ab079970c0df223ecd049653d455a9034c8
6
+ metadata.gz: f98eca30a4aa22e13bcf2e0443d45e20bb7a9f7f664dfa323f2558402d3d56d2106e1b410b7795f5e14c67671813915c52092752e3a72b02f41c7802a1180bd2
7
+ data.tar.gz: 60406f3d90cf09f03558b30ce5b2f1057cc45e67ddf7ff049b4cd886c9bef66ceb53026504536924cd37a7a8b91b4eff56741e0184a989ee534e880910051ec5
data/CHANGELOG.md CHANGED
@@ -1,5 +1,15 @@
1
1
  # Changelog
2
2
 
3
+ ## 1.3.0 (2026-04-29)
4
+
5
+ Full Changelog: [v1.2.3...v1.3.0](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.2.3...v1.3.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([c4d41a9](https://github.com/with-ours/ingest-sdk-ruby/commit/c4d41a951927262d4dcbb35f03ea6bb126550484))
10
+ * **api:** api update ([888ebc1](https://github.com/with-ours/ingest-sdk-ruby/commit/888ebc1a6528a9f8303e7e6246b3959611672c9e))
11
+ * support setting headers via env ([c8e291b](https://github.com/with-ours/ingest-sdk-ruby/commit/c8e291b6cf982a820551fde0e7e91ac6951ca5bc))
12
+
3
13
  ## 1.2.3 (2026-04-23)
4
14
 
5
15
  Full Changelog: [v1.2.2...v1.2.3](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.2.2...v1.2.3)
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.2.3"
20
+ gem "oursprivacy-ingest", "~> 1.3.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -49,12 +49,26 @@ module OursprivacyIngest
49
49
 
50
50
  base_url ||= "https://api.oursprivacy.com/api/v1"
51
51
 
52
+ headers = {}
53
+ custom_headers_env = ENV["OURS_PRIVACY_CUSTOM_HEADERS"]
54
+ unless custom_headers_env.nil?
55
+ parsed = {}
56
+ custom_headers_env.split("\n").each do |line|
57
+ colon = line.index(":")
58
+ unless colon.nil?
59
+ parsed[line[0...colon].strip] = line[(colon + 1)..].strip
60
+ end
61
+ end
62
+ headers = parsed.merge(headers)
63
+ end
64
+
52
65
  super(
53
66
  base_url: base_url,
54
67
  timeout: timeout,
55
68
  max_retries: max_retries,
56
69
  initial_retry_delay: initial_retry_delay,
57
- max_retry_delay: max_retry_delay
70
+ max_retry_delay: max_retry_delay,
71
+ headers: headers
58
72
  )
59
73
 
60
74
  @track = OursprivacyIngest::Resources::Track.new(client: self)
@@ -138,6 +138,12 @@ module OursprivacyIngest
138
138
  # @return [String, nil]
139
139
  optional :ad_id, String, nil?: true
140
140
 
141
+ # @!attribute admitad_uid
142
+ # The Admitad (Mitgo) affiliate Click ID. Ex: admitad_uid_abc123
143
+ #
144
+ # @return [String, nil]
145
+ optional :admitad_uid, String, nil?: true
146
+
141
147
  # @!attribute adset_id
142
148
  # The adset id for detected in the session. This is set by the web sdk
143
149
  # automatically.
@@ -559,7 +565,7 @@ module OursprivacyIngest
559
565
  # @return [Boolean, nil]
560
566
  optional :webview, OursprivacyIngest::Internal::Type::Boolean, nil?: true
561
567
 
562
- # @!method initialize(active_duration: nil, ad_id: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: 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, wbraid: nil, webview: nil)
568
+ # @!method initialize(active_duration: nil, ad_id: nil, admitad_uid: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: 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, wbraid: nil, webview: nil)
563
569
  # Some parameter documentations has been truncated, see
564
570
  # {OursprivacyIngest::Models::TrackEventParams::DefaultProperties} for more
565
571
  # details.
@@ -571,6 +577,8 @@ module OursprivacyIngest
571
577
  #
572
578
  # @param ad_id [String, nil] The ad id for detected in the session. This is set by the web sdk automatically.
573
579
  #
580
+ # @param admitad_uid [String, nil] The Admitad (Mitgo) affiliate Click ID. Ex: admitad_uid_abc123
581
+ #
574
582
  # @param adset_id [String, nil] The adset id for detected in the session. This is set by the web sdk automatical
575
583
  #
576
584
  # @param alart [String, nil] The AppLovin alart query parameter. Ex: alart123
@@ -739,6 +747,11 @@ module OursprivacyIngest
739
747
  # @return [String, nil]
740
748
  optional :ad_id, String, nil?: true
741
749
 
750
+ # @!attribute admitad_uid
751
+ #
752
+ # @return [String, nil]
753
+ optional :admitad_uid, String, nil?: true
754
+
742
755
  # @!attribute adset_id
743
756
  #
744
757
  # @return [String, nil]
@@ -1020,12 +1033,14 @@ module OursprivacyIngest
1020
1033
  # @return [String, nil]
1021
1034
  optional :zip, String, nil?: true
1022
1035
 
1023
- # @!method initialize(ad_id: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: 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, wbraid: nil, zip: nil)
1036
+ # @!method initialize(ad_id: nil, admitad_uid: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: 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, wbraid: nil, zip: nil)
1024
1037
  # Properties to set on the visitor. (optional) You can also update these
1025
1038
  # properties via the identify endpoint.
1026
1039
  #
1027
1040
  # @param ad_id [String, nil]
1028
1041
  #
1042
+ # @param admitad_uid [String, nil]
1043
+ #
1029
1044
  # @param adset_id [String, nil]
1030
1045
  #
1031
1046
  # @param alart [String, nil]
@@ -94,6 +94,11 @@ module OursprivacyIngest
94
94
  # @return [String, nil]
95
95
  optional :ad_id, String, nil?: true
96
96
 
97
+ # @!attribute admitad_uid
98
+ #
99
+ # @return [String, nil]
100
+ optional :admitad_uid, String, nil?: true
101
+
97
102
  # @!attribute adset_id
98
103
  #
99
104
  # @return [String, nil]
@@ -375,13 +380,15 @@ module OursprivacyIngest
375
380
  # @return [String, nil]
376
381
  optional :zip, String, nil?: true
377
382
 
378
- # @!method initialize(ad_id: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: 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, wbraid: nil, zip: nil)
383
+ # @!method initialize(ad_id: nil, admitad_uid: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: 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, wbraid: nil, zip: nil)
379
384
  # User properties to associate with this user. The existing user properties will
380
385
  # be updated. And all future events will have these properties associated with
381
386
  # them.
382
387
  #
383
388
  # @param ad_id [String, nil]
384
389
  #
390
+ # @param admitad_uid [String, nil]
391
+ #
385
392
  # @param adset_id [String, nil]
386
393
  #
387
394
  # @param alart [String, nil]
@@ -508,6 +515,12 @@ module OursprivacyIngest
508
515
  # @return [String, nil]
509
516
  optional :ad_id, String, nil?: true
510
517
 
518
+ # @!attribute admitad_uid
519
+ # The Admitad (Mitgo) affiliate Click ID. Ex: admitad_uid_abc123
520
+ #
521
+ # @return [String, nil]
522
+ optional :admitad_uid, String, nil?: true
523
+
511
524
  # @!attribute adset_id
512
525
  # The adset id for detected in the session. This is set by the web sdk
513
526
  # automatically.
@@ -929,7 +942,7 @@ module OursprivacyIngest
929
942
  # @return [Boolean, nil]
930
943
  optional :webview, OursprivacyIngest::Internal::Type::Boolean, nil?: true
931
944
 
932
- # @!method initialize(active_duration: nil, ad_id: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: 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, wbraid: nil, webview: nil)
945
+ # @!method initialize(active_duration: nil, ad_id: nil, admitad_uid: nil, adset_id: nil, alart: nil, aleid: nil, axwrt: nil, basis_cid: 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, wbraid: nil, webview: nil)
933
946
  # Some parameter documentations has been truncated, see
934
947
  # {OursprivacyIngest::Models::VisitorUpsertParams::DefaultProperties} for more
935
948
  # details.
@@ -941,6 +954,8 @@ module OursprivacyIngest
941
954
  #
942
955
  # @param ad_id [String, nil] The ad id for detected in the session. This is set by the web sdk automatically.
943
956
  #
957
+ # @param admitad_uid [String, nil] The Admitad (Mitgo) affiliate Click ID. Ex: admitad_uid_abc123
958
+ #
944
959
  # @param adset_id [String, nil] The adset id for detected in the session. This is set by the web sdk automatical
945
960
  #
946
961
  # @param alart [String, nil] The AppLovin alart query parameter. Ex: alart123
@@ -8,8 +8,11 @@ module OursprivacyIngest
8
8
  #
9
9
  # Track events from your server. Please include at least one of: userId,
10
10
  # externalId, or email. These properties help us associate events with existing
11
- # users. For all fields, null values unset the property and undefined values do
12
- # not unset existing properties.
11
+ # users. For top-level visitor properties: null clears the existing value, while
12
+ # undefined, omitted fields, and empty strings are ignored. For entries inside
13
+ # custom_properties: null, undefined, and empty strings are all ignored
14
+ # (custom_properties use merge semantics). See
15
+ # https://docs.oursprivacy.com/docs/data-types for details and common pitfalls.
13
16
  #
14
17
  # @overload event(token:, event:, default_properties: nil, distinct_id: nil, email: nil, event_properties: nil, external_id: nil, identity_context: nil, time: nil, user_id: nil, user_properties: nil, request_options: {})
15
18
  #
@@ -7,7 +7,12 @@ module OursprivacyIngest
7
7
  # {OursprivacyIngest::Models::VisitorUpsertParams} for more details.
8
8
  #
9
9
  # Define visitor properties on an existing visitor or create a new visitor. This
10
- # fires a $identify event, making the call visible in the event stream.
10
+ # fires a $identify event, making the call visible in the event stream. For
11
+ # top-level visitor properties: null clears the existing value, while undefined,
12
+ # omitted fields, and empty strings are ignored. For entries inside
13
+ # custom_properties: null, undefined, and empty strings are all ignored
14
+ # (custom_properties use merge semantics). See
15
+ # https://docs.oursprivacy.com/docs/data-types for details and common pitfalls.
11
16
  #
12
17
  # @overload upsert(token:, user_properties:, default_properties: nil, email: nil, external_id: nil, identity_context: nil, user_id: nil, request_options: {})
13
18
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module OursprivacyIngest
4
- VERSION = "1.2.3"
4
+ VERSION = "1.3.0"
5
5
  end
@@ -213,6 +213,10 @@ module OursprivacyIngest
213
213
  sig { returns(T.nilable(String)) }
214
214
  attr_accessor :ad_id
215
215
 
216
+ # The Admitad (Mitgo) affiliate Click ID. Ex: admitad_uid_abc123
217
+ sig { returns(T.nilable(String)) }
218
+ attr_accessor :admitad_uid
219
+
216
220
  # The adset id for detected in the session. This is set by the web sdk
217
221
  # automatically.
218
222
  sig { returns(T.nilable(String)) }
@@ -502,6 +506,7 @@ module OursprivacyIngest
502
506
  params(
503
507
  active_duration: T.nilable(Float),
504
508
  ad_id: T.nilable(String),
509
+ admitad_uid: T.nilable(String),
505
510
  adset_id: T.nilable(String),
506
511
  alart: T.nilable(String),
507
512
  aleid: T.nilable(String),
@@ -578,6 +583,8 @@ module OursprivacyIngest
578
583
  active_duration: nil,
579
584
  # The ad id for detected in the session. This is set by the web sdk automatically.
580
585
  ad_id: nil,
586
+ # The Admitad (Mitgo) affiliate Click ID. Ex: admitad_uid_abc123
587
+ admitad_uid: nil,
581
588
  # The adset id for detected in the session. This is set by the web sdk
582
589
  # automatically.
583
590
  adset_id: nil,
@@ -731,6 +738,7 @@ module OursprivacyIngest
731
738
  {
732
739
  active_duration: T.nilable(Float),
733
740
  ad_id: T.nilable(String),
741
+ admitad_uid: T.nilable(String),
734
742
  adset_id: T.nilable(String),
735
743
  alart: T.nilable(String),
736
744
  aleid: T.nilable(String),
@@ -853,6 +861,9 @@ module OursprivacyIngest
853
861
  sig { returns(T.nilable(String)) }
854
862
  attr_accessor :ad_id
855
863
 
864
+ sig { returns(T.nilable(String)) }
865
+ attr_accessor :admitad_uid
866
+
856
867
  sig { returns(T.nilable(String)) }
857
868
  attr_accessor :adset_id
858
869
 
@@ -1027,6 +1038,7 @@ module OursprivacyIngest
1027
1038
  sig do
1028
1039
  params(
1029
1040
  ad_id: T.nilable(String),
1041
+ admitad_uid: T.nilable(String),
1030
1042
  adset_id: T.nilable(String),
1031
1043
  alart: T.nilable(String),
1032
1044
  aleid: T.nilable(String),
@@ -1087,6 +1099,7 @@ module OursprivacyIngest
1087
1099
  end
1088
1100
  def self.new(
1089
1101
  ad_id: nil,
1102
+ admitad_uid: nil,
1090
1103
  adset_id: nil,
1091
1104
  alart: nil,
1092
1105
  aleid: nil,
@@ -1151,6 +1164,7 @@ module OursprivacyIngest
1151
1164
  override.returns(
1152
1165
  {
1153
1166
  ad_id: T.nilable(String),
1167
+ admitad_uid: T.nilable(String),
1154
1168
  adset_id: T.nilable(String),
1155
1169
  alart: T.nilable(String),
1156
1170
  aleid: T.nilable(String),
@@ -174,6 +174,9 @@ module OursprivacyIngest
174
174
  sig { returns(T.nilable(String)) }
175
175
  attr_accessor :ad_id
176
176
 
177
+ sig { returns(T.nilable(String)) }
178
+ attr_accessor :admitad_uid
179
+
177
180
  sig { returns(T.nilable(String)) }
178
181
  attr_accessor :adset_id
179
182
 
@@ -349,6 +352,7 @@ module OursprivacyIngest
349
352
  sig do
350
353
  params(
351
354
  ad_id: T.nilable(String),
355
+ admitad_uid: T.nilable(String),
352
356
  adset_id: T.nilable(String),
353
357
  alart: T.nilable(String),
354
358
  aleid: T.nilable(String),
@@ -409,6 +413,7 @@ module OursprivacyIngest
409
413
  end
410
414
  def self.new(
411
415
  ad_id: nil,
416
+ admitad_uid: nil,
412
417
  adset_id: nil,
413
418
  alart: nil,
414
419
  aleid: nil,
@@ -473,6 +478,7 @@ module OursprivacyIngest
473
478
  override.returns(
474
479
  {
475
480
  ad_id: T.nilable(String),
481
+ admitad_uid: T.nilable(String),
476
482
  adset_id: T.nilable(String),
477
483
  alart: T.nilable(String),
478
484
  aleid: T.nilable(String),
@@ -553,6 +559,10 @@ module OursprivacyIngest
553
559
  sig { returns(T.nilable(String)) }
554
560
  attr_accessor :ad_id
555
561
 
562
+ # The Admitad (Mitgo) affiliate Click ID. Ex: admitad_uid_abc123
563
+ sig { returns(T.nilable(String)) }
564
+ attr_accessor :admitad_uid
565
+
556
566
  # The adset id for detected in the session. This is set by the web sdk
557
567
  # automatically.
558
568
  sig { returns(T.nilable(String)) }
@@ -842,6 +852,7 @@ module OursprivacyIngest
842
852
  params(
843
853
  active_duration: T.nilable(Float),
844
854
  ad_id: T.nilable(String),
855
+ admitad_uid: T.nilable(String),
845
856
  adset_id: T.nilable(String),
846
857
  alart: T.nilable(String),
847
858
  aleid: T.nilable(String),
@@ -918,6 +929,8 @@ module OursprivacyIngest
918
929
  active_duration: nil,
919
930
  # The ad id for detected in the session. This is set by the web sdk automatically.
920
931
  ad_id: nil,
932
+ # The Admitad (Mitgo) affiliate Click ID. Ex: admitad_uid_abc123
933
+ admitad_uid: nil,
921
934
  # The adset id for detected in the session. This is set by the web sdk
922
935
  # automatically.
923
936
  adset_id: nil,
@@ -1071,6 +1084,7 @@ module OursprivacyIngest
1071
1084
  {
1072
1085
  active_duration: T.nilable(Float),
1073
1086
  ad_id: T.nilable(String),
1087
+ admitad_uid: T.nilable(String),
1074
1088
  adset_id: T.nilable(String),
1075
1089
  alart: T.nilable(String),
1076
1090
  aleid: T.nilable(String),
@@ -5,8 +5,11 @@ module OursprivacyIngest
5
5
  class Track
6
6
  # Track events from your server. Please include at least one of: userId,
7
7
  # externalId, or email. These properties help us associate events with existing
8
- # users. For all fields, null values unset the property and undefined values do
9
- # not unset existing properties.
8
+ # users. For top-level visitor properties: null clears the existing value, while
9
+ # undefined, omitted fields, and empty strings are ignored. For entries inside
10
+ # custom_properties: null, undefined, and empty strings are all ignored
11
+ # (custom_properties use merge semantics). See
12
+ # https://docs.oursprivacy.com/docs/data-types for details and common pitfalls.
10
13
  sig do
11
14
  params(
12
15
  token: String,
@@ -4,7 +4,12 @@ module OursprivacyIngest
4
4
  module Resources
5
5
  class Visitor
6
6
  # Define visitor properties on an existing visitor or create a new visitor. This
7
- # fires a $identify event, making the call visible in the event stream.
7
+ # fires a $identify event, making the call visible in the event stream. For
8
+ # top-level visitor properties: null clears the existing value, while undefined,
9
+ # omitted fields, and empty strings are ignored. For entries inside
10
+ # custom_properties: null, undefined, and empty strings are all ignored
11
+ # (custom_properties use merge semantics). See
12
+ # https://docs.oursprivacy.com/docs/data-types for details and common pitfalls.
8
13
  sig do
9
14
  params(
10
15
  token: String,
@@ -76,6 +76,7 @@ module OursprivacyIngest
76
76
  {
77
77
  active_duration: Float?,
78
78
  ad_id: String?,
79
+ admitad_uid: String?,
79
80
  adset_id: String?,
80
81
  alart: String?,
81
82
  aleid: String?,
@@ -152,6 +153,8 @@ module OursprivacyIngest
152
153
 
153
154
  attr_accessor ad_id: String?
154
155
 
156
+ attr_accessor admitad_uid: String?
157
+
155
158
  attr_accessor adset_id: String?
156
159
 
157
160
  attr_accessor alart: String?
@@ -293,6 +296,7 @@ module OursprivacyIngest
293
296
  def initialize: (
294
297
  ?active_duration: Float?,
295
298
  ?ad_id: String?,
299
+ ?admitad_uid: String?,
296
300
  ?adset_id: String?,
297
301
  ?alart: String?,
298
302
  ?aleid: String?,
@@ -367,6 +371,7 @@ module OursprivacyIngest
367
371
  def to_hash: -> {
368
372
  active_duration: Float?,
369
373
  ad_id: String?,
374
+ admitad_uid: String?,
370
375
  adset_id: String?,
371
376
  alart: String?,
372
377
  aleid: String?,
@@ -454,6 +459,7 @@ module OursprivacyIngest
454
459
  type user_properties =
455
460
  {
456
461
  ad_id: String?,
462
+ admitad_uid: String?,
457
463
  adset_id: String?,
458
464
  alart: String?,
459
465
  aleid: String?,
@@ -515,6 +521,8 @@ module OursprivacyIngest
515
521
  class UserProperties < OursprivacyIngest::Internal::Type::BaseModel
516
522
  attr_accessor ad_id: String?
517
523
 
524
+ attr_accessor admitad_uid: String?
525
+
518
526
  attr_accessor adset_id: String?
519
527
 
520
528
  attr_accessor alart: String?
@@ -629,6 +637,7 @@ module OursprivacyIngest
629
637
 
630
638
  def initialize: (
631
639
  ?ad_id: String?,
640
+ ?admitad_uid: String?,
632
641
  ?adset_id: String?,
633
642
  ?alart: String?,
634
643
  ?aleid: String?,
@@ -689,6 +698,7 @@ module OursprivacyIngest
689
698
 
690
699
  def to_hash: -> {
691
700
  ad_id: String?,
701
+ admitad_uid: String?,
692
702
  adset_id: String?,
693
703
  alart: String?,
694
704
  aleid: String?,
@@ -55,6 +55,7 @@ module OursprivacyIngest
55
55
  type user_properties =
56
56
  {
57
57
  ad_id: String?,
58
+ admitad_uid: String?,
58
59
  adset_id: String?,
59
60
  alart: String?,
60
61
  aleid: String?,
@@ -116,6 +117,8 @@ module OursprivacyIngest
116
117
  class UserProperties < OursprivacyIngest::Internal::Type::BaseModel
117
118
  attr_accessor ad_id: String?
118
119
 
120
+ attr_accessor admitad_uid: String?
121
+
119
122
  attr_accessor adset_id: String?
120
123
 
121
124
  attr_accessor alart: String?
@@ -230,6 +233,7 @@ module OursprivacyIngest
230
233
 
231
234
  def initialize: (
232
235
  ?ad_id: String?,
236
+ ?admitad_uid: String?,
233
237
  ?adset_id: String?,
234
238
  ?alart: String?,
235
239
  ?aleid: String?,
@@ -290,6 +294,7 @@ module OursprivacyIngest
290
294
 
291
295
  def to_hash: -> {
292
296
  ad_id: String?,
297
+ admitad_uid: String?,
293
298
  adset_id: String?,
294
299
  alart: String?,
295
300
  aleid: String?,
@@ -353,6 +358,7 @@ module OursprivacyIngest
353
358
  {
354
359
  active_duration: Float?,
355
360
  ad_id: String?,
361
+ admitad_uid: String?,
356
362
  adset_id: String?,
357
363
  alart: String?,
358
364
  aleid: String?,
@@ -429,6 +435,8 @@ module OursprivacyIngest
429
435
 
430
436
  attr_accessor ad_id: String?
431
437
 
438
+ attr_accessor admitad_uid: String?
439
+
432
440
  attr_accessor adset_id: String?
433
441
 
434
442
  attr_accessor alart: String?
@@ -570,6 +578,7 @@ module OursprivacyIngest
570
578
  def initialize: (
571
579
  ?active_duration: Float?,
572
580
  ?ad_id: String?,
581
+ ?admitad_uid: String?,
573
582
  ?adset_id: String?,
574
583
  ?alart: String?,
575
584
  ?aleid: String?,
@@ -644,6 +653,7 @@ module OursprivacyIngest
644
653
  def to_hash: -> {
645
654
  active_duration: Float?,
646
655
  ad_id: String?,
656
+ admitad_uid: String?,
647
657
  adset_id: String?,
648
658
  alart: String?,
649
659
  aleid: String?,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: oursprivacy-ingest
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.3
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ours Privacy
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-04-23 00:00:00.000000000 Z
11
+ date: 2026-04-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi