oursprivacy-ingest 1.4.0 → 1.6.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 +4 -4
- data/CHANGELOG.md +16 -0
- data/README.md +1 -1
- data/lib/oursprivacy_ingest/models/batch_create_params.rb +27 -29
- data/lib/oursprivacy_ingest/models/batch_create_response.rb +84 -42
- data/lib/oursprivacy_ingest/models/track_event_params.rb +20 -14
- data/lib/oursprivacy_ingest/models/visitor_upsert_params.rb +15 -12
- data/lib/oursprivacy_ingest/resources/track.rb +10 -8
- data/lib/oursprivacy_ingest/resources/visitor.rb +12 -9
- data/lib/oursprivacy_ingest/version.rb +1 -1
- data/rbi/oursprivacy_ingest/models/batch_create_params.rbi +38 -37
- data/rbi/oursprivacy_ingest/models/batch_create_response.rbi +191 -108
- data/rbi/oursprivacy_ingest/models/track_event_params.rbi +32 -20
- data/rbi/oursprivacy_ingest/models/visitor_upsert_params.rbi +24 -18
- data/rbi/oursprivacy_ingest/resources/track.rbi +22 -14
- data/rbi/oursprivacy_ingest/resources/visitor.rbi +21 -15
- data/sig/oursprivacy_ingest/models/batch_create_params.rbs +5 -12
- data/sig/oursprivacy_ingest/models/batch_create_response.rbs +89 -46
- metadata +2 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: d23eb81e41813ee04947b2d1a04f410bf7b8198b2d958ae79042ca379162e62c
|
|
4
|
+
data.tar.gz: e8a0964d9d45ad11a6a2cc5dd44be08af26382036c5c95e6d6790aacd75f4817
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 2e933d84b08922ee6f9885e9fadb991b4d237a97ed77be3b2672d1e6e59564b1f15e5f9a761cb572fddb1af0c4ccc393137f9b51eccfe371dc1fe6b0661ab75c
|
|
7
|
+
data.tar.gz: c9575d16b3128719b6aac612889144486685e7894835970a813ccd2258090668507e5e8e50d48dcdfb6bd648d421d6d1b8e2da4bcbeb856bcb9a470bc356f482
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,21 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 1.6.0 (2026-05-07)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v1.5.0...v1.6.0](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.5.0...v1.6.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([c54431d](https://github.com/with-ours/ingest-sdk-ruby/commit/c54431d5d205b735a570afa625a3b8e4bdd8c67d))
|
|
10
|
+
|
|
11
|
+
## 1.5.0 (2026-05-06)
|
|
12
|
+
|
|
13
|
+
Full Changelog: [v1.4.0...v1.5.0](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.4.0...v1.5.0)
|
|
14
|
+
|
|
15
|
+
### Features
|
|
16
|
+
|
|
17
|
+
* **api:** api update ([70e698d](https://github.com/with-ours/ingest-sdk-ruby/commit/70e698d9524677ef21e236253598ef7d52babbe7))
|
|
18
|
+
|
|
3
19
|
## 1.4.0 (2026-05-06)
|
|
4
20
|
|
|
5
21
|
Full Changelog: [v1.3.0...v1.4.0](https://github.com/with-ours/ingest-sdk-ruby/compare/v1.3.0...v1.4.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.
|
|
20
|
+
gem "oursprivacy-ingest", "~> 1.6.0"
|
|
21
21
|
```
|
|
22
22
|
|
|
23
23
|
<!-- x-release-please-end -->
|
|
@@ -28,6 +28,15 @@ module OursprivacyIngest
|
|
|
28
28
|
# @param request_options [OursprivacyIngest::RequestOptions, Hash{Symbol=>Object}]
|
|
29
29
|
|
|
30
30
|
class Event < OursprivacyIngest::Internal::Type::BaseModel
|
|
31
|
+
# @!attribute distinct_id
|
|
32
|
+
# A unique identifier for this event used for deduplication. Highly recommended —
|
|
33
|
+
# if omitted, Ours will generate one for you, but supplying your own gives you
|
|
34
|
+
# stronger idempotency guarantees (e.g. a Stripe payment intent ID or your
|
|
35
|
+
# internal order ID).
|
|
36
|
+
#
|
|
37
|
+
# @return [String]
|
|
38
|
+
required :distinct_id, String, api_name: :distinctId
|
|
39
|
+
|
|
31
40
|
# @!attribute event
|
|
32
41
|
# The name of the event you're tracking. This must be whitelisted in the Ours
|
|
33
42
|
# dashboard.
|
|
@@ -35,12 +44,6 @@ module OursprivacyIngest
|
|
|
35
44
|
# @return [String]
|
|
36
45
|
required :event, String
|
|
37
46
|
|
|
38
|
-
# @!attribute token
|
|
39
|
-
# The token for your Source. You can find this in the dashboard.
|
|
40
|
-
#
|
|
41
|
-
# @return [String, nil]
|
|
42
|
-
optional :token, String
|
|
43
|
-
|
|
44
47
|
# @!attribute default_properties
|
|
45
48
|
# These properties are used throughout the Ours app to pass known values onto
|
|
46
49
|
# destinations
|
|
@@ -51,16 +54,10 @@ module OursprivacyIngest
|
|
|
51
54
|
api_name: :defaultProperties,
|
|
52
55
|
nil?: true
|
|
53
56
|
|
|
54
|
-
# @!attribute distinct_id
|
|
55
|
-
# A unique identifier for the event. This helps prevent duplicate events.
|
|
56
|
-
#
|
|
57
|
-
# @return [String, nil]
|
|
58
|
-
optional :distinct_id, String, api_name: :distinctId, nil?: true
|
|
59
|
-
|
|
60
57
|
# @!attribute email
|
|
61
|
-
# The email address of a user.
|
|
62
|
-
#
|
|
63
|
-
#
|
|
58
|
+
# The email address of a user. Used as a fallback lookup when neither userId nor
|
|
59
|
+
# externalId is provided. We search your account for a visitor with this email and
|
|
60
|
+
# attach the event to them. If no match is found, a new visitor is created.
|
|
64
61
|
#
|
|
65
62
|
# @return [String, nil]
|
|
66
63
|
optional :email, String, nil?: true
|
|
@@ -75,9 +72,11 @@ module OursprivacyIngest
|
|
|
75
72
|
nil?: true
|
|
76
73
|
|
|
77
74
|
# @!attribute external_id
|
|
78
|
-
#
|
|
79
|
-
#
|
|
80
|
-
#
|
|
75
|
+
# Your system's unique identifier for this user. We search your account for an
|
|
76
|
+
# existing visitor with this externalId and attach the event to them (resolving to
|
|
77
|
+
# their Ours Visitor ID). If no match is found, a new visitor is created. When
|
|
78
|
+
# present, email lookup is skipped. If you also have the userId from cookies or
|
|
79
|
+
# local storage, send both — it removes the lookup round-trip.
|
|
81
80
|
#
|
|
82
81
|
# @return [String, nil]
|
|
83
82
|
optional :external_id, String, api_name: :externalId, nil?: true
|
|
@@ -101,9 +100,10 @@ module OursprivacyIngest
|
|
|
101
100
|
optional :time, Float, nil?: true
|
|
102
101
|
|
|
103
102
|
# @!attribute user_id
|
|
104
|
-
# The Ours
|
|
105
|
-
#
|
|
106
|
-
# externalId
|
|
103
|
+
# The Ours Visitor ID stored in local storage and cookies on your web properties.
|
|
104
|
+
# When present, this is used directly — no lookup by externalId or email is
|
|
105
|
+
# performed. If you have both a userId and an externalId, send both so the event
|
|
106
|
+
# is attached to the right visitor without any lookup overhead.
|
|
107
107
|
#
|
|
108
108
|
# @return [String, nil]
|
|
109
109
|
optional :user_id, String, api_name: :userId, nil?: true
|
|
@@ -118,29 +118,27 @@ module OursprivacyIngest
|
|
|
118
118
|
api_name: :userProperties,
|
|
119
119
|
nil?: true
|
|
120
120
|
|
|
121
|
-
# @!method initialize(event:,
|
|
121
|
+
# @!method initialize(distinct_id:, event:, default_properties: nil, email: nil, event_properties: nil, external_id: nil, identity_context: nil, time: nil, user_id: nil, user_properties: nil)
|
|
122
122
|
# Some parameter documentations has been truncated, see
|
|
123
123
|
# {OursprivacyIngest::Models::BatchCreateParams::Event} for more details.
|
|
124
124
|
#
|
|
125
|
-
# @param
|
|
125
|
+
# @param distinct_id [String] A unique identifier for this event used for deduplication. Highly recommended —
|
|
126
126
|
#
|
|
127
|
-
# @param
|
|
127
|
+
# @param event [String] The name of the event you're tracking. This must be whitelisted in the Ours dash
|
|
128
128
|
#
|
|
129
129
|
# @param default_properties [OursprivacyIngest::Models::BatchCreateParams::Event::DefaultProperties, nil] These properties are used throughout the Ours app to pass known values onto dest
|
|
130
130
|
#
|
|
131
|
-
# @param
|
|
132
|
-
#
|
|
133
|
-
# @param email [String, nil] The email address of a user. We will associate this event with the user or creat
|
|
131
|
+
# @param email [String, nil] The email address of a user. Used as a fallback lookup when neither userId nor e
|
|
134
132
|
#
|
|
135
133
|
# @param event_properties [Hash{Symbol=>String, nil}, nil] Any additional event properties you want to pass along.
|
|
136
134
|
#
|
|
137
|
-
# @param external_id [String, nil]
|
|
135
|
+
# @param external_id [String, nil] Your system's unique identifier for this user. We search your account for an exi
|
|
138
136
|
#
|
|
139
137
|
# @param identity_context [OursprivacyIngest::Models::BatchCreateParams::Event::IdentityContext, nil] End-user network context for server-side calls. Required for probabilistic ident
|
|
140
138
|
#
|
|
141
139
|
# @param time [Float, nil] The time at which the event occurred in milliseconds since UTC epoch. The time m
|
|
142
140
|
#
|
|
143
|
-
# @param user_id [String, nil] The Ours
|
|
141
|
+
# @param user_id [String, nil] The Ours Visitor ID stored in local storage and cookies on your web properties.
|
|
144
142
|
#
|
|
145
143
|
# @param user_properties [OursprivacyIngest::Models::BatchCreateParams::Event::UserProperties, nil] Properties to set on the visitor. (optional) You can also update these propertie
|
|
146
144
|
|
|
@@ -11,70 +11,112 @@ module OursprivacyIngest
|
|
|
11
11
|
|
|
12
12
|
# @!attribute failed
|
|
13
13
|
#
|
|
14
|
-
# @return [
|
|
15
|
-
required :failed,
|
|
14
|
+
# @return [Integer]
|
|
15
|
+
required :failed, Integer
|
|
16
16
|
|
|
17
17
|
# @!attribute results
|
|
18
18
|
#
|
|
19
|
-
# @return [Array<OursprivacyIngest::Models::BatchCreateResponse::Result>]
|
|
19
|
+
# @return [Array<OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember0, OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember1>]
|
|
20
20
|
required :results,
|
|
21
|
-
-> { OursprivacyIngest::Internal::Type::ArrayOf[OursprivacyIngest::Models::BatchCreateResponse::Result] }
|
|
21
|
+
-> { OursprivacyIngest::Internal::Type::ArrayOf[union: OursprivacyIngest::Models::BatchCreateResponse::Result] }
|
|
22
22
|
|
|
23
23
|
# @!attribute success
|
|
24
24
|
#
|
|
25
|
-
# @return [Boolean
|
|
26
|
-
required :success,
|
|
25
|
+
# @return [Boolean]
|
|
26
|
+
required :success, OursprivacyIngest::Internal::Type::Boolean
|
|
27
27
|
|
|
28
28
|
# @!method initialize(accepted:, failed:, results:, success:)
|
|
29
29
|
# @param accepted [Integer]
|
|
30
|
-
# @param failed [
|
|
31
|
-
# @param results [Array<OursprivacyIngest::Models::BatchCreateResponse::Result>]
|
|
32
|
-
# @param success [Boolean
|
|
30
|
+
# @param failed [Integer]
|
|
31
|
+
# @param results [Array<OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember0, OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember1>]
|
|
32
|
+
# @param success [Boolean]
|
|
33
33
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
extend OursprivacyIngest::Internal::Type::Enum
|
|
34
|
+
module Result
|
|
35
|
+
extend OursprivacyIngest::Internal::Type::Union
|
|
37
36
|
|
|
38
|
-
|
|
37
|
+
variant -> { OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember0 }
|
|
39
38
|
|
|
40
|
-
|
|
41
|
-
# @return [Array<Float>]
|
|
42
|
-
end
|
|
39
|
+
variant -> { OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember1 }
|
|
43
40
|
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
41
|
+
class UnionMember0 < OursprivacyIngest::Internal::Type::BaseModel
|
|
42
|
+
# @!attribute index
|
|
43
|
+
#
|
|
44
|
+
# @return [Integer]
|
|
45
|
+
required :index, Integer
|
|
49
46
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
47
|
+
# @!attribute success
|
|
48
|
+
#
|
|
49
|
+
# @return [Boolean, OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember0::Success]
|
|
50
|
+
required :success,
|
|
51
|
+
enum: -> { OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember0::Success }
|
|
54
52
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
53
|
+
# @!method initialize(index:, success:)
|
|
54
|
+
# @param index [Integer]
|
|
55
|
+
# @param success [Boolean, OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember0::Success]
|
|
58
56
|
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
57
|
+
# @see OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember0#success
|
|
58
|
+
module Success
|
|
59
|
+
extend OursprivacyIngest::Internal::Type::Enum
|
|
62
60
|
|
|
63
|
-
|
|
61
|
+
TRUE = true
|
|
64
62
|
|
|
65
|
-
|
|
66
|
-
|
|
63
|
+
# @!method self.values
|
|
64
|
+
# @return [Array<Boolean>]
|
|
65
|
+
end
|
|
67
66
|
end
|
|
68
|
-
end
|
|
69
67
|
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
68
|
+
class UnionMember1 < OursprivacyIngest::Internal::Type::BaseModel
|
|
69
|
+
# @!attribute code
|
|
70
|
+
#
|
|
71
|
+
# @return [Symbol, OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember1::Code]
|
|
72
|
+
required :code, enum: -> { OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember1::Code }
|
|
73
|
+
|
|
74
|
+
# @!attribute index
|
|
75
|
+
#
|
|
76
|
+
# @return [Integer]
|
|
77
|
+
required :index, Integer
|
|
78
|
+
|
|
79
|
+
# @!attribute message
|
|
80
|
+
#
|
|
81
|
+
# @return [String]
|
|
82
|
+
required :message, String
|
|
83
|
+
|
|
84
|
+
# @!attribute success
|
|
85
|
+
#
|
|
86
|
+
# @return [Boolean, OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember1::Success]
|
|
87
|
+
required :success,
|
|
88
|
+
enum: -> { OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember1::Success }
|
|
89
|
+
|
|
90
|
+
# @!method initialize(code:, index:, message:, success:)
|
|
91
|
+
# @param code [Symbol, OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember1::Code]
|
|
92
|
+
# @param index [Integer]
|
|
93
|
+
# @param message [String]
|
|
94
|
+
# @param success [Boolean, OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember1::Success]
|
|
95
|
+
|
|
96
|
+
# @see OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember1#code
|
|
97
|
+
module Code
|
|
98
|
+
extend OursprivacyIngest::Internal::Type::Enum
|
|
99
|
+
|
|
100
|
+
INVALID_EVENT = :invalid_event
|
|
101
|
+
QUEUE_FAILED = :queue_failed
|
|
102
|
+
|
|
103
|
+
# @!method self.values
|
|
104
|
+
# @return [Array<Symbol>]
|
|
105
|
+
end
|
|
106
|
+
|
|
107
|
+
# @see OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember1#success
|
|
108
|
+
module Success
|
|
109
|
+
extend OursprivacyIngest::Internal::Type::Enum
|
|
110
|
+
|
|
111
|
+
FALSE = false
|
|
112
|
+
|
|
113
|
+
# @!method self.values
|
|
114
|
+
# @return [Array<Boolean>]
|
|
115
|
+
end
|
|
116
|
+
end
|
|
75
117
|
|
|
76
|
-
# @!method self.
|
|
77
|
-
# @return [Array
|
|
118
|
+
# @!method self.variants
|
|
119
|
+
# @return [Array(OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember0, OursprivacyIngest::Models::BatchCreateResponse::Result::UnionMember1)]
|
|
78
120
|
end
|
|
79
121
|
end
|
|
80
122
|
end
|
|
@@ -31,15 +31,18 @@ module OursprivacyIngest
|
|
|
31
31
|
nil?: true
|
|
32
32
|
|
|
33
33
|
# @!attribute distinct_id
|
|
34
|
-
# A unique identifier for
|
|
34
|
+
# A unique identifier for this event used for deduplication. Highly recommended —
|
|
35
|
+
# if omitted, Ours will generate one for you, but supplying your own gives you
|
|
36
|
+
# stronger idempotency guarantees (e.g. a Stripe payment intent ID or your
|
|
37
|
+
# internal order ID).
|
|
35
38
|
#
|
|
36
39
|
# @return [String, nil]
|
|
37
40
|
optional :distinct_id, String, api_name: :distinctId, nil?: true
|
|
38
41
|
|
|
39
42
|
# @!attribute email
|
|
40
|
-
# The email address of a user.
|
|
41
|
-
#
|
|
42
|
-
#
|
|
43
|
+
# The email address of a user. Used as a fallback lookup when neither userId nor
|
|
44
|
+
# externalId is provided. We search your account for a visitor with this email and
|
|
45
|
+
# attach the event to them. If no match is found, a new visitor is created.
|
|
43
46
|
#
|
|
44
47
|
# @return [String, nil]
|
|
45
48
|
optional :email, String, nil?: true
|
|
@@ -54,9 +57,11 @@ module OursprivacyIngest
|
|
|
54
57
|
nil?: true
|
|
55
58
|
|
|
56
59
|
# @!attribute external_id
|
|
57
|
-
#
|
|
58
|
-
#
|
|
59
|
-
#
|
|
60
|
+
# Your system's unique identifier for this user. We search your account for an
|
|
61
|
+
# existing visitor with this externalId and attach the event to them (resolving to
|
|
62
|
+
# their Ours Visitor ID). If no match is found, a new visitor is created. When
|
|
63
|
+
# present, email lookup is skipped. If you also have the userId from cookies or
|
|
64
|
+
# local storage, send both — it removes the lookup round-trip.
|
|
60
65
|
#
|
|
61
66
|
# @return [String, nil]
|
|
62
67
|
optional :external_id, String, api_name: :externalId, nil?: true
|
|
@@ -80,9 +85,10 @@ module OursprivacyIngest
|
|
|
80
85
|
optional :time, Float, nil?: true
|
|
81
86
|
|
|
82
87
|
# @!attribute user_id
|
|
83
|
-
# The Ours
|
|
84
|
-
#
|
|
85
|
-
# externalId
|
|
88
|
+
# The Ours Visitor ID stored in local storage and cookies on your web properties.
|
|
89
|
+
# When present, this is used directly — no lookup by externalId or email is
|
|
90
|
+
# performed. If you have both a userId and an externalId, send both so the event
|
|
91
|
+
# is attached to the right visitor without any lookup overhead.
|
|
86
92
|
#
|
|
87
93
|
# @return [String, nil]
|
|
88
94
|
optional :user_id, String, api_name: :userId, nil?: true
|
|
@@ -107,19 +113,19 @@ module OursprivacyIngest
|
|
|
107
113
|
#
|
|
108
114
|
# @param default_properties [OursprivacyIngest::Models::TrackEventParams::DefaultProperties, nil] These properties are used throughout the Ours app to pass known values onto dest
|
|
109
115
|
#
|
|
110
|
-
# @param distinct_id [String, nil] A unique identifier for
|
|
116
|
+
# @param distinct_id [String, nil] A unique identifier for this event used for deduplication. Highly recommended —
|
|
111
117
|
#
|
|
112
|
-
# @param email [String, nil] The email address of a user.
|
|
118
|
+
# @param email [String, nil] The email address of a user. Used as a fallback lookup when neither userId nor e
|
|
113
119
|
#
|
|
114
120
|
# @param event_properties [Hash{Symbol=>String, nil}, nil] Any additional event properties you want to pass along.
|
|
115
121
|
#
|
|
116
|
-
# @param external_id [String, nil]
|
|
122
|
+
# @param external_id [String, nil] Your system's unique identifier for this user. We search your account for an exi
|
|
117
123
|
#
|
|
118
124
|
# @param identity_context [OursprivacyIngest::Models::TrackEventParams::IdentityContext, nil] End-user network context for server-side calls. Required for probabilistic ident
|
|
119
125
|
#
|
|
120
126
|
# @param time [Float, nil] The time at which the event occurred in milliseconds since UTC epoch. The time m
|
|
121
127
|
#
|
|
122
|
-
# @param user_id [String, nil] The Ours
|
|
128
|
+
# @param user_id [String, nil] The Ours Visitor ID stored in local storage and cookies on your web properties.
|
|
123
129
|
#
|
|
124
130
|
# @param user_properties [OursprivacyIngest::Models::TrackEventParams::UserProperties, nil] Properties to set on the visitor. (optional) You can also update these propertie
|
|
125
131
|
#
|
|
@@ -34,17 +34,19 @@ module OursprivacyIngest
|
|
|
34
34
|
nil?: true
|
|
35
35
|
|
|
36
36
|
# @!attribute email
|
|
37
|
-
# The email address of a user.
|
|
38
|
-
#
|
|
39
|
-
#
|
|
37
|
+
# The email address of a user. Used as a fallback lookup when neither userId nor
|
|
38
|
+
# externalId is provided. We search your account for a visitor with this email and
|
|
39
|
+
# attach the event to them. If no match is found, a new visitor is created.
|
|
40
40
|
#
|
|
41
41
|
# @return [String, nil]
|
|
42
42
|
optional :email, String, nil?: true
|
|
43
43
|
|
|
44
44
|
# @!attribute external_id
|
|
45
|
-
#
|
|
46
|
-
#
|
|
47
|
-
#
|
|
45
|
+
# Your system's unique identifier for this user. We search your account for an
|
|
46
|
+
# existing visitor with this externalId and attach the event to them (resolving to
|
|
47
|
+
# their Ours Visitor ID). If no match is found, a new visitor is created. When
|
|
48
|
+
# present, email lookup is skipped. If you also have the userId from cookies or
|
|
49
|
+
# local storage, send both — it removes the lookup round-trip.
|
|
48
50
|
#
|
|
49
51
|
# @return [String, nil]
|
|
50
52
|
optional :external_id, String, api_name: :externalId, nil?: true
|
|
@@ -61,9 +63,10 @@ module OursprivacyIngest
|
|
|
61
63
|
nil?: true
|
|
62
64
|
|
|
63
65
|
# @!attribute user_id
|
|
64
|
-
# The Ours
|
|
65
|
-
#
|
|
66
|
-
# externalId
|
|
66
|
+
# The Ours Visitor ID stored in local storage and cookies on your web properties.
|
|
67
|
+
# When present, this is used directly — no lookup by externalId or email is
|
|
68
|
+
# performed. If you have both a userId and an externalId, send both so the event
|
|
69
|
+
# is attached to the right visitor without any lookup overhead.
|
|
67
70
|
#
|
|
68
71
|
# @return [String, nil]
|
|
69
72
|
optional :user_id, String, api_name: :userId, nil?: true
|
|
@@ -78,13 +81,13 @@ module OursprivacyIngest
|
|
|
78
81
|
#
|
|
79
82
|
# @param default_properties [OursprivacyIngest::Models::VisitorUpsertParams::DefaultProperties, nil] These properties are used throughout the Ours app to pass known values onto dest
|
|
80
83
|
#
|
|
81
|
-
# @param email [String, nil] The email address of a user.
|
|
84
|
+
# @param email [String, nil] The email address of a user. Used as a fallback lookup when neither userId nor e
|
|
82
85
|
#
|
|
83
|
-
# @param external_id [String, nil]
|
|
86
|
+
# @param external_id [String, nil] Your system's unique identifier for this user. We search your account for an exi
|
|
84
87
|
#
|
|
85
88
|
# @param identity_context [OursprivacyIngest::Models::VisitorUpsertParams::IdentityContext, nil] End-user network context for server-side calls. Required for probabilistic ident
|
|
86
89
|
#
|
|
87
|
-
# @param user_id [String, nil] The Ours
|
|
90
|
+
# @param user_id [String, nil] The Ours Visitor ID stored in local storage and cookies on your web properties.
|
|
88
91
|
#
|
|
89
92
|
# @param request_options [OursprivacyIngest::RequestOptions, Hash{Symbol=>Object}]
|
|
90
93
|
|
|
@@ -6,10 +6,12 @@ module OursprivacyIngest
|
|
|
6
6
|
# Some parameter documentations has been truncated, see
|
|
7
7
|
# {OursprivacyIngest::Models::TrackEventParams} for more details.
|
|
8
8
|
#
|
|
9
|
-
# Track events from your server.
|
|
10
|
-
#
|
|
11
|
-
#
|
|
12
|
-
#
|
|
9
|
+
# Track events from your server. Include at least one of userId, externalId, or
|
|
10
|
+
# email so the event can be associated with a visitor. Identity resolution runs in
|
|
11
|
+
# priority order: userId (direct, no lookup) → externalId (lookup by your ID) →
|
|
12
|
+
# email (fallback lookup). If you know both userId and externalId, send both. For
|
|
13
|
+
# top-level visitor properties: null clears the existing value, while undefined,
|
|
14
|
+
# omitted fields, and empty strings are ignored. For entries inside
|
|
13
15
|
# custom_properties: null, undefined, and empty strings are all ignored
|
|
14
16
|
# (custom_properties use merge semantics). See
|
|
15
17
|
# https://docs.oursprivacy.com/docs/data-types for details and common pitfalls.
|
|
@@ -22,19 +24,19 @@ module OursprivacyIngest
|
|
|
22
24
|
#
|
|
23
25
|
# @param default_properties [OursprivacyIngest::Models::TrackEventParams::DefaultProperties, nil] These properties are used throughout the Ours app to pass known values onto dest
|
|
24
26
|
#
|
|
25
|
-
# @param distinct_id [String, nil] A unique identifier for
|
|
27
|
+
# @param distinct_id [String, nil] A unique identifier for this event used for deduplication. Highly recommended —
|
|
26
28
|
#
|
|
27
|
-
# @param email [String, nil] The email address of a user.
|
|
29
|
+
# @param email [String, nil] The email address of a user. Used as a fallback lookup when neither userId nor e
|
|
28
30
|
#
|
|
29
31
|
# @param event_properties [Hash{Symbol=>String, nil}, nil] Any additional event properties you want to pass along.
|
|
30
32
|
#
|
|
31
|
-
# @param external_id [String, nil]
|
|
33
|
+
# @param external_id [String, nil] Your system's unique identifier for this user. We search your account for an exi
|
|
32
34
|
#
|
|
33
35
|
# @param identity_context [OursprivacyIngest::Models::TrackEventParams::IdentityContext, nil] End-user network context for server-side calls. Required for probabilistic ident
|
|
34
36
|
#
|
|
35
37
|
# @param time [Float, nil] The time at which the event occurred in milliseconds since UTC epoch. The time m
|
|
36
38
|
#
|
|
37
|
-
# @param user_id [String, nil] The Ours
|
|
39
|
+
# @param user_id [String, nil] The Ours Visitor ID stored in local storage and cookies on your web properties.
|
|
38
40
|
#
|
|
39
41
|
# @param user_properties [OursprivacyIngest::Models::TrackEventParams::UserProperties, nil] Properties to set on the visitor. (optional) You can also update these propertie
|
|
40
42
|
#
|
|
@@ -6,12 +6,15 @@ module OursprivacyIngest
|
|
|
6
6
|
# Some parameter documentations has been truncated, see
|
|
7
7
|
# {OursprivacyIngest::Models::VisitorUpsertParams} for more details.
|
|
8
8
|
#
|
|
9
|
-
#
|
|
10
|
-
# fires a $identify event, making the call visible in the
|
|
11
|
-
#
|
|
12
|
-
#
|
|
13
|
-
#
|
|
14
|
-
#
|
|
9
|
+
# Set or update properties on an existing visitor, or create a new visitor if no
|
|
10
|
+
# match is found. This fires a $identify event, making the call visible in the
|
|
11
|
+
# event stream. Identity resolution runs in priority order: userId (direct, no
|
|
12
|
+
# lookup) → externalId (lookup by your ID) → email (fallback lookup). When a
|
|
13
|
+
# visitor is found, their Ours Visitor ID is used going forward so all future
|
|
14
|
+
# events are attached to the same profile. For top-level visitor properties: null
|
|
15
|
+
# clears the existing value, while undefined, omitted fields, and empty strings
|
|
16
|
+
# are ignored. For entries inside custom_properties: null, undefined, and empty
|
|
17
|
+
# strings are all ignored (custom_properties use merge semantics). See
|
|
15
18
|
# https://docs.oursprivacy.com/docs/data-types for details and common pitfalls.
|
|
16
19
|
#
|
|
17
20
|
# @overload upsert(token:, user_properties:, default_properties: nil, email: nil, external_id: nil, identity_context: nil, user_id: nil, request_options: {})
|
|
@@ -22,13 +25,13 @@ module OursprivacyIngest
|
|
|
22
25
|
#
|
|
23
26
|
# @param default_properties [OursprivacyIngest::Models::VisitorUpsertParams::DefaultProperties, nil] These properties are used throughout the Ours app to pass known values onto dest
|
|
24
27
|
#
|
|
25
|
-
# @param email [String, nil] The email address of a user.
|
|
28
|
+
# @param email [String, nil] The email address of a user. Used as a fallback lookup when neither userId nor e
|
|
26
29
|
#
|
|
27
|
-
# @param external_id [String, nil]
|
|
30
|
+
# @param external_id [String, nil] Your system's unique identifier for this user. We search your account for an exi
|
|
28
31
|
#
|
|
29
32
|
# @param identity_context [OursprivacyIngest::Models::VisitorUpsertParams::IdentityContext, nil] End-user network context for server-side calls. Required for probabilistic ident
|
|
30
33
|
#
|
|
31
|
-
# @param user_id [String, nil] The Ours
|
|
34
|
+
# @param user_id [String, nil] The Ours Visitor ID stored in local storage and cookies on your web properties.
|
|
32
35
|
#
|
|
33
36
|
# @param request_options [OursprivacyIngest::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
34
37
|
#
|