prelude-sdk 0.7.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.
Files changed (124) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +16 -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 +910 -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_create_response.rb +59 -33
  22. data/lib/prelude_sdk/models/verification_management/sandbox_add_phone_number_params.rb +37 -0
  23. data/lib/prelude_sdk/models/verification_management/sandbox_add_phone_number_response.rb +27 -0
  24. data/lib/prelude_sdk/models/verification_management/sandbox_delete_phone_number_params.rb +22 -0
  25. data/lib/prelude_sdk/models/verification_management/sandbox_delete_phone_number_response.rb +19 -0
  26. data/lib/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_params.rb +16 -0
  27. data/lib/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_response.rb +47 -0
  28. data/lib/prelude_sdk/models/watch_evaluate_params.rb +68 -0
  29. data/lib/prelude_sdk/models/watch_evaluate_response.rb +318 -0
  30. data/lib/prelude_sdk/models/watch_predict_params.rb +6 -160
  31. data/lib/prelude_sdk/models/watch_predict_response.rb +53 -30
  32. data/lib/prelude_sdk/models/watch_send_events_params.rb +3 -38
  33. data/lib/prelude_sdk/models/watch_send_feedbacks_params.rb +3 -38
  34. data/lib/prelude_sdk/models.rb +14 -0
  35. data/lib/prelude_sdk/resources/intel/kyc.rb +62 -0
  36. data/lib/prelude_sdk/resources/intel.rb +20 -0
  37. data/lib/prelude_sdk/resources/notify.rb +35 -0
  38. data/lib/prelude_sdk/resources/verification/phone/history.rb +104 -0
  39. data/lib/prelude_sdk/resources/verification/phone.rb +21 -0
  40. data/lib/prelude_sdk/resources/verification.rb +7 -3
  41. data/lib/prelude_sdk/resources/verification_management/sandbox.rb +99 -0
  42. data/lib/prelude_sdk/resources/verification_management.rb +5 -0
  43. data/lib/prelude_sdk/resources/watch.rb +45 -2
  44. data/lib/prelude_sdk/version.rb +1 -1
  45. data/lib/prelude_sdk.rb +26 -0
  46. data/rbi/prelude_sdk/client.rbi +3 -0
  47. data/rbi/prelude_sdk/models/intel/kyc_match_params.rbi +147 -0
  48. data/rbi/prelude_sdk/models/intel/kyc_match_response.rbi +736 -0
  49. data/rbi/prelude_sdk/models/notify_reply_params.rbi +87 -0
  50. data/rbi/prelude_sdk/models/notify_reply_response.rbi +94 -0
  51. data/rbi/prelude_sdk/models/signals.rbi +200 -0
  52. data/rbi/prelude_sdk/models/target.rbi +61 -0
  53. data/rbi/prelude_sdk/models/verification/phone/history_list_params.rbi +436 -0
  54. data/rbi/prelude_sdk/models/verification/phone/history_list_response.rbi +661 -0
  55. data/rbi/prelude_sdk/models/verification/phone/history_retrieve_params.rbi +42 -0
  56. data/rbi/prelude_sdk/models/verification/phone/history_retrieve_response.rbi +2290 -0
  57. data/rbi/prelude_sdk/models/verification/phone/phone_verification_carrier.rbi +39 -0
  58. data/rbi/prelude_sdk/models/verification/phone/phone_verification_money.rbi +46 -0
  59. data/rbi/prelude_sdk/models/verification/phone/phone_verification_psd2_transaction.rbi +68 -0
  60. data/rbi/prelude_sdk/models/verification_check_params.rbi +4 -85
  61. data/rbi/prelude_sdk/models/verification_create_params.rbi +8 -328
  62. data/rbi/prelude_sdk/models/verification_create_response.rbi +143 -65
  63. data/rbi/prelude_sdk/models/verification_management/sandbox_add_phone_number_params.rbi +58 -0
  64. data/rbi/prelude_sdk/models/verification_management/sandbox_add_phone_number_response.rbi +42 -0
  65. data/rbi/prelude_sdk/models/verification_management/sandbox_delete_phone_number_params.rbi +43 -0
  66. data/rbi/prelude_sdk/models/verification_management/sandbox_delete_phone_number_response.rbi +32 -0
  67. data/rbi/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_params.rbi +34 -0
  68. data/rbi/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_response.rbi +101 -0
  69. data/rbi/prelude_sdk/models/watch_evaluate_params.rbi +109 -0
  70. data/rbi/prelude_sdk/models/watch_evaluate_response.rbi +596 -0
  71. data/rbi/prelude_sdk/models/watch_predict_params.rbi +8 -320
  72. data/rbi/prelude_sdk/models/watch_predict_response.rbi +135 -62
  73. data/rbi/prelude_sdk/models/watch_send_events_params.rbi +4 -93
  74. data/rbi/prelude_sdk/models/watch_send_feedbacks_params.rbi +4 -95
  75. data/rbi/prelude_sdk/models.rbi +14 -0
  76. data/rbi/prelude_sdk/resources/intel/kyc.rbi +61 -0
  77. data/rbi/prelude_sdk/resources/intel.rbi +17 -0
  78. data/rbi/prelude_sdk/resources/notify.rbi +31 -0
  79. data/rbi/prelude_sdk/resources/verification/phone/history.rbi +112 -0
  80. data/rbi/prelude_sdk/resources/verification/phone.rbi +18 -0
  81. data/rbi/prelude_sdk/resources/verification.rbi +6 -3
  82. data/rbi/prelude_sdk/resources/verification_management/sandbox.rbi +76 -0
  83. data/rbi/prelude_sdk/resources/verification_management.rbi +4 -0
  84. data/rbi/prelude_sdk/resources/watch.rbi +49 -2
  85. data/sig/prelude_sdk/client.rbs +2 -0
  86. data/sig/prelude_sdk/models/intel/kyc_match_params.rbs +91 -0
  87. data/sig/prelude_sdk/models/intel/kyc_match_response.rbs +276 -0
  88. data/sig/prelude_sdk/models/notify_reply_params.rbs +50 -0
  89. data/sig/prelude_sdk/models/notify_reply_response.rbs +54 -0
  90. data/sig/prelude_sdk/models/signals.rbs +101 -0
  91. data/sig/prelude_sdk/models/target.rbs +29 -0
  92. data/sig/prelude_sdk/models/verification/phone/history_list_params.rbs +187 -0
  93. data/sig/prelude_sdk/models/verification/phone/history_list_response.rbs +241 -0
  94. data/sig/prelude_sdk/models/verification/phone/history_retrieve_params.rbs +27 -0
  95. data/sig/prelude_sdk/models/verification/phone/history_retrieve_response.rbs +887 -0
  96. data/sig/prelude_sdk/models/verification/phone/phone_verification_carrier.rbs +23 -0
  97. data/sig/prelude_sdk/models/verification/phone/phone_verification_money.rbs +21 -0
  98. data/sig/prelude_sdk/models/verification/phone/phone_verification_psd2_transaction.rbs +37 -0
  99. data/sig/prelude_sdk/models/verification_check_params.rbs +4 -37
  100. data/sig/prelude_sdk/models/verification_create_params.rbs +9 -142
  101. data/sig/prelude_sdk/models/verification_create_response.rbs +32 -14
  102. data/sig/prelude_sdk/models/verification_management/sandbox_add_phone_number_params.rbs +30 -0
  103. data/sig/prelude_sdk/models/verification_management/sandbox_add_phone_number_response.rbs +18 -0
  104. data/sig/prelude_sdk/models/verification_management/sandbox_delete_phone_number_params.rbs +26 -0
  105. data/sig/prelude_sdk/models/verification_management/sandbox_delete_phone_number_response.rbs +15 -0
  106. data/sig/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_params.rbs +17 -0
  107. data/sig/prelude_sdk/models/verification_management/sandbox_list_phone_numbers_response.rbs +45 -0
  108. data/sig/prelude_sdk/models/watch_evaluate_params.rbs +52 -0
  109. data/sig/prelude_sdk/models/watch_evaluate_response.rbs +202 -0
  110. data/sig/prelude_sdk/models/watch_predict_params.rbs +9 -142
  111. data/sig/prelude_sdk/models/watch_predict_response.rbs +32 -14
  112. data/sig/prelude_sdk/models/watch_send_events_params.rbs +4 -37
  113. data/sig/prelude_sdk/models/watch_send_feedbacks_params.rbs +4 -37
  114. data/sig/prelude_sdk/models.rbs +14 -0
  115. data/sig/prelude_sdk/resources/intel/kyc.rbs +23 -0
  116. data/sig/prelude_sdk/resources/intel.rbs +9 -0
  117. data/sig/prelude_sdk/resources/notify.rbs +9 -0
  118. data/sig/prelude_sdk/resources/verification/phone/history.rbs +32 -0
  119. data/sig/prelude_sdk/resources/verification/phone.rbs +11 -0
  120. data/sig/prelude_sdk/resources/verification.rbs +5 -3
  121. data/sig/prelude_sdk/resources/verification_management/sandbox.rbs +24 -0
  122. data/sig/prelude_sdk/resources/verification_management.rbs +2 -0
  123. data/sig/prelude_sdk/resources/watch.rbs +11 -2
  124. metadata +80 -2
@@ -74,14 +74,10 @@ module PreludeSDK
74
74
  attr_accessor :label
75
75
 
76
76
  # The event target. Only supports phone numbers for now.
77
- sig { returns(PreludeSDK::WatchSendEventsParams::Event::Target) }
77
+ sig { returns(PreludeSDK::Target) }
78
78
  attr_reader :target
79
79
 
80
- sig do
81
- params(
82
- target: PreludeSDK::WatchSendEventsParams::Event::Target::OrHash
83
- ).void
84
- end
80
+ sig { params(target: PreludeSDK::Target::OrHash).void }
85
81
  attr_writer :target
86
82
 
87
83
  sig do
@@ -89,7 +85,7 @@ module PreludeSDK
89
85
  confidence:
90
86
  PreludeSDK::WatchSendEventsParams::Event::Confidence::OrSymbol,
91
87
  label: String,
92
- target: PreludeSDK::WatchSendEventsParams::Event::Target::OrHash
88
+ target: PreludeSDK::Target::OrHash
93
89
  ).returns(T.attached_class)
94
90
  end
95
91
  def self.new(
@@ -116,7 +112,7 @@ module PreludeSDK
116
112
  confidence:
117
113
  PreludeSDK::WatchSendEventsParams::Event::Confidence::OrSymbol,
118
114
  label: String,
119
- target: PreludeSDK::WatchSendEventsParams::Event::Target
115
+ target: PreludeSDK::Target
120
116
  }
121
117
  )
122
118
  end
@@ -180,91 +176,6 @@ module PreludeSDK
180
176
  def self.values
181
177
  end
182
178
  end
183
-
184
- class Target < PreludeSDK::Internal::Type::BaseModel
185
- OrHash =
186
- T.type_alias do
187
- T.any(
188
- PreludeSDK::WatchSendEventsParams::Event::Target,
189
- PreludeSDK::Internal::AnyHash
190
- )
191
- end
192
-
193
- # The type of the target. Either "phone_number" or "email_address".
194
- sig do
195
- returns(
196
- PreludeSDK::WatchSendEventsParams::Event::Target::Type::OrSymbol
197
- )
198
- end
199
- attr_accessor :type
200
-
201
- # An E.164 formatted phone number or an email address.
202
- sig { returns(String) }
203
- attr_accessor :value
204
-
205
- # The event target. Only supports phone numbers for now.
206
- sig do
207
- params(
208
- type:
209
- PreludeSDK::WatchSendEventsParams::Event::Target::Type::OrSymbol,
210
- value: String
211
- ).returns(T.attached_class)
212
- end
213
- def self.new(
214
- # The type of the target. Either "phone_number" or "email_address".
215
- type:,
216
- # An E.164 formatted phone number or an email address.
217
- value:
218
- )
219
- end
220
-
221
- sig do
222
- override.returns(
223
- {
224
- type:
225
- PreludeSDK::WatchSendEventsParams::Event::Target::Type::OrSymbol,
226
- value: String
227
- }
228
- )
229
- end
230
- def to_hash
231
- end
232
-
233
- # The type of the target. Either "phone_number" or "email_address".
234
- module Type
235
- extend PreludeSDK::Internal::Type::Enum
236
-
237
- TaggedSymbol =
238
- T.type_alias do
239
- T.all(
240
- Symbol,
241
- PreludeSDK::WatchSendEventsParams::Event::Target::Type
242
- )
243
- end
244
- OrSymbol = T.type_alias { T.any(Symbol, String) }
245
-
246
- PHONE_NUMBER =
247
- T.let(
248
- :phone_number,
249
- PreludeSDK::WatchSendEventsParams::Event::Target::Type::TaggedSymbol
250
- )
251
- EMAIL_ADDRESS =
252
- T.let(
253
- :email_address,
254
- PreludeSDK::WatchSendEventsParams::Event::Target::Type::TaggedSymbol
255
- )
256
-
257
- sig do
258
- override.returns(
259
- T::Array[
260
- PreludeSDK::WatchSendEventsParams::Event::Target::Type::TaggedSymbol
261
- ]
262
- )
263
- end
264
- def self.values
265
- end
266
- end
267
- end
268
179
  end
269
180
  end
270
181
  end
@@ -55,15 +55,10 @@ module PreludeSDK
55
55
  end
56
56
 
57
57
  # The feedback target. Only supports phone numbers for now.
58
- sig { returns(PreludeSDK::WatchSendFeedbacksParams::Feedback::Target) }
58
+ sig { returns(PreludeSDK::Target) }
59
59
  attr_reader :target
60
60
 
61
- sig do
62
- params(
63
- target:
64
- PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::OrHash
65
- ).void
66
- end
61
+ sig { params(target: PreludeSDK::Target::OrHash).void }
67
62
  attr_writer :target
68
63
 
69
64
  # The type of feedback.
@@ -92,8 +87,7 @@ module PreludeSDK
92
87
 
93
88
  sig do
94
89
  params(
95
- target:
96
- PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::OrHash,
90
+ target: PreludeSDK::Target::OrHash,
97
91
  type:
98
92
  PreludeSDK::WatchSendFeedbacksParams::Feedback::Type::OrSymbol,
99
93
  metadata:
@@ -113,7 +107,7 @@ module PreludeSDK
113
107
  sig do
114
108
  override.returns(
115
109
  {
116
- target: PreludeSDK::WatchSendFeedbacksParams::Feedback::Target,
110
+ target: PreludeSDK::Target,
117
111
  type:
118
112
  PreludeSDK::WatchSendFeedbacksParams::Feedback::Type::OrSymbol,
119
113
  metadata: PreludeSDK::WatchSendFeedbacksParams::Feedback::Metadata
@@ -123,91 +117,6 @@ module PreludeSDK
123
117
  def to_hash
124
118
  end
125
119
 
126
- class Target < PreludeSDK::Internal::Type::BaseModel
127
- OrHash =
128
- T.type_alias do
129
- T.any(
130
- PreludeSDK::WatchSendFeedbacksParams::Feedback::Target,
131
- PreludeSDK::Internal::AnyHash
132
- )
133
- end
134
-
135
- # The type of the target. Either "phone_number" or "email_address".
136
- sig do
137
- returns(
138
- PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::Type::OrSymbol
139
- )
140
- end
141
- attr_accessor :type
142
-
143
- # An E.164 formatted phone number or an email address.
144
- sig { returns(String) }
145
- attr_accessor :value
146
-
147
- # The feedback target. Only supports phone numbers for now.
148
- sig do
149
- params(
150
- type:
151
- PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::Type::OrSymbol,
152
- value: String
153
- ).returns(T.attached_class)
154
- end
155
- def self.new(
156
- # The type of the target. Either "phone_number" or "email_address".
157
- type:,
158
- # An E.164 formatted phone number or an email address.
159
- value:
160
- )
161
- end
162
-
163
- sig do
164
- override.returns(
165
- {
166
- type:
167
- PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::Type::OrSymbol,
168
- value: String
169
- }
170
- )
171
- end
172
- def to_hash
173
- end
174
-
175
- # The type of the target. Either "phone_number" or "email_address".
176
- module Type
177
- extend PreludeSDK::Internal::Type::Enum
178
-
179
- TaggedSymbol =
180
- T.type_alias do
181
- T.all(
182
- Symbol,
183
- PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::Type
184
- )
185
- end
186
- OrSymbol = T.type_alias { T.any(Symbol, String) }
187
-
188
- PHONE_NUMBER =
189
- T.let(
190
- :phone_number,
191
- PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::Type::TaggedSymbol
192
- )
193
- EMAIL_ADDRESS =
194
- T.let(
195
- :email_address,
196
- PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::Type::TaggedSymbol
197
- )
198
-
199
- sig do
200
- override.returns(
201
- T::Array[
202
- PreludeSDK::WatchSendFeedbacksParams::Feedback::Target::Type::TaggedSymbol
203
- ]
204
- )
205
- end
206
- def self.values
207
- end
208
- end
209
- end
210
-
211
120
  # The type of feedback.
212
121
  module Type
213
122
  extend PreludeSDK::Internal::Type::Enum
@@ -1,6 +1,8 @@
1
1
  # typed: strong
2
2
 
3
3
  module PreludeSDK
4
+ Intel = PreludeSDK::Models::Intel
5
+
4
6
  LookupLookupParams = PreludeSDK::Models::LookupLookupParams
5
7
 
6
8
  NotifyGetSubscriptionConfigParams =
@@ -18,16 +20,26 @@ module PreludeSDK
18
20
  NotifyListSubscriptionPhoneNumbersParams =
19
21
  PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersParams
20
22
 
23
+ NotifyReplyParams = PreludeSDK::Models::NotifyReplyParams
24
+
21
25
  NotifySendBatchParams = PreludeSDK::Models::NotifySendBatchParams
22
26
 
23
27
  NotifySendParams = PreludeSDK::Models::NotifySendParams
24
28
 
29
+ Signals = PreludeSDK::Models::Signals
30
+
31
+ Target = PreludeSDK::Models::Target
32
+
25
33
  TransactionalSendParams = PreludeSDK::Models::TransactionalSendParams
26
34
 
35
+ Verification = PreludeSDK::Models::Verification
36
+
27
37
  VerificationCheckParams = PreludeSDK::Models::VerificationCheckParams
28
38
 
29
39
  VerificationCreateParams = PreludeSDK::Models::VerificationCreateParams
30
40
 
41
+ VerificationManagement = PreludeSDK::Models::VerificationManagement
42
+
31
43
  VerificationManagementDeletePhoneNumberParams =
32
44
  PreludeSDK::Models::VerificationManagementDeletePhoneNumberParams
33
45
 
@@ -43,6 +55,8 @@ module PreludeSDK
43
55
  VerificationManagementSubmitSenderIDParams =
44
56
  PreludeSDK::Models::VerificationManagementSubmitSenderIDParams
45
57
 
58
+ WatchEvaluateParams = PreludeSDK::Models::WatchEvaluateParams
59
+
46
60
  WatchPredictParams = PreludeSDK::Models::WatchPredictParams
47
61
 
48
62
  WatchSendEventsParams = PreludeSDK::Models::WatchSendEventsParams
@@ -0,0 +1,61 @@
1
+ # typed: strong
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
+ sig do
15
+ params(
16
+ phone: String,
17
+ address: String,
18
+ birthdate: Date,
19
+ country: String,
20
+ email: String,
21
+ family_name: String,
22
+ given_name: String,
23
+ locality: String,
24
+ postal_code: String,
25
+ region: String,
26
+ request_options: PreludeSDK::RequestOptions::OrHash
27
+ ).returns(PreludeSDK::Models::Intel::KYCMatchResponse)
28
+ end
29
+ def match(
30
+ # An E.164 formatted phone number whose subscriber identity to match against.
31
+ phone,
32
+ # The street address.
33
+ address: nil,
34
+ # The date of birth in ISO 8601 (`YYYY-MM-DD`) format. Compared exactly.
35
+ birthdate: nil,
36
+ # The ISO 3166-1 alpha-2 country code. Compared exactly.
37
+ country: nil,
38
+ # The email address.
39
+ email: nil,
40
+ # The end-user's family (last) name.
41
+ family_name: nil,
42
+ # The end-user's given (first) name.
43
+ given_name: nil,
44
+ # The locality (city).
45
+ locality: nil,
46
+ # The postal code. Compared exactly.
47
+ postal_code: nil,
48
+ # The region, state, or province.
49
+ region: nil,
50
+ request_options: {}
51
+ )
52
+ end
53
+
54
+ # @api private
55
+ sig { params(client: PreludeSDK::Client).returns(T.attached_class) }
56
+ def self.new(client:)
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,17 @@
1
+ # typed: strong
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
+ sig { returns(PreludeSDK::Resources::Intel::KYC) }
9
+ attr_reader :kyc
10
+
11
+ # @api private
12
+ sig { params(client: PreludeSDK::Client).returns(T.attached_class) }
13
+ def self.new(client:)
14
+ end
15
+ end
16
+ end
17
+ end
@@ -124,6 +124,37 @@ module PreludeSDK
124
124
  )
125
125
  end
126
126
 
127
+ # Send a free-form text reply to an inbound WhatsApp message within the 24-hour
128
+ # conversation window. See
129
+ # [WhatsApp 2-Way Messaging](/notify/v2/documentation/whatsapp) for details.
130
+ sig do
131
+ params(
132
+ reply_to: String,
133
+ text: String,
134
+ to: String,
135
+ callback_url: String,
136
+ correlation_id: String,
137
+ request_options: PreludeSDK::RequestOptions::OrHash
138
+ ).returns(PreludeSDK::Models::NotifyReplyResponse)
139
+ end
140
+ def reply(
141
+ # The inbound message ID (prefixed with `im_`) to reply to. This ID is provided in
142
+ # the `inbound.message.received` webhook event.
143
+ reply_to:,
144
+ # The reply message body sent as a free-form WhatsApp text.
145
+ text:,
146
+ # The recipient's phone number in E.164 format. Must match the phone number that
147
+ # sent the original inbound message.
148
+ to:,
149
+ # The URL where webhooks will be sent for delivery events of this reply.
150
+ callback_url: nil,
151
+ # A user-defined identifier to correlate this reply with your internal systems. It
152
+ # is returned in the response and any webhook events that refer to this message.
153
+ correlation_id: nil,
154
+ request_options: {}
155
+ )
156
+ end
157
+
127
158
  # Send transactional and marketing messages to your users via SMS, RCS and
128
159
  # WhatsApp with automatic compliance enforcement.
129
160
  sig do
@@ -0,0 +1,112 @@
1
+ # typed: strong
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
+ sig do
20
+ params(
21
+ id: String,
22
+ request_options: PreludeSDK::RequestOptions::OrHash
23
+ ).returns(
24
+ PreludeSDK::Models::Verification::Phone::HistoryRetrieveResponse
25
+ )
26
+ end
27
+ def retrieve(
28
+ # The verification identifier.
29
+ id,
30
+ request_options: {}
31
+ )
32
+ end
33
+
34
+ # List your phone verifications, most recent first, one entry per verification
35
+ # with its outcome, channels, attempts and cost. Every filter is optional and they
36
+ # combine with AND.
37
+ #
38
+ # Use it to find every verification a phone number went through from your support
39
+ # tooling, then
40
+ # [Get a phone verification](/verify/v2/api-reference/history/get-a-phone-verification)
41
+ # for the full timeline of one of them. A cursor is bound to the filters that
42
+ # produced it: pass `next_cursor` back with the exact same query parameters.
43
+ sig do
44
+ params(
45
+ channels:
46
+ T::Array[
47
+ PreludeSDK::Verification::Phone::HistoryListParams::Channel::OrSymbol
48
+ ],
49
+ cursor: String,
50
+ device_platform:
51
+ PreludeSDK::Verification::Phone::HistoryListParams::DevicePlatform::OrSymbol,
52
+ from: Time,
53
+ limit: Integer,
54
+ max_attempts: Integer,
55
+ min_attempts: Integer,
56
+ phone_number: String,
57
+ region: String,
58
+ status:
59
+ PreludeSDK::Verification::Phone::HistoryListParams::Status::OrSymbol,
60
+ template_id: String,
61
+ to: Time,
62
+ request_options: PreludeSDK::RequestOptions::OrHash
63
+ ).returns(
64
+ PreludeSDK::Models::Verification::Phone::HistoryListResponse
65
+ )
66
+ end
67
+ def list(
68
+ # Only verifications that could use one of these channels. Repeat the parameter
69
+ # for several values.
70
+ channels: nil,
71
+ # Pagination cursor from the previous response.
72
+ cursor: nil,
73
+ # Only verifications created from this device platform.
74
+ device_platform: nil,
75
+ # Only verifications created at or after this RFC 3339 timestamp. Goes with `to`,
76
+ # at most 6 months apart. Without them the whole history is searched.
77
+ from: nil,
78
+ # Maximum number of verifications to return per page.
79
+ limit: nil,
80
+ # Only verifications that sent at most this many messages. `0` keeps the
81
+ # verifications that never sent one.
82
+ max_attempts: nil,
83
+ # Only verifications that sent at least this many messages.
84
+ min_attempts: nil,
85
+ # Only verifications targeting this E.164 phone number. The leading `+` may be
86
+ # omitted.
87
+ phone_number: nil,
88
+ # Only verifications of phone numbers from this region, as an ISO 3166-1 alpha-2
89
+ # code.
90
+ region: nil,
91
+ # Only verifications in this status. `pending_check` cannot be filtered on.
92
+ status: nil,
93
+ # Only verifications sent with this template, as returned in `template_id` by
94
+ # [Get a phone verification](/verify/v2/api-reference/history/get-a-phone-verification).
95
+ # Built-in templates (`prelude:*`) cannot be filtered on.
96
+ template_id: nil,
97
+ # Only verifications created at or before this RFC 3339 timestamp. Goes with
98
+ # `from`.
99
+ to: nil,
100
+ request_options: {}
101
+ )
102
+ end
103
+
104
+ # @api private
105
+ sig { params(client: PreludeSDK::Client).returns(T.attached_class) }
106
+ def self.new(client:)
107
+ end
108
+ end
109
+ end
110
+ end
111
+ end
112
+ end
@@ -0,0 +1,18 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Resources
5
+ class Verification
6
+ class Phone
7
+ # Verify phone numbers.
8
+ sig { returns(PreludeSDK::Resources::Verification::Phone::History) }
9
+ attr_reader :history
10
+
11
+ # @api private
12
+ sig { params(client: PreludeSDK::Client).returns(T.attached_class) }
13
+ def self.new(client:)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -4,16 +4,19 @@ module PreludeSDK
4
4
  module Resources
5
5
  # Verify phone numbers.
6
6
  class Verification
7
+ sig { returns(PreludeSDK::Resources::Verification::Phone) }
8
+ attr_reader :phone
9
+
7
10
  # Create a new verification for a specific phone number. If another non-expired
8
11
  # verification exists (the request is performed within the verification window),
9
12
  # this endpoint will perform a retry instead.
10
13
  sig do
11
14
  params(
12
- target: PreludeSDK::VerificationCreateParams::Target::OrHash,
15
+ target: PreludeSDK::Target::OrHash,
13
16
  dispatch_id: String,
14
17
  metadata: PreludeSDK::VerificationCreateParams::Metadata::OrHash,
15
18
  options: PreludeSDK::VerificationCreateParams::Options::OrHash,
16
- signals: PreludeSDK::VerificationCreateParams::Signals::OrHash,
19
+ signals: PreludeSDK::Signals::OrHash,
17
20
  request_options: PreludeSDK::RequestOptions::OrHash
18
21
  ).returns(PreludeSDK::Models::VerificationCreateResponse)
19
22
  end
@@ -39,7 +42,7 @@ module PreludeSDK
39
42
  sig do
40
43
  params(
41
44
  code: String,
42
- target: PreludeSDK::VerificationCheckParams::Target::OrHash,
45
+ target: PreludeSDK::Target::OrHash,
43
46
  psd2: PreludeSDK::VerificationCheckParams::Psd2::OrHash,
44
47
  request_options: PreludeSDK::RequestOptions::OrHash
45
48
  ).returns(PreludeSDK::Models::VerificationCheckResponse)
@@ -0,0 +1,76 @@
1
+ # typed: strong
2
+
3
+ module PreludeSDK
4
+ module Resources
5
+ class VerificationManagement
6
+ # Verify phone numbers.
7
+ class Sandbox
8
+ # Register a phone number as a sandbox number and associate it with a fixed
9
+ # attempt code. Subsequent verification attempts against this number will not
10
+ # trigger a real SMS/call and will validate against the configured attempt code.
11
+ #
12
+ # This operation is idempotent - re-adding the same phone number will overwrite
13
+ # the existing attempt code.
14
+ #
15
+ # In order to get access to this endpoint, contact our support team.
16
+ sig do
17
+ params(
18
+ attempt_code: String,
19
+ phone_number: String,
20
+ request_options: PreludeSDK::RequestOptions::OrHash
21
+ ).returns(
22
+ PreludeSDK::Models::VerificationManagement::SandboxAddPhoneNumberResponse
23
+ )
24
+ end
25
+ def add_phone_number(
26
+ # The fixed attempt code that will validate verification attempts for this phone
27
+ # number.
28
+ attempt_code:,
29
+ # An E.164 formatted phone number to add to the sandbox list.
30
+ phone_number:,
31
+ request_options: {}
32
+ )
33
+ end
34
+
35
+ # Remove a phone number from the sandbox list.
36
+ #
37
+ # This operation is idempotent - deleting a phone number that is not in the
38
+ # sandbox list will succeed without making any changes.
39
+ #
40
+ # In order to get access to this endpoint, contact our support team.
41
+ sig do
42
+ params(
43
+ phone_number: String,
44
+ request_options: PreludeSDK::RequestOptions::OrHash
45
+ ).returns(
46
+ PreludeSDK::Models::VerificationManagement::SandboxDeletePhoneNumberResponse
47
+ )
48
+ end
49
+ def delete_phone_number(
50
+ # The E.164 formatted phone number to remove from the sandbox list.
51
+ phone_number,
52
+ request_options: {}
53
+ )
54
+ end
55
+
56
+ # Retrieve the list of sandbox phone numbers for the account. Sandbox numbers are
57
+ # test numbers that bypass the real verification flow and return a fixed attempt
58
+ # code.
59
+ #
60
+ # In order to get access to this endpoint, contact our support team.
61
+ sig do
62
+ params(request_options: PreludeSDK::RequestOptions::OrHash).returns(
63
+ PreludeSDK::Models::VerificationManagement::SandboxListPhoneNumbersResponse
64
+ )
65
+ end
66
+ def list_phone_numbers(request_options: {})
67
+ end
68
+
69
+ # @api private
70
+ sig { params(client: PreludeSDK::Client).returns(T.attached_class) }
71
+ def self.new(client:)
72
+ end
73
+ end
74
+ end
75
+ end
76
+ 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
+ sig { returns(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