prelude-sdk 0.8.0 → 0.9.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 +8 -0
- data/README.md +1 -1
- data/lib/prelude_sdk/models/verification/phone/history_list_response.rb +4 -4
- data/lib/prelude_sdk/models/verification/phone/history_retrieve_response.rb +56 -36
- data/lib/prelude_sdk/models/verification_create_response.rb +59 -33
- data/lib/prelude_sdk/models/watch_evaluate_response.rb +54 -2
- data/lib/prelude_sdk/models/watch_predict_response.rb +53 -30
- data/lib/prelude_sdk/resources/watch.rb +3 -3
- data/lib/prelude_sdk/version.rb +1 -1
- data/rbi/prelude_sdk/models/verification/phone/history_list_response.rbi +6 -6
- data/rbi/prelude_sdk/models/verification/phone/history_retrieve_response.rbi +131 -70
- data/rbi/prelude_sdk/models/verification_create_response.rbi +143 -65
- data/rbi/prelude_sdk/models/watch_evaluate_response.rbi +105 -5
- data/rbi/prelude_sdk/models/watch_predict_response.rbi +135 -62
- data/rbi/prelude_sdk/resources/watch.rbi +3 -3
- data/sig/prelude_sdk/models/verification/phone/history_retrieve_response.rbs +30 -16
- data/sig/prelude_sdk/models/verification_create_response.rbs +32 -14
- data/sig/prelude_sdk/models/watch_evaluate_response.rbs +28 -4
- data/sig/prelude_sdk/models/watch_predict_response.rbs +32 -14
- 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: 352849d968441a94ad1e67d3dbbcca51b693b630ffad11504def50f3ec52a2ea
|
|
4
|
+
data.tar.gz: 2e3a7617adbcb0fc5e7f8ae43e81d1f59e909153968f884e501c1bc50af28f17
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 24926ad8c0b8f63d0e0237192f80fe82632c553eec22cbb570fd7a4a6e97d17a80ef25b9f4c6da84c227167ed4c0f46bdde8f72508874d054f2704cf47876e0b
|
|
7
|
+
data.tar.gz: dbd672b9d8bdacd81ee544bdec6d07657a3be690b909557c9808c42ad1895e0e05dd3c76c29ed8c98e3675aef8e98f77982c8880198b55d3812192eea1f0db83
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,13 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.9.0 (2026-09-22)
|
|
4
|
+
|
|
5
|
+
Full Changelog: [v0.8.0...v0.9.0](https://github.com/prelude-so/ruby-sdk/compare/v0.8.0...v0.9.0)
|
|
6
|
+
|
|
7
|
+
### Features
|
|
8
|
+
|
|
9
|
+
* **api:** api update ([f86194b](https://github.com/prelude-so/ruby-sdk/commit/f86194b0bea9b4034842e7d6e08089a9c90da2e9))
|
|
10
|
+
|
|
3
11
|
## 0.8.0 (2026-09-18)
|
|
4
12
|
|
|
5
13
|
Full Changelog: [v0.7.0...v0.8.0](https://github.com/prelude-so/ruby-sdk/compare/v0.7.0...v0.8.0)
|
data/README.md
CHANGED
|
@@ -75,8 +75,8 @@ module PreludeSDK
|
|
|
75
75
|
# - `invalid_line` - The phone number is not a valid line type.
|
|
76
76
|
# - `invalid_number` - The phone number is not a valid number.
|
|
77
77
|
# - `rate_limited` - The verification was refused by a rate limit.
|
|
78
|
-
# - `expired_signals` - The SDK signals were collected too long before the
|
|
79
|
-
#
|
|
78
|
+
# - `expired_signals` - The SDK signals were collected too long before the request
|
|
79
|
+
# to still attest to it.
|
|
80
80
|
# - `shadowed` - The anti-fraud system flagged the verification without blocking
|
|
81
81
|
# it.
|
|
82
82
|
#
|
|
@@ -209,8 +209,8 @@ module PreludeSDK
|
|
|
209
209
|
# - `invalid_line` - The phone number is not a valid line type.
|
|
210
210
|
# - `invalid_number` - The phone number is not a valid number.
|
|
211
211
|
# - `rate_limited` - The verification was refused by a rate limit.
|
|
212
|
-
# - `expired_signals` - The SDK signals were collected too long before the
|
|
213
|
-
#
|
|
212
|
+
# - `expired_signals` - The SDK signals were collected too long before the request
|
|
213
|
+
# to still attest to it.
|
|
214
214
|
# - `shadowed` - The anti-fraud system flagged the verification without blocking
|
|
215
215
|
# it.
|
|
216
216
|
#
|
|
@@ -43,8 +43,8 @@ module PreludeSDK
|
|
|
43
43
|
# - `invalid_line` - The phone number is not a valid line type.
|
|
44
44
|
# - `invalid_number` - The phone number is not a valid number.
|
|
45
45
|
# - `rate_limited` - The verification was refused by a rate limit.
|
|
46
|
-
# - `expired_signals` - The SDK signals were collected too long before the
|
|
47
|
-
#
|
|
46
|
+
# - `expired_signals` - The SDK signals were collected too long before the request
|
|
47
|
+
# to still attest to it.
|
|
48
48
|
# - `shadowed` - The anti-fraud system flagged the verification without blocking
|
|
49
49
|
# it.
|
|
50
50
|
#
|
|
@@ -58,31 +58,44 @@ module PreludeSDK
|
|
|
58
58
|
optional :app_version, String
|
|
59
59
|
|
|
60
60
|
# @!attribute block_reasons
|
|
61
|
-
# Why the anti-fraud system blocked the verification. Empty unless it did.
|
|
62
|
-
#
|
|
63
|
-
#
|
|
64
|
-
#
|
|
65
|
-
#
|
|
66
|
-
#
|
|
67
|
-
#
|
|
68
|
-
# - `
|
|
69
|
-
#
|
|
61
|
+
# Why the anti-fraud system blocked the verification. Empty unless it did. These
|
|
62
|
+
# are the same labels the Verify and Watch APIs serve as `risk_factors`.
|
|
63
|
+
#
|
|
64
|
+
# - `automation_signature` - The request appears to come from an automated client
|
|
65
|
+
# rather than a person.
|
|
66
|
+
# - `carrier_not_permitted` - The destination carrier is one this account does not
|
|
67
|
+
# accept traffic for.
|
|
68
|
+
# - `client_fingerprint_mismatch` - The client does not appear to be the platform
|
|
69
|
+
# it identifies itself as.
|
|
70
|
+
# - `custom_policy` - A rule configured for your account matched this request.
|
|
71
|
+
# - `device_emulator` - The request appears to come from an emulator rather than a
|
|
72
|
+
# physical device.
|
|
73
|
+
# - `device_not_permitted` - The device platform is one your account blocks.
|
|
74
|
+
# - `device_reuse` - One device is driving verifications for an unusual number of
|
|
75
|
+
# phone numbers.
|
|
76
|
+
# - `expired_signals` - The SDK signals were collected too long before the request
|
|
77
|
+
# to still attest to it.
|
|
78
|
+
# - `fraud_database` - The phone number is flagged in one or more of the fraud
|
|
79
|
+
# databases Prelude consults.
|
|
80
|
+
# - `invalid_signature` - The SDK signature did not verify, so the request cannot
|
|
81
|
+
# be attributed to the device it claims to come from.
|
|
82
|
+
# - `ip_concentration` - The request shares its origin with an unusual volume of
|
|
83
|
+
# other verifications.
|
|
84
|
+
# - `ip_reputation` - The originating IP address is not trusted.
|
|
85
|
+
# - `location_mismatch` - The network location and the phone number's country are
|
|
86
|
+
# inconsistent.
|
|
70
87
|
# - `missing_signals` - The verification expected Prelude SDK signals and none
|
|
71
88
|
# arrived.
|
|
72
|
-
# - `
|
|
73
|
-
#
|
|
74
|
-
# - `poor_conversion_history` -
|
|
75
|
-
#
|
|
76
|
-
# - `
|
|
77
|
-
#
|
|
78
|
-
# - `
|
|
79
|
-
#
|
|
80
|
-
# - `
|
|
81
|
-
#
|
|
82
|
-
# - `suspicious_ip_address` - The originating IP address is associated with
|
|
83
|
-
# suspicious activity.
|
|
84
|
-
# - `temporary_phone_number` - The phone number is known to be a temporary or
|
|
85
|
-
# disposable number.
|
|
89
|
+
# - `number_range_abuse` - The phone number belongs to a range currently
|
|
90
|
+
# associated with abuse.
|
|
91
|
+
# - `poor_conversion_history` - Traffic resembling this request rarely completes a
|
|
92
|
+
# verification.
|
|
93
|
+
# - `proxy_network` - The request did not arrive over the subscriber's own access
|
|
94
|
+
# network.
|
|
95
|
+
# - `repeated_attempts` - The phone number exceeded the allowed number of
|
|
96
|
+
# verification attempts in a short period.
|
|
97
|
+
# - `temporary_phone_number` - The phone number belongs to a disposable or
|
|
98
|
+
# short-lived numbering service.
|
|
86
99
|
#
|
|
87
100
|
# @return [Array<Symbol, PreludeSDK::Models::Verification::Phone::HistoryRetrieveResponse::BlockReason>, nil]
|
|
88
101
|
optional :block_reasons,
|
|
@@ -198,7 +211,7 @@ module PreludeSDK
|
|
|
198
211
|
#
|
|
199
212
|
# @param app_version [String] Version of your application, when known.
|
|
200
213
|
#
|
|
201
|
-
# @param block_reasons [Array<Symbol, PreludeSDK::Models::Verification::Phone::HistoryRetrieveResponse::BlockReason>] Why the anti-fraud system blocked the verification. Empty unless it did.
|
|
214
|
+
# @param block_reasons [Array<Symbol, PreludeSDK::Models::Verification::Phone::HistoryRetrieveResponse::BlockReason>] Why the anti-fraud system blocked the verification. Empty unless it did. These a
|
|
202
215
|
#
|
|
203
216
|
# @param carrier [PreludeSDK::Models::Verification::Phone::PhoneVerificationCarrier] The end user's mobile network.
|
|
204
217
|
#
|
|
@@ -242,8 +255,8 @@ module PreludeSDK
|
|
|
242
255
|
# - `invalid_line` - The phone number is not a valid line type.
|
|
243
256
|
# - `invalid_number` - The phone number is not a valid number.
|
|
244
257
|
# - `rate_limited` - The verification was refused by a rate limit.
|
|
245
|
-
# - `expired_signals` - The SDK signals were collected too long before the
|
|
246
|
-
#
|
|
258
|
+
# - `expired_signals` - The SDK signals were collected too long before the request
|
|
259
|
+
# to still attest to it.
|
|
247
260
|
# - `shadowed` - The anti-fraud system flagged the verification without blocking
|
|
248
261
|
# it.
|
|
249
262
|
#
|
|
@@ -271,17 +284,24 @@ module PreludeSDK
|
|
|
271
284
|
module BlockReason
|
|
272
285
|
extend PreludeSDK::Internal::Type::Enum
|
|
273
286
|
|
|
274
|
-
|
|
275
|
-
|
|
287
|
+
AUTOMATION_SIGNATURE = :automation_signature
|
|
288
|
+
CARRIER_NOT_PERMITTED = :carrier_not_permitted
|
|
289
|
+
CLIENT_FINGERPRINT_MISMATCH = :client_fingerprint_mismatch
|
|
290
|
+
CUSTOM_POLICY = :custom_policy
|
|
291
|
+
DEVICE_EMULATOR = :device_emulator
|
|
292
|
+
DEVICE_NOT_PERMITTED = :device_not_permitted
|
|
293
|
+
DEVICE_REUSE = :device_reuse
|
|
294
|
+
EXPIRED_SIGNALS = :expired_signals
|
|
276
295
|
FRAUD_DATABASE = :fraud_database
|
|
277
|
-
|
|
296
|
+
INVALID_SIGNATURE = :invalid_signature
|
|
297
|
+
IP_CONCENTRATION = :ip_concentration
|
|
298
|
+
IP_REPUTATION = :ip_reputation
|
|
299
|
+
LOCATION_MISMATCH = :location_mismatch
|
|
278
300
|
MISSING_SIGNALS = :missing_signals
|
|
279
|
-
|
|
301
|
+
NUMBER_RANGE_ABUSE = :number_range_abuse
|
|
280
302
|
POOR_CONVERSION_HISTORY = :poor_conversion_history
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
SUSPECTED_REQUEST_TAMPERING = :suspected_request_tampering
|
|
284
|
-
SUSPICIOUS_IP_ADDRESS = :suspicious_ip_address
|
|
303
|
+
PROXY_NETWORK = :proxy_network
|
|
304
|
+
REPEATED_ATTEMPTS = :repeated_attempts
|
|
285
305
|
TEMPORARY_PHONE_NUMBER = :temporary_phone_number
|
|
286
306
|
|
|
287
307
|
# @!method self.values
|
|
@@ -58,9 +58,10 @@ module PreludeSDK
|
|
|
58
58
|
# landline).
|
|
59
59
|
# - `invalid_phone_number` - The phone number is not a valid phone number (e.g.
|
|
60
60
|
# unallocated range).
|
|
61
|
-
# - `invalid_signature` - The signature
|
|
62
|
-
#
|
|
63
|
-
#
|
|
61
|
+
# - `invalid_signature` - The SDK signature did not verify, so the request cannot
|
|
62
|
+
# be attributed to the device it claims to come from.
|
|
63
|
+
# - `repeated_attempts` - The phone number exceeded the allowed number of
|
|
64
|
+
# verification attempts in a short period.
|
|
64
65
|
# - `suspicious` - The verification attempt was deemed suspicious by the
|
|
65
66
|
# anti-fraud system.
|
|
66
67
|
#
|
|
@@ -77,26 +78,41 @@ module PreludeSDK
|
|
|
77
78
|
# present when status is "blocked" or "shadow_blocked" and the anti-fraud system
|
|
78
79
|
# detected specific risk signals.
|
|
79
80
|
#
|
|
80
|
-
# - `
|
|
81
|
-
#
|
|
82
|
-
# - `
|
|
83
|
-
#
|
|
84
|
-
# - `
|
|
85
|
-
#
|
|
86
|
-
# - `
|
|
87
|
-
#
|
|
88
|
-
#
|
|
89
|
-
#
|
|
90
|
-
# - `
|
|
91
|
-
#
|
|
92
|
-
# - `
|
|
93
|
-
#
|
|
94
|
-
# - `
|
|
95
|
-
#
|
|
96
|
-
# - `
|
|
97
|
-
#
|
|
98
|
-
# - `
|
|
99
|
-
#
|
|
81
|
+
# - `automation_signature` - The request appears to come from an automated client
|
|
82
|
+
# rather than a person.
|
|
83
|
+
# - `carrier_not_permitted` - The destination carrier is one this account does not
|
|
84
|
+
# accept traffic for.
|
|
85
|
+
# - `client_fingerprint_mismatch` - The client does not appear to be the platform
|
|
86
|
+
# it identifies itself as.
|
|
87
|
+
# - `custom_policy` - A rule configured for your account matched this request.
|
|
88
|
+
# - `device_emulator` - The request appears to come from an emulator rather than a
|
|
89
|
+
# physical device.
|
|
90
|
+
# - `device_not_permitted` - The device platform is one your account blocks.
|
|
91
|
+
# - `device_reuse` - One device is driving verifications for an unusual number of
|
|
92
|
+
# phone numbers.
|
|
93
|
+
# - `expired_signals` - The SDK signals were collected too long before the request
|
|
94
|
+
# to still attest to it.
|
|
95
|
+
# - `fraud_database` - The phone number is flagged in one or more of the fraud
|
|
96
|
+
# databases Prelude consults.
|
|
97
|
+
# - `invalid_signature` - The SDK signature did not verify, so the request cannot
|
|
98
|
+
# be attributed to the device it claims to come from.
|
|
99
|
+
# - `ip_concentration` - The request shares its origin with an unusual volume of
|
|
100
|
+
# other verifications.
|
|
101
|
+
# - `ip_reputation` - The originating IP address is not trusted.
|
|
102
|
+
# - `location_mismatch` - The network location and the phone number's country are
|
|
103
|
+
# inconsistent.
|
|
104
|
+
# - `missing_signals` - The verification expected Prelude SDK signals and none
|
|
105
|
+
# arrived.
|
|
106
|
+
# - `number_range_abuse` - The phone number belongs to a range currently
|
|
107
|
+
# associated with abuse.
|
|
108
|
+
# - `poor_conversion_history` - Traffic resembling this request rarely completes a
|
|
109
|
+
# verification.
|
|
110
|
+
# - `proxy_network` - The request did not arrive over the subscriber's own access
|
|
111
|
+
# network.
|
|
112
|
+
# - `repeated_attempts` - The phone number exceeded the allowed number of
|
|
113
|
+
# verification attempts in a short period.
|
|
114
|
+
# - `temporary_phone_number` - The phone number belongs to a disposable or
|
|
115
|
+
# short-lived numbering service.
|
|
100
116
|
#
|
|
101
117
|
# @return [Array<Symbol, PreludeSDK::Models::VerificationCreateResponse::RiskFactor>, nil]
|
|
102
118
|
optional :risk_factors,
|
|
@@ -215,9 +231,10 @@ module PreludeSDK
|
|
|
215
231
|
# landline).
|
|
216
232
|
# - `invalid_phone_number` - The phone number is not a valid phone number (e.g.
|
|
217
233
|
# unallocated range).
|
|
218
|
-
# - `invalid_signature` - The signature
|
|
219
|
-
#
|
|
220
|
-
#
|
|
234
|
+
# - `invalid_signature` - The SDK signature did not verify, so the request cannot
|
|
235
|
+
# be attributed to the device it claims to come from.
|
|
236
|
+
# - `repeated_attempts` - The phone number exceeded the allowed number of
|
|
237
|
+
# verification attempts in a short period.
|
|
221
238
|
# - `suspicious` - The verification attempt was deemed suspicious by the
|
|
222
239
|
# anti-fraud system.
|
|
223
240
|
#
|
|
@@ -240,15 +257,24 @@ module PreludeSDK
|
|
|
240
257
|
module RiskFactor
|
|
241
258
|
extend PreludeSDK::Internal::Type::Enum
|
|
242
259
|
|
|
243
|
-
|
|
244
|
-
|
|
260
|
+
AUTOMATION_SIGNATURE = :automation_signature
|
|
261
|
+
CARRIER_NOT_PERMITTED = :carrier_not_permitted
|
|
262
|
+
CLIENT_FINGERPRINT_MISMATCH = :client_fingerprint_mismatch
|
|
263
|
+
CUSTOM_POLICY = :custom_policy
|
|
264
|
+
DEVICE_EMULATOR = :device_emulator
|
|
265
|
+
DEVICE_NOT_PERMITTED = :device_not_permitted
|
|
266
|
+
DEVICE_REUSE = :device_reuse
|
|
267
|
+
EXPIRED_SIGNALS = :expired_signals
|
|
245
268
|
FRAUD_DATABASE = :fraud_database
|
|
246
|
-
|
|
247
|
-
|
|
269
|
+
INVALID_SIGNATURE = :invalid_signature
|
|
270
|
+
IP_CONCENTRATION = :ip_concentration
|
|
271
|
+
IP_REPUTATION = :ip_reputation
|
|
272
|
+
LOCATION_MISMATCH = :location_mismatch
|
|
273
|
+
MISSING_SIGNALS = :missing_signals
|
|
274
|
+
NUMBER_RANGE_ABUSE = :number_range_abuse
|
|
248
275
|
POOR_CONVERSION_HISTORY = :poor_conversion_history
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
SUSPICIOUS_IP_ADDRESS = :suspicious_ip_address
|
|
276
|
+
PROXY_NETWORK = :proxy_network
|
|
277
|
+
REPEATED_ATTEMPTS = :repeated_attempts
|
|
252
278
|
TEMPORARY_PHONE_NUMBER = :temporary_phone_number
|
|
253
279
|
|
|
254
280
|
# @!method self.values
|
|
@@ -88,7 +88,9 @@ module PreludeSDK
|
|
|
88
88
|
# @!attribute rules
|
|
89
89
|
# One result per rule in the recipe, in membership order. Every rule runs — a
|
|
90
90
|
# score is only meaningful when complete, so there is no short-circuit on the
|
|
91
|
-
# first trigger.
|
|
91
|
+
# first trigger. The exception is a recipe whose verdict a preempting rule has
|
|
92
|
+
# already determined, where a rule that could no longer change it may report
|
|
93
|
+
# `SKIPPED` instead.
|
|
92
94
|
#
|
|
93
95
|
# @return [Array<PreludeSDK::Models::WatchEvaluateResponse::Recipe::Rule>]
|
|
94
96
|
required :rules,
|
|
@@ -149,6 +151,10 @@ module PreludeSDK
|
|
|
149
151
|
# - `NOT_EVALUATED` - The rule could not run, because something it reads never
|
|
150
152
|
# arrived. This is not a quieter `NOT_TRIGGERED`: it contributed nothing either
|
|
151
153
|
# way, and it is why `partial_evidence` is set on the recipe.
|
|
154
|
+
# - `SKIPPED` - The rule was not run, because another rule had already determined
|
|
155
|
+
# the recipe's verdict — see `determined_by`. Nothing was missing and nothing
|
|
156
|
+
# failed, so `partial_evidence` is not set: `determined_by` is what accounts for
|
|
157
|
+
# the recipe's score resting on fewer rules.
|
|
152
158
|
#
|
|
153
159
|
# @return [Symbol, PreludeSDK::Models::WatchEvaluateResponse::Recipe::Rule::Outcome]
|
|
154
160
|
required :outcome, enum: -> { PreludeSDK::Models::WatchEvaluateResponse::Recipe::Rule::Outcome }
|
|
@@ -161,6 +167,17 @@ module PreludeSDK
|
|
|
161
167
|
# @return [String]
|
|
162
168
|
required :rule_id, String
|
|
163
169
|
|
|
170
|
+
# @!attribute type
|
|
171
|
+
# Who authored the rule, which is what says how much of the rest of this result
|
|
172
|
+
# you get.
|
|
173
|
+
#
|
|
174
|
+
# - `MANAGED` - Prelude-owned, shared with customers: `name` and `version_id` are
|
|
175
|
+
# omitted, and `blocked_by` reports only `missing_data`.
|
|
176
|
+
# - `CUSTOM` - Yours: every field is returned.
|
|
177
|
+
#
|
|
178
|
+
# @return [Symbol, PreludeSDK::Models::WatchEvaluateResponse::Recipe::Rule::Type]
|
|
179
|
+
required :type, enum: -> { PreludeSDK::Models::WatchEvaluateResponse::Recipe::Rule::Type }
|
|
180
|
+
|
|
164
181
|
# @!attribute weight
|
|
165
182
|
# What this rule contributes to the recipe's score when it triggers.
|
|
166
183
|
#
|
|
@@ -193,7 +210,15 @@ module PreludeSDK
|
|
|
193
210
|
# @return [Boolean, nil]
|
|
194
211
|
optional :unavailable, PreludeSDK::Internal::Type::Boolean
|
|
195
212
|
|
|
196
|
-
# @!
|
|
213
|
+
# @!attribute version_id
|
|
214
|
+
# The version of the rule that scored — the one this recipe is pinned to, or the
|
|
215
|
+
# version current at evaluation time when it is not pinned. Present for a rule you
|
|
216
|
+
# authored, and omitted for a Prelude-managed one.
|
|
217
|
+
#
|
|
218
|
+
# @return [String, nil]
|
|
219
|
+
optional :version_id, String
|
|
220
|
+
|
|
221
|
+
# @!method initialize(outcome:, rule_id:, type:, weight:, blocked_by: nil, name: nil, unavailable: nil, version_id: nil)
|
|
197
222
|
# Some parameter documentations has been truncated, see
|
|
198
223
|
# {PreludeSDK::Models::WatchEvaluateResponse::Recipe::Rule} for more details.
|
|
199
224
|
#
|
|
@@ -201,6 +226,8 @@ module PreludeSDK
|
|
|
201
226
|
#
|
|
202
227
|
# @param rule_id [String] The rule that produced this result. Present whatever the rule's visibility, so a
|
|
203
228
|
#
|
|
229
|
+
# @param type [Symbol, PreludeSDK::Models::WatchEvaluateResponse::Recipe::Rule::Type] Who authored the rule, which is what says how much of the rest of this result yo
|
|
230
|
+
#
|
|
204
231
|
# @param weight [Integer] What this rule contributes to the recipe's score when it triggers.
|
|
205
232
|
#
|
|
206
233
|
# @param blocked_by [String] Why the rule could not run, set only when `outcome` is `NOT_EVALUATED`.
|
|
@@ -208,6 +235,8 @@ module PreludeSDK
|
|
|
208
235
|
# @param name [String] The rule's name, present for a rule you authored and omitted for a Prelude-manag
|
|
209
236
|
#
|
|
210
237
|
# @param unavailable [Boolean] The rule could not run for a reason on our side rather than anything about your
|
|
238
|
+
#
|
|
239
|
+
# @param version_id [String] The version of the rule that scored — the one this recipe is pinned to, or the v
|
|
211
240
|
|
|
212
241
|
# What the rule concluded.
|
|
213
242
|
#
|
|
@@ -216,6 +245,10 @@ module PreludeSDK
|
|
|
216
245
|
# - `NOT_EVALUATED` - The rule could not run, because something it reads never
|
|
217
246
|
# arrived. This is not a quieter `NOT_TRIGGERED`: it contributed nothing either
|
|
218
247
|
# way, and it is why `partial_evidence` is set on the recipe.
|
|
248
|
+
# - `SKIPPED` - The rule was not run, because another rule had already determined
|
|
249
|
+
# the recipe's verdict — see `determined_by`. Nothing was missing and nothing
|
|
250
|
+
# failed, so `partial_evidence` is not set: `determined_by` is what accounts for
|
|
251
|
+
# the recipe's score resting on fewer rules.
|
|
219
252
|
#
|
|
220
253
|
# @see PreludeSDK::Models::WatchEvaluateResponse::Recipe::Rule#outcome
|
|
221
254
|
module Outcome
|
|
@@ -224,6 +257,25 @@ module PreludeSDK
|
|
|
224
257
|
TRIGGERED = :TRIGGERED
|
|
225
258
|
NOT_TRIGGERED = :NOT_TRIGGERED
|
|
226
259
|
NOT_EVALUATED = :NOT_EVALUATED
|
|
260
|
+
SKIPPED = :SKIPPED
|
|
261
|
+
|
|
262
|
+
# @!method self.values
|
|
263
|
+
# @return [Array<Symbol>]
|
|
264
|
+
end
|
|
265
|
+
|
|
266
|
+
# Who authored the rule, which is what says how much of the rest of this result
|
|
267
|
+
# you get.
|
|
268
|
+
#
|
|
269
|
+
# - `MANAGED` - Prelude-owned, shared with customers: `name` and `version_id` are
|
|
270
|
+
# omitted, and `blocked_by` reports only `missing_data`.
|
|
271
|
+
# - `CUSTOM` - Yours: every field is returned.
|
|
272
|
+
#
|
|
273
|
+
# @see PreludeSDK::Models::WatchEvaluateResponse::Recipe::Rule#type
|
|
274
|
+
module Type
|
|
275
|
+
extend PreludeSDK::Internal::Type::Enum
|
|
276
|
+
|
|
277
|
+
MANAGED = :MANAGED
|
|
278
|
+
CUSTOM = :CUSTOM
|
|
227
279
|
|
|
228
280
|
# @!method self.values
|
|
229
281
|
# @return [Array<Symbol>]
|
|
@@ -28,29 +28,43 @@ module PreludeSDK
|
|
|
28
28
|
# when prediction is "suspicious" and the anti-fraud system detected specific risk
|
|
29
29
|
# signals.
|
|
30
30
|
#
|
|
31
|
-
# - `account_risk_profile` - The
|
|
32
|
-
# outcomes reported on your own account
|
|
33
|
-
#
|
|
34
|
-
#
|
|
35
|
-
#
|
|
36
|
-
#
|
|
37
|
-
#
|
|
38
|
-
#
|
|
39
|
-
#
|
|
40
|
-
# - `
|
|
41
|
-
#
|
|
42
|
-
# - `
|
|
43
|
-
#
|
|
44
|
-
#
|
|
45
|
-
#
|
|
46
|
-
#
|
|
47
|
-
#
|
|
48
|
-
#
|
|
49
|
-
#
|
|
50
|
-
#
|
|
51
|
-
#
|
|
52
|
-
#
|
|
53
|
-
#
|
|
31
|
+
# - `account_risk_profile` - The request matches a risk profile derived from the
|
|
32
|
+
# outcomes reported on your own account.
|
|
33
|
+
# - `automation_signature` - The request appears to come from an automated client
|
|
34
|
+
# rather than a person.
|
|
35
|
+
# - `carrier_not_permitted` - The destination carrier is one this account does not
|
|
36
|
+
# accept traffic for.
|
|
37
|
+
# - `client_fingerprint_mismatch` - The client does not appear to be the platform
|
|
38
|
+
# it identifies itself as.
|
|
39
|
+
# - `custom_policy` - A rule configured for your account matched this request.
|
|
40
|
+
# - `device_emulator` - The request appears to come from an emulator rather than a
|
|
41
|
+
# physical device.
|
|
42
|
+
# - `device_not_permitted` - The device platform is one your account blocks.
|
|
43
|
+
# - `device_reuse` - One device is driving verifications for an unusual number of
|
|
44
|
+
# phone numbers.
|
|
45
|
+
# - `expired_signals` - The SDK signals were collected too long before the request
|
|
46
|
+
# to still attest to it.
|
|
47
|
+
# - `fraud_database` - The phone number is flagged in one or more of the fraud
|
|
48
|
+
# databases Prelude consults.
|
|
49
|
+
# - `invalid_signature` - The SDK signature did not verify, so the request cannot
|
|
50
|
+
# be attributed to the device it claims to come from.
|
|
51
|
+
# - `ip_concentration` - The request shares its origin with an unusual volume of
|
|
52
|
+
# other verifications.
|
|
53
|
+
# - `ip_reputation` - The originating IP address is not trusted.
|
|
54
|
+
# - `location_mismatch` - The network location and the phone number's country are
|
|
55
|
+
# inconsistent.
|
|
56
|
+
# - `missing_signals` - The verification expected Prelude SDK signals and none
|
|
57
|
+
# arrived.
|
|
58
|
+
# - `number_range_abuse` - The phone number belongs to a range currently
|
|
59
|
+
# associated with abuse.
|
|
60
|
+
# - `poor_conversion_history` - Traffic resembling this request rarely completes a
|
|
61
|
+
# verification.
|
|
62
|
+
# - `proxy_network` - The request did not arrive over the subscriber's own access
|
|
63
|
+
# network.
|
|
64
|
+
# - `repeated_attempts` - The phone number exceeded the allowed number of
|
|
65
|
+
# verification attempts in a short period.
|
|
66
|
+
# - `temporary_phone_number` - The phone number belongs to a disposable or
|
|
67
|
+
# short-lived numbering service.
|
|
54
68
|
#
|
|
55
69
|
# @return [Array<Symbol, PreludeSDK::Models::WatchPredictResponse::RiskFactor>, nil]
|
|
56
70
|
optional :risk_factors,
|
|
@@ -85,15 +99,24 @@ module PreludeSDK
|
|
|
85
99
|
extend PreludeSDK::Internal::Type::Enum
|
|
86
100
|
|
|
87
101
|
ACCOUNT_RISK_PROFILE = :account_risk_profile
|
|
88
|
-
|
|
89
|
-
|
|
102
|
+
AUTOMATION_SIGNATURE = :automation_signature
|
|
103
|
+
CARRIER_NOT_PERMITTED = :carrier_not_permitted
|
|
104
|
+
CLIENT_FINGERPRINT_MISMATCH = :client_fingerprint_mismatch
|
|
105
|
+
CUSTOM_POLICY = :custom_policy
|
|
106
|
+
DEVICE_EMULATOR = :device_emulator
|
|
107
|
+
DEVICE_NOT_PERMITTED = :device_not_permitted
|
|
108
|
+
DEVICE_REUSE = :device_reuse
|
|
109
|
+
EXPIRED_SIGNALS = :expired_signals
|
|
90
110
|
FRAUD_DATABASE = :fraud_database
|
|
91
|
-
|
|
92
|
-
|
|
111
|
+
INVALID_SIGNATURE = :invalid_signature
|
|
112
|
+
IP_CONCENTRATION = :ip_concentration
|
|
113
|
+
IP_REPUTATION = :ip_reputation
|
|
114
|
+
LOCATION_MISMATCH = :location_mismatch
|
|
115
|
+
MISSING_SIGNALS = :missing_signals
|
|
116
|
+
NUMBER_RANGE_ABUSE = :number_range_abuse
|
|
93
117
|
POOR_CONVERSION_HISTORY = :poor_conversion_history
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
SUSPICIOUS_IP_ADDRESS = :suspicious_ip_address
|
|
118
|
+
PROXY_NETWORK = :proxy_network
|
|
119
|
+
REPEATED_ATTEMPTS = :repeated_attempts
|
|
97
120
|
TEMPORARY_PHONE_NUMBER = :temporary_phone_number
|
|
98
121
|
|
|
99
122
|
# @!method self.values
|
|
@@ -7,9 +7,9 @@ module PreludeSDK
|
|
|
7
7
|
# Some parameter documentations has been truncated, see
|
|
8
8
|
# {PreludeSDK::Models::WatchEvaluateParams} for more details.
|
|
9
9
|
#
|
|
10
|
-
# **Beta.** The request and response shapes may still change
|
|
11
|
-
#
|
|
12
|
-
#
|
|
10
|
+
# **Beta.** The request and response shapes may still change. Talk to us before
|
|
11
|
+
# you build against it. Flows, recipes and rules are authored through the Watch
|
|
12
|
+
# Management API, or configured by Prelude on your behalf.
|
|
13
13
|
#
|
|
14
14
|
# Score a target against the rules configured for one moment in your product —
|
|
15
15
|
# signup, checkout, password reset. The flow selects which recipes run; each
|
data/lib/prelude_sdk/version.rb
CHANGED
|
@@ -112,8 +112,8 @@ module PreludeSDK
|
|
|
112
112
|
# - `invalid_line` - The phone number is not a valid line type.
|
|
113
113
|
# - `invalid_number` - The phone number is not a valid number.
|
|
114
114
|
# - `rate_limited` - The verification was refused by a rate limit.
|
|
115
|
-
# - `expired_signals` - The SDK signals were collected too long before the
|
|
116
|
-
#
|
|
115
|
+
# - `expired_signals` - The SDK signals were collected too long before the request
|
|
116
|
+
# to still attest to it.
|
|
117
117
|
# - `shadowed` - The anti-fraud system flagged the verification without blocking
|
|
118
118
|
# it.
|
|
119
119
|
sig do
|
|
@@ -264,8 +264,8 @@ module PreludeSDK
|
|
|
264
264
|
# - `invalid_line` - The phone number is not a valid line type.
|
|
265
265
|
# - `invalid_number` - The phone number is not a valid number.
|
|
266
266
|
# - `rate_limited` - The verification was refused by a rate limit.
|
|
267
|
-
# - `expired_signals` - The SDK signals were collected too long before the
|
|
268
|
-
#
|
|
267
|
+
# - `expired_signals` - The SDK signals were collected too long before the request
|
|
268
|
+
# to still attest to it.
|
|
269
269
|
# - `shadowed` - The anti-fraud system flagged the verification without blocking
|
|
270
270
|
# it.
|
|
271
271
|
status:,
|
|
@@ -440,8 +440,8 @@ module PreludeSDK
|
|
|
440
440
|
# - `invalid_line` - The phone number is not a valid line type.
|
|
441
441
|
# - `invalid_number` - The phone number is not a valid number.
|
|
442
442
|
# - `rate_limited` - The verification was refused by a rate limit.
|
|
443
|
-
# - `expired_signals` - The SDK signals were collected too long before the
|
|
444
|
-
#
|
|
443
|
+
# - `expired_signals` - The SDK signals were collected too long before the request
|
|
444
|
+
# to still attest to it.
|
|
445
445
|
# - `shadowed` - The anti-fraud system flagged the verification without blocking
|
|
446
446
|
# it.
|
|
447
447
|
module Status
|