prelude-sdk 0.7.0 → 0.8.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 (118) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +3 -5
  4. data/lib/prelude_sdk/client.rb +4 -0
  5. data/lib/prelude_sdk/internal/type/base_model.rb +5 -5
  6. data/lib/prelude_sdk/models/intel/kyc_match_params.rb +96 -0
  7. data/lib/prelude_sdk/models/intel/kyc_match_response.rb +305 -0
  8. data/lib/prelude_sdk/models/notify_reply_params.rb +60 -0
  9. data/lib/prelude_sdk/models/notify_reply_response.rb +65 -0
  10. data/lib/prelude_sdk/models/signals.rb +125 -0
  11. data/lib/prelude_sdk/models/target.rb +39 -0
  12. data/lib/prelude_sdk/models/verification/phone/history_list_params.rb +177 -0
  13. data/lib/prelude_sdk/models/verification/phone/history_list_response.rb +286 -0
  14. data/lib/prelude_sdk/models/verification/phone/history_retrieve_params.rb +24 -0
  15. data/lib/prelude_sdk/models/verification/phone/history_retrieve_response.rb +890 -0
  16. data/lib/prelude_sdk/models/verification/phone/phone_verification_carrier.rb +29 -0
  17. data/lib/prelude_sdk/models/verification/phone/phone_verification_money.rb +35 -0
  18. data/lib/prelude_sdk/models/verification/phone/phone_verification_psd2_transaction.rb +29 -0
  19. data/lib/prelude_sdk/models/verification_check_params.rb +3 -38
  20. data/lib/prelude_sdk/models/verification_create_params.rb +6 -161
  21. data/lib/prelude_sdk/models/verification_management/sandbox_add_phone_number_params.rb +37 -0
  22. data/lib/prelude_sdk/models/verification_management/sandbox_add_phone_number_response.rb +27 -0
  23. data/lib/prelude_sdk/models/verification_management/sandbox_delete_phone_number_params.rb +22 -0
  24. data/lib/prelude_sdk/models/verification_management/sandbox_delete_phone_number_response.rb +19 -0
  25. data/lib/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_params.rb +16 -0
  26. data/lib/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_response.rb +47 -0
  27. data/lib/prelude_sdk/models/watch_evaluate_params.rb +68 -0
  28. data/lib/prelude_sdk/models/watch_evaluate_response.rb +266 -0
  29. data/lib/prelude_sdk/models/watch_predict_params.rb +6 -160
  30. data/lib/prelude_sdk/models/watch_send_events_params.rb +3 -38
  31. data/lib/prelude_sdk/models/watch_send_feedbacks_params.rb +3 -38
  32. data/lib/prelude_sdk/models.rb +14 -0
  33. data/lib/prelude_sdk/resources/intel/kyc.rb +62 -0
  34. data/lib/prelude_sdk/resources/intel.rb +20 -0
  35. data/lib/prelude_sdk/resources/notify.rb +35 -0
  36. data/lib/prelude_sdk/resources/verification/phone/history.rb +104 -0
  37. data/lib/prelude_sdk/resources/verification/phone.rb +21 -0
  38. data/lib/prelude_sdk/resources/verification.rb +7 -3
  39. data/lib/prelude_sdk/resources/verification_management/sandbox.rb +99 -0
  40. data/lib/prelude_sdk/resources/verification_management.rb +5 -0
  41. data/lib/prelude_sdk/resources/watch.rb +45 -2
  42. data/lib/prelude_sdk/version.rb +1 -1
  43. data/lib/prelude_sdk.rb +26 -0
  44. data/rbi/prelude_sdk/client.rbi +3 -0
  45. data/rbi/prelude_sdk/models/intel/kyc_match_params.rbi +147 -0
  46. data/rbi/prelude_sdk/models/intel/kyc_match_response.rbi +736 -0
  47. data/rbi/prelude_sdk/models/notify_reply_params.rbi +87 -0
  48. data/rbi/prelude_sdk/models/notify_reply_response.rbi +94 -0
  49. data/rbi/prelude_sdk/models/signals.rbi +200 -0
  50. data/rbi/prelude_sdk/models/target.rbi +61 -0
  51. data/rbi/prelude_sdk/models/verification/phone/history_list_params.rbi +436 -0
  52. data/rbi/prelude_sdk/models/verification/phone/history_list_response.rbi +661 -0
  53. data/rbi/prelude_sdk/models/verification/phone/history_retrieve_params.rbi +42 -0
  54. data/rbi/prelude_sdk/models/verification/phone/history_retrieve_response.rbi +2229 -0
  55. data/rbi/prelude_sdk/models/verification/phone/phone_verification_carrier.rbi +39 -0
  56. data/rbi/prelude_sdk/models/verification/phone/phone_verification_money.rbi +46 -0
  57. data/rbi/prelude_sdk/models/verification/phone/phone_verification_psd2_transaction.rbi +68 -0
  58. data/rbi/prelude_sdk/models/verification_check_params.rbi +4 -85
  59. data/rbi/prelude_sdk/models/verification_create_params.rbi +8 -328
  60. data/rbi/prelude_sdk/models/verification_management/sandbox_add_phone_number_params.rbi +58 -0
  61. data/rbi/prelude_sdk/models/verification_management/sandbox_add_phone_number_response.rbi +42 -0
  62. data/rbi/prelude_sdk/models/verification_management/sandbox_delete_phone_number_params.rbi +43 -0
  63. data/rbi/prelude_sdk/models/verification_management/sandbox_delete_phone_number_response.rbi +32 -0
  64. data/rbi/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_params.rbi +34 -0
  65. data/rbi/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_response.rbi +101 -0
  66. data/rbi/prelude_sdk/models/watch_evaluate_params.rbi +109 -0
  67. data/rbi/prelude_sdk/models/watch_evaluate_response.rbi +496 -0
  68. data/rbi/prelude_sdk/models/watch_predict_params.rbi +8 -320
  69. data/rbi/prelude_sdk/models/watch_send_events_params.rbi +4 -93
  70. data/rbi/prelude_sdk/models/watch_send_feedbacks_params.rbi +4 -95
  71. data/rbi/prelude_sdk/models.rbi +14 -0
  72. data/rbi/prelude_sdk/resources/intel/kyc.rbi +61 -0
  73. data/rbi/prelude_sdk/resources/intel.rbi +17 -0
  74. data/rbi/prelude_sdk/resources/notify.rbi +31 -0
  75. data/rbi/prelude_sdk/resources/verification/phone/history.rbi +112 -0
  76. data/rbi/prelude_sdk/resources/verification/phone.rbi +18 -0
  77. data/rbi/prelude_sdk/resources/verification.rbi +6 -3
  78. data/rbi/prelude_sdk/resources/verification_management/sandbox.rbi +76 -0
  79. data/rbi/prelude_sdk/resources/verification_management.rbi +4 -0
  80. data/rbi/prelude_sdk/resources/watch.rbi +49 -2
  81. data/sig/prelude_sdk/client.rbs +2 -0
  82. data/sig/prelude_sdk/models/intel/kyc_match_params.rbs +91 -0
  83. data/sig/prelude_sdk/models/intel/kyc_match_response.rbs +276 -0
  84. data/sig/prelude_sdk/models/notify_reply_params.rbs +50 -0
  85. data/sig/prelude_sdk/models/notify_reply_response.rbs +54 -0
  86. data/sig/prelude_sdk/models/signals.rbs +101 -0
  87. data/sig/prelude_sdk/models/target.rbs +29 -0
  88. data/sig/prelude_sdk/models/verification/phone/history_list_params.rbs +187 -0
  89. data/sig/prelude_sdk/models/verification/phone/history_list_response.rbs +241 -0
  90. data/sig/prelude_sdk/models/verification/phone/history_retrieve_params.rbs +27 -0
  91. data/sig/prelude_sdk/models/verification/phone/history_retrieve_response.rbs +873 -0
  92. data/sig/prelude_sdk/models/verification/phone/phone_verification_carrier.rbs +23 -0
  93. data/sig/prelude_sdk/models/verification/phone/phone_verification_money.rbs +21 -0
  94. data/sig/prelude_sdk/models/verification/phone/phone_verification_psd2_transaction.rbs +37 -0
  95. data/sig/prelude_sdk/models/verification_check_params.rbs +4 -37
  96. data/sig/prelude_sdk/models/verification_create_params.rbs +9 -142
  97. data/sig/prelude_sdk/models/verification_management/sandbox_add_phone_number_params.rbs +30 -0
  98. data/sig/prelude_sdk/models/verification_management/sandbox_add_phone_number_response.rbs +18 -0
  99. data/sig/prelude_sdk/models/verification_management/sandbox_delete_phone_number_params.rbs +26 -0
  100. data/sig/prelude_sdk/models/verification_management/sandbox_delete_phone_number_response.rbs +15 -0
  101. data/sig/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_params.rbs +17 -0
  102. data/sig/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_response.rbs +45 -0
  103. data/sig/prelude_sdk/models/watch_evaluate_params.rbs +52 -0
  104. data/sig/prelude_sdk/models/watch_evaluate_response.rbs +178 -0
  105. data/sig/prelude_sdk/models/watch_predict_params.rbs +9 -142
  106. data/sig/prelude_sdk/models/watch_send_events_params.rbs +4 -37
  107. data/sig/prelude_sdk/models/watch_send_feedbacks_params.rbs +4 -37
  108. data/sig/prelude_sdk/models.rbs +14 -0
  109. data/sig/prelude_sdk/resources/intel/kyc.rbs +23 -0
  110. data/sig/prelude_sdk/resources/intel.rbs +9 -0
  111. data/sig/prelude_sdk/resources/notify.rbs +9 -0
  112. data/sig/prelude_sdk/resources/verification/phone/history.rbs +32 -0
  113. data/sig/prelude_sdk/resources/verification/phone.rbs +11 -0
  114. data/sig/prelude_sdk/resources/verification.rbs +5 -3
  115. data/sig/prelude_sdk/resources/verification_management/sandbox.rbs +24 -0
  116. data/sig/prelude_sdk/resources/verification_management.rbs +2 -0
  117. data/sig/prelude_sdk/resources/watch.rbs +11 -2
  118. metadata +79 -1
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Resources
5
+ class Intel
6
+ # Retrieve detailed information about a phone number including carrier data, line
7
+ # type, and portability status.
8
+ class KYC
9
+ # Verify identity attributes against the subscriber record held by the end-user's
10
+ # mobile operator. Send a phone number along with the attributes to check; Prelude
11
+ # resolves the operator internally and returns a per-attribute match. Currently
12
+ # available for France only (Orange, SFR, Bouygues) and must be enabled for your
13
+ # account.
14
+ #
15
+ # @overload match(phone, address: nil, birthdate: nil, country: nil, email: nil, family_name: nil, given_name: nil, locality: nil, postal_code: nil, region: nil, request_options: {})
16
+ #
17
+ # @param phone [String] An E.164 formatted phone number whose subscriber identity to match against.
18
+ #
19
+ # @param address [String] The street address.
20
+ #
21
+ # @param birthdate [Date] The date of birth in ISO 8601 (`YYYY-MM-DD`) format. Compared exactly.
22
+ #
23
+ # @param country [String] The ISO 3166-1 alpha-2 country code. Compared exactly.
24
+ #
25
+ # @param email [String] The email address.
26
+ #
27
+ # @param family_name [String] The end-user's family (last) name.
28
+ #
29
+ # @param given_name [String] The end-user's given (first) name.
30
+ #
31
+ # @param locality [String] The locality (city).
32
+ #
33
+ # @param postal_code [String] The postal code. Compared exactly.
34
+ #
35
+ # @param region [String] The region, state, or province.
36
+ #
37
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
38
+ #
39
+ # @return [PreludeSDK::Models::Intel::KYCMatchResponse]
40
+ #
41
+ # @see PreludeSDK::Models::Intel::KYCMatchParams
42
+ def match(phone, params = {})
43
+ parsed, options = PreludeSDK::Intel::KYCMatchParams.dump_request(params)
44
+ @client.request(
45
+ method: :post,
46
+ path: ["v2/intel/kyc/match/%1$s", phone],
47
+ body: parsed,
48
+ model: PreludeSDK::Models::Intel::KYCMatchResponse,
49
+ options: options
50
+ )
51
+ end
52
+
53
+ # @api private
54
+ #
55
+ # @param client [PreludeSDK::Client]
56
+ def initialize(client:)
57
+ @client = client
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -0,0 +1,20 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Resources
5
+ class Intel
6
+ # Retrieve detailed information about a phone number including carrier data, line
7
+ # type, and portability status.
8
+ # @return [PreludeSDK::Resources::Intel::KYC]
9
+ attr_reader :kyc
10
+
11
+ # @api private
12
+ #
13
+ # @param client [PreludeSDK::Client]
14
+ def initialize(client:)
15
+ @client = client
16
+ @kyc = PreludeSDK::Resources::Intel::KYC.new(client: client)
17
+ end
18
+ end
19
+ end
20
+ end
@@ -163,6 +163,41 @@ module PreludeSDK
163
163
  )
164
164
  end
165
165
 
166
+ # Some parameter documentations has been truncated, see
167
+ # {PreludeSDK::Models::NotifyReplyParams} for more details.
168
+ #
169
+ # Send a free-form text reply to an inbound WhatsApp message within the 24-hour
170
+ # conversation window. See
171
+ # [WhatsApp 2-Way Messaging](/notify/v2/documentation/whatsapp) for details.
172
+ #
173
+ # @overload reply(reply_to:, text:, to:, callback_url: nil, correlation_id: nil, request_options: {})
174
+ #
175
+ # @param reply_to [String] The inbound message ID (prefixed with `im_`) to reply to. This ID is provided in
176
+ #
177
+ # @param text [String] The reply message body sent as a free-form WhatsApp text.
178
+ #
179
+ # @param to [String] The recipient's phone number in E.164 format. Must match the phone number that s
180
+ #
181
+ # @param callback_url [String] The URL where webhooks will be sent for delivery events of this reply.
182
+ #
183
+ # @param correlation_id [String] A user-defined identifier to correlate this reply with your internal systems. It
184
+ #
185
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
186
+ #
187
+ # @return [PreludeSDK::Models::NotifyReplyResponse]
188
+ #
189
+ # @see PreludeSDK::Models::NotifyReplyParams
190
+ def reply(params)
191
+ parsed, options = PreludeSDK::NotifyReplyParams.dump_request(params)
192
+ @client.request(
193
+ method: :post,
194
+ path: "v2/notify/reply",
195
+ body: parsed,
196
+ model: PreludeSDK::Models::NotifyReplyResponse,
197
+ options: options
198
+ )
199
+ end
200
+
166
201
  # Some parameter documentations has been truncated, see
167
202
  # {PreludeSDK::Models::NotifySendParams} for more details.
168
203
  #
@@ -0,0 +1,104 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Resources
5
+ class Verification
6
+ class Phone
7
+ # Verify phone numbers.
8
+ class History
9
+ # Retrieve everything Prelude recorded for one phone verification: its outcome and
10
+ # the device, network and anti-fraud context it was created in, the chronological
11
+ # timeline of every message attempt and code check, and the anti-fraud signals you
12
+ # forwarded.
13
+ #
14
+ # The identifier is the `id` returned by
15
+ # [Create or retry a verification](/verify/v2/api-reference/create-or-retry-a-verification)
16
+ # or the `verification_id` of the verification webhooks. Both `lifecycle` and
17
+ # `signals` are optional: a verification can resolve with its top-level fields
18
+ # alone.
19
+ #
20
+ # @overload retrieve(id, request_options: {})
21
+ #
22
+ # @param id [String] The verification identifier.
23
+ #
24
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
25
+ #
26
+ # @return [PreludeSDK::Models::Verification::Phone::HistoryRetrieveResponse]
27
+ #
28
+ # @see PreludeSDK::Models::Verification::Phone::HistoryRetrieveParams
29
+ def retrieve(id, params = {})
30
+ @client.request(
31
+ method: :get,
32
+ path: ["v2/verification/phone/history/%1$s", id],
33
+ model: PreludeSDK::Models::Verification::Phone::HistoryRetrieveResponse,
34
+ options: params[:request_options]
35
+ )
36
+ end
37
+
38
+ # Some parameter documentations has been truncated, see
39
+ # {PreludeSDK::Models::Verification::Phone::HistoryListParams} for more details.
40
+ #
41
+ # List your phone verifications, most recent first, one entry per verification
42
+ # with its outcome, channels, attempts and cost. Every filter is optional and they
43
+ # combine with AND.
44
+ #
45
+ # Use it to find every verification a phone number went through from your support
46
+ # tooling, then
47
+ # [Get a phone verification](/verify/v2/api-reference/history/get-a-phone-verification)
48
+ # for the full timeline of one of them. A cursor is bound to the filters that
49
+ # produced it: pass `next_cursor` back with the exact same query parameters.
50
+ #
51
+ # @overload list(channels: nil, cursor: nil, device_platform: nil, from: nil, limit: nil, max_attempts: nil, min_attempts: nil, phone_number: nil, region: nil, status: nil, template_id: nil, to: nil, request_options: {})
52
+ #
53
+ # @param channels [Array<Symbol, PreludeSDK::Models::Verification::Phone::HistoryListParams::Channel>] Only verifications that could use one of these channels. Repeat the parameter fo
54
+ #
55
+ # @param cursor [String] Pagination cursor from the previous response.
56
+ #
57
+ # @param device_platform [Symbol, PreludeSDK::Models::Verification::Phone::HistoryListParams::DevicePlatform] Only verifications created from this device platform.
58
+ #
59
+ # @param from [Time] Only verifications created at or after this RFC 3339 timestamp. Goes with `to`,
60
+ #
61
+ # @param limit [Integer] Maximum number of verifications to return per page.
62
+ #
63
+ # @param max_attempts [Integer] Only verifications that sent at most this many messages. `0` keeps the verificat
64
+ #
65
+ # @param min_attempts [Integer] Only verifications that sent at least this many messages.
66
+ #
67
+ # @param phone_number [String] Only verifications targeting this E.164 phone number. The leading `+` may be omi
68
+ #
69
+ # @param region [String] Only verifications of phone numbers from this region, as an ISO 3166-1 alpha-2 c
70
+ #
71
+ # @param status [Symbol, PreludeSDK::Models::Verification::Phone::HistoryListParams::Status] Only verifications in this status. `pending_check` cannot be filtered on.
72
+ #
73
+ # @param template_id [String] Only verifications sent with this template, as returned in `template_id` by [Get
74
+ #
75
+ # @param to [Time] Only verifications created at or before this RFC 3339 timestamp. Goes with `from
76
+ #
77
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
78
+ #
79
+ # @return [PreludeSDK::Models::Verification::Phone::HistoryListResponse]
80
+ #
81
+ # @see PreludeSDK::Models::Verification::Phone::HistoryListParams
82
+ def list(params = {})
83
+ parsed, options = PreludeSDK::Verification::Phone::HistoryListParams.dump_request(params)
84
+ query = PreludeSDK::Internal::Util.encode_query_params(parsed)
85
+ @client.request(
86
+ method: :get,
87
+ path: "v2/verification/phone/history",
88
+ query: query,
89
+ model: PreludeSDK::Models::Verification::Phone::HistoryListResponse,
90
+ options: options
91
+ )
92
+ end
93
+
94
+ # @api private
95
+ #
96
+ # @param client [PreludeSDK::Client]
97
+ def initialize(client:)
98
+ @client = client
99
+ end
100
+ end
101
+ end
102
+ end
103
+ end
104
+ end
@@ -0,0 +1,21 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Resources
5
+ class Verification
6
+ class Phone
7
+ # Verify phone numbers.
8
+ # @return [PreludeSDK::Resources::Verification::Phone::History]
9
+ attr_reader :history
10
+
11
+ # @api private
12
+ #
13
+ # @param client [PreludeSDK::Client]
14
+ def initialize(client:)
15
+ @client = client
16
+ @history = PreludeSDK::Resources::Verification::Phone::History.new(client: client)
17
+ end
18
+ end
19
+ end
20
+ end
21
+ end
@@ -4,6 +4,9 @@ module PreludeSDK
4
4
  module Resources
5
5
  # Verify phone numbers.
6
6
  class Verification
7
+ # @return [PreludeSDK::Resources::Verification::Phone]
8
+ attr_reader :phone
9
+
7
10
  # Some parameter documentations has been truncated, see
8
11
  # {PreludeSDK::Models::VerificationCreateParams} for more details.
9
12
  #
@@ -13,7 +16,7 @@ module PreludeSDK
13
16
  #
14
17
  # @overload create(target:, dispatch_id: nil, metadata: nil, options: nil, signals: nil, request_options: {})
15
18
  #
16
- # @param target [PreludeSDK::Models::VerificationCreateParams::Target] The verification target. Either a phone number or an email address. To use the e
19
+ # @param target [PreludeSDK::Models::Target] The verification target. Either a phone number or an email address. To use the e
17
20
  #
18
21
  # @param dispatch_id [String] The identifier of the dispatch that came from the front-end SDK.
19
22
  #
@@ -21,7 +24,7 @@ module PreludeSDK
21
24
  #
22
25
  # @param options [PreludeSDK::Models::VerificationCreateParams::Options] Verification options
23
26
  #
24
- # @param signals [PreludeSDK::Models::VerificationCreateParams::Signals] The signals used for anti-fraud. For more details, refer to [Signals](/verify/v2
27
+ # @param signals [PreludeSDK::Models::Signals] The signals used for anti-fraud. For more details, refer to [Signals](/verify/v2
25
28
  #
26
29
  # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
27
30
  #
@@ -48,7 +51,7 @@ module PreludeSDK
48
51
  #
49
52
  # @param code [String] The OTP code to validate.
50
53
  #
51
- # @param target [PreludeSDK::Models::VerificationCheckParams::Target] The verification target. Either a phone number or an email address. To use the e
54
+ # @param target [PreludeSDK::Models::Target] The verification target. Either a phone number or an email address. To use the e
52
55
  #
53
56
  # @param psd2 [PreludeSDK::Models::VerificationCheckParams::Psd2] Required when checking a code issued under the `prelude:psd2` template. The subm
54
57
  #
@@ -73,6 +76,7 @@ module PreludeSDK
73
76
  # @param client [PreludeSDK::Client]
74
77
  def initialize(client:)
75
78
  @client = client
79
+ @phone = PreludeSDK::Resources::Verification::Phone.new(client: client)
76
80
  end
77
81
  end
78
82
  end
@@ -0,0 +1,99 @@
1
+ # frozen_string_literal: true
2
+
3
+ module PreludeSDK
4
+ module Resources
5
+ class VerificationManagement
6
+ # Verify phone numbers.
7
+ class Sandbox
8
+ # Some parameter documentations has been truncated, see
9
+ # {PreludeSDK::Models::VerificationManagement::SandboxAddPhoneNumberParams} for
10
+ # more details.
11
+ #
12
+ # Register a phone number as a sandbox number and associate it with a fixed
13
+ # attempt code. Subsequent verification attempts against this number will not
14
+ # trigger a real SMS/call and will validate against the configured attempt code.
15
+ #
16
+ # This operation is idempotent - re-adding the same phone number will overwrite
17
+ # the existing attempt code.
18
+ #
19
+ # In order to get access to this endpoint, contact our support team.
20
+ #
21
+ # @overload add_phone_number(attempt_code:, phone_number:, request_options: {})
22
+ #
23
+ # @param attempt_code [String] The fixed attempt code that will validate verification attempts for this phone n
24
+ #
25
+ # @param phone_number [String] An E.164 formatted phone number to add to the sandbox list.
26
+ #
27
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
28
+ #
29
+ # @return [PreludeSDK::Models::VerificationManagement::SandboxAddPhoneNumberResponse]
30
+ #
31
+ # @see PreludeSDK::Models::VerificationManagement::SandboxAddPhoneNumberParams
32
+ def add_phone_number(params)
33
+ parsed, options = PreludeSDK::VerificationManagement::SandboxAddPhoneNumberParams.dump_request(params)
34
+ @client.request(
35
+ method: :put,
36
+ path: "v2/verification/management/phone-numbers/sandbox",
37
+ body: parsed,
38
+ model: PreludeSDK::Models::VerificationManagement::SandboxAddPhoneNumberResponse,
39
+ options: options
40
+ )
41
+ end
42
+
43
+ # Remove a phone number from the sandbox list.
44
+ #
45
+ # This operation is idempotent - deleting a phone number that is not in the
46
+ # sandbox list will succeed without making any changes.
47
+ #
48
+ # In order to get access to this endpoint, contact our support team.
49
+ #
50
+ # @overload delete_phone_number(phone_number, request_options: {})
51
+ #
52
+ # @param phone_number [String] The E.164 formatted phone number to remove from the sandbox list.
53
+ #
54
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
55
+ #
56
+ # @return [PreludeSDK::Models::VerificationManagement::SandboxDeletePhoneNumberResponse]
57
+ #
58
+ # @see PreludeSDK::Models::VerificationManagement::SandboxDeletePhoneNumberParams
59
+ def delete_phone_number(phone_number, params = {})
60
+ @client.request(
61
+ method: :delete,
62
+ path: ["v2/verification/management/phone-numbers/sandbox/%1$s", phone_number],
63
+ model: PreludeSDK::Models::VerificationManagement::SandboxDeletePhoneNumberResponse,
64
+ options: params[:request_options]
65
+ )
66
+ end
67
+
68
+ # Retrieve the list of sandbox phone numbers for the account. Sandbox numbers are
69
+ # test numbers that bypass the real verification flow and return a fixed attempt
70
+ # code.
71
+ #
72
+ # In order to get access to this endpoint, contact our support team.
73
+ #
74
+ # @overload list_phone_numbers(request_options: {})
75
+ #
76
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
77
+ #
78
+ # @return [PreludeSDK::Models::VerificationManagement::SandboxListPhoneNumbersResponse]
79
+ #
80
+ # @see PreludeSDK::Models::VerificationManagement::SandboxListPhoneNumbersParams
81
+ def list_phone_numbers(params = {})
82
+ @client.request(
83
+ method: :get,
84
+ path: "v2/verification/management/phone-numbers/sandbox",
85
+ model: PreludeSDK::Models::VerificationManagement::SandboxListPhoneNumbersResponse,
86
+ options: params[:request_options]
87
+ )
88
+ end
89
+
90
+ # @api private
91
+ #
92
+ # @param client [PreludeSDK::Client]
93
+ def initialize(client:)
94
+ @client = client
95
+ end
96
+ end
97
+ end
98
+ end
99
+ end
@@ -4,6 +4,10 @@ module PreludeSDK
4
4
  module Resources
5
5
  # Verify phone numbers.
6
6
  class VerificationManagement
7
+ # Verify phone numbers.
8
+ # @return [PreludeSDK::Resources::VerificationManagement::Sandbox]
9
+ attr_reader :sandbox
10
+
7
11
  # Remove a phone number from the allow or block list.
8
12
  #
9
13
  # This operation is idempotent - re-deleting the same phone number will not result
@@ -135,6 +139,7 @@ module PreludeSDK
135
139
  # @param client [PreludeSDK::Client]
136
140
  def initialize(client:)
137
141
  @client = client
142
+ @sandbox = PreludeSDK::Resources::VerificationManagement::Sandbox.new(client: client)
138
143
  end
139
144
  end
140
145
  end
@@ -4,6 +4,49 @@ module PreludeSDK
4
4
  module Resources
5
5
  # Evaluate email addresses and phone numbers for trustworthiness.
6
6
  class Watch
7
+ # Some parameter documentations has been truncated, see
8
+ # {PreludeSDK::Models::WatchEvaluateParams} for more details.
9
+ #
10
+ # **Beta.** The request and response shapes may still change, and flows and
11
+ # recipes are configured by Prelude on your behalf for now. Talk to us before you
12
+ # build against it.
13
+ #
14
+ # Score a target against the rules configured for one moment in your product —
15
+ # signup, checkout, password reset. The flow selects which recipes run; each
16
+ # recipe scores its rules against a threshold and returns its own verdict, and the
17
+ # evaluation answers with the most severe verdict and action across them. Where
18
+ # Predict returns a single model-derived outcome, Eval returns the full breakdown,
19
+ # so you can see which rules fired and which could not run. Scoring-only — it does
20
+ # not update counters by itself.
21
+ #
22
+ # @overload evaluate(flow_id:, target:, attributes: nil, dispatch_id: nil, signals: nil, request_options: {})
23
+ #
24
+ # @param flow_id [String] The flow to evaluate. A flow names the moment you are guarding and selects the r
25
+ #
26
+ # @param target [PreludeSDK::Models::Target] The identifier to score — a phone number or email address.
27
+ #
28
+ # @param attributes [Hash{Symbol=>String}] Values for the attributes the flow's recipes declare, keyed without the `attr.`
29
+ #
30
+ # @param dispatch_id [String] The identifier of the dispatch that came from the front-end SDK. Signals it carr
31
+ #
32
+ # @param signals [PreludeSDK::Models::Signals] The signals used for anti-fraud. For more details, refer to [Signals](/verify/v2
33
+ #
34
+ # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
35
+ #
36
+ # @return [PreludeSDK::Models::WatchEvaluateResponse]
37
+ #
38
+ # @see PreludeSDK::Models::WatchEvaluateParams
39
+ def evaluate(params)
40
+ parsed, options = PreludeSDK::WatchEvaluateParams.dump_request(params)
41
+ @client.request(
42
+ method: :post,
43
+ path: "v2/watch/eval",
44
+ body: parsed,
45
+ model: PreludeSDK::Models::WatchEvaluateResponse,
46
+ options: options
47
+ )
48
+ end
49
+
7
50
  # Some parameter documentations has been truncated, see
8
51
  # {PreludeSDK::Models::WatchPredictParams} for more details.
9
52
  #
@@ -16,13 +59,13 @@ module PreludeSDK
16
59
  #
17
60
  # @overload predict(target:, dispatch_id: nil, metadata: nil, signals: nil, request_options: {})
18
61
  #
19
- # @param target [PreludeSDK::Models::WatchPredictParams::Target] The signup identifier to score — a phone number or email address.
62
+ # @param target [PreludeSDK::Models::Target] The signup identifier to score — a phone number or email address.
20
63
  #
21
64
  # @param dispatch_id [String] The identifier of the dispatch that came from the front-end SDK.
22
65
  #
23
66
  # @param metadata [PreludeSDK::Models::WatchPredictParams::Metadata] The metadata for this prediction.
24
67
  #
25
- # @param signals [PreludeSDK::Models::WatchPredictParams::Signals] The signals used for anti-fraud. For more details, refer to [Signals](/verify/v2
68
+ # @param signals [PreludeSDK::Models::Signals] The signals used for anti-fraud. For more details, refer to [Signals](/verify/v2
26
69
  #
27
70
  # @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
28
71
  #
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PreludeSDK
4
- VERSION = "0.7.0"
4
+ VERSION = "0.8.0"
5
5
  end
data/lib/prelude_sdk.rb CHANGED
@@ -52,6 +52,8 @@ require_relative "prelude_sdk/errors"
52
52
  require_relative "prelude_sdk/internal/transport/base_client"
53
53
  require_relative "prelude_sdk/internal/transport/pooled_net_requester"
54
54
  require_relative "prelude_sdk/client"
55
+ require_relative "prelude_sdk/models/intel/kyc_match_params"
56
+ require_relative "prelude_sdk/models/intel/kyc_match_response"
55
57
  require_relative "prelude_sdk/models/lookup_lookup_params"
56
58
  require_relative "prelude_sdk/models/lookup_lookup_response"
57
59
  require_relative "prelude_sdk/models/notify_get_subscription_config_params"
@@ -64,16 +66,33 @@ require_relative "prelude_sdk/models/notify_list_subscription_phone_number_event
64
66
  require_relative "prelude_sdk/models/notify_list_subscription_phone_number_events_response"
65
67
  require_relative "prelude_sdk/models/notify_list_subscription_phone_numbers_params"
66
68
  require_relative "prelude_sdk/models/notify_list_subscription_phone_numbers_response"
69
+ require_relative "prelude_sdk/models/notify_reply_params"
70
+ require_relative "prelude_sdk/models/notify_reply_response"
67
71
  require_relative "prelude_sdk/models/notify_send_batch_params"
68
72
  require_relative "prelude_sdk/models/notify_send_batch_response"
69
73
  require_relative "prelude_sdk/models/notify_send_params"
70
74
  require_relative "prelude_sdk/models/notify_send_response"
75
+ require_relative "prelude_sdk/models/signals"
76
+ require_relative "prelude_sdk/models/target"
71
77
  require_relative "prelude_sdk/models/transactional_send_params"
72
78
  require_relative "prelude_sdk/models/transactional_send_response"
79
+ require_relative "prelude_sdk/models/verification/phone/history_list_params"
80
+ require_relative "prelude_sdk/models/verification/phone/history_list_response"
81
+ require_relative "prelude_sdk/models/verification/phone/history_retrieve_params"
82
+ require_relative "prelude_sdk/models/verification/phone/history_retrieve_response"
83
+ require_relative "prelude_sdk/models/verification/phone/phone_verification_carrier"
84
+ require_relative "prelude_sdk/models/verification/phone/phone_verification_money"
85
+ require_relative "prelude_sdk/models/verification/phone/phone_verification_psd2_transaction"
73
86
  require_relative "prelude_sdk/models/verification_check_params"
74
87
  require_relative "prelude_sdk/models/verification_check_response"
75
88
  require_relative "prelude_sdk/models/verification_create_params"
76
89
  require_relative "prelude_sdk/models/verification_create_response"
90
+ require_relative "prelude_sdk/models/verification_management/sandbox_add_phone_number_params"
91
+ require_relative "prelude_sdk/models/verification_management/sandbox_add_phone_number_response"
92
+ require_relative "prelude_sdk/models/verification_management/sandbox_delete_phone_number_params"
93
+ require_relative "prelude_sdk/models/verification_management/sandbox_delete_phone_number_response"
94
+ require_relative "prelude_sdk/models/verification_management/sandbox_list_phone_numbers_params"
95
+ require_relative "prelude_sdk/models/verification_management/sandbox_list_phone_numbers_response"
77
96
  require_relative "prelude_sdk/models/verification_management_delete_phone_number_params"
78
97
  require_relative "prelude_sdk/models/verification_management_delete_phone_number_response"
79
98
  require_relative "prelude_sdk/models/verification_management_list_phone_numbers_params"
@@ -84,6 +103,8 @@ require_relative "prelude_sdk/models/verification_management_set_phone_number_pa
84
103
  require_relative "prelude_sdk/models/verification_management_set_phone_number_response"
85
104
  require_relative "prelude_sdk/models/verification_management_submit_sender_id_params"
86
105
  require_relative "prelude_sdk/models/verification_management_submit_sender_id_response"
106
+ require_relative "prelude_sdk/models/watch_evaluate_params"
107
+ require_relative "prelude_sdk/models/watch_evaluate_response"
87
108
  require_relative "prelude_sdk/models/watch_predict_params"
88
109
  require_relative "prelude_sdk/models/watch_predict_response"
89
110
  require_relative "prelude_sdk/models/watch_send_events_params"
@@ -91,9 +112,14 @@ require_relative "prelude_sdk/models/watch_send_events_response"
91
112
  require_relative "prelude_sdk/models/watch_send_feedbacks_params"
92
113
  require_relative "prelude_sdk/models/watch_send_feedbacks_response"
93
114
  require_relative "prelude_sdk/models"
115
+ require_relative "prelude_sdk/resources/intel"
116
+ require_relative "prelude_sdk/resources/intel/kyc"
94
117
  require_relative "prelude_sdk/resources/lookup"
95
118
  require_relative "prelude_sdk/resources/notify"
96
119
  require_relative "prelude_sdk/resources/transactional"
97
120
  require_relative "prelude_sdk/resources/verification"
121
+ require_relative "prelude_sdk/resources/verification/phone"
122
+ require_relative "prelude_sdk/resources/verification/phone/history"
98
123
  require_relative "prelude_sdk/resources/verification_management"
124
+ require_relative "prelude_sdk/resources/verification_management/sandbox"
99
125
  require_relative "prelude_sdk/resources/watch"
@@ -39,6 +39,9 @@ module PreludeSDK
39
39
  sig { returns(PreludeSDK::Resources::Watch) }
40
40
  attr_reader :watch
41
41
 
42
+ sig { returns(PreludeSDK::Resources::Intel) }
43
+ attr_reader :intel
44
+
42
45
  # @api private
43
46
  sig { override.returns(T::Hash[String, String]) }
44
47
  private def auth_headers