prelude-sdk 0.3.0 → 0.5.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 +42 -0
- data/README.md +1 -1
- data/lib/prelude_sdk/client.rb +15 -1
- data/lib/prelude_sdk/internal/util.rb +22 -7
- data/lib/prelude_sdk/models/notify_send_batch_params.rb +38 -15
- data/lib/prelude_sdk/models/notify_send_params.rb +38 -15
- data/lib/prelude_sdk/models/transactional_send_params.rb +37 -15
- data/lib/prelude_sdk/models/verification_create_response.rb +60 -3
- data/lib/prelude_sdk/models/watch_send_events_params.rb +6 -2
- data/lib/prelude_sdk/models/watch_send_feedbacks_params.rb +6 -2
- data/lib/prelude_sdk/resources/notify.rb +4 -4
- data/lib/prelude_sdk/resources/transactional.rb +1 -1
- data/lib/prelude_sdk/resources/watch.rb +8 -2
- data/lib/prelude_sdk/version.rb +1 -1
- data/rbi/prelude_sdk/internal/util.rbi +8 -0
- data/rbi/prelude_sdk/models/notify_send_batch_params.rbi +55 -17
- data/rbi/prelude_sdk/models/notify_send_params.rbi +55 -17
- data/rbi/prelude_sdk/models/transactional_send_params.rbi +50 -17
- data/rbi/prelude_sdk/models/verification_create_response.rbi +169 -3
- data/rbi/prelude_sdk/models/watch_send_events_params.rbi +4 -2
- data/rbi/prelude_sdk/models/watch_send_feedbacks_params.rbi +4 -2
- data/rbi/prelude_sdk/resources/notify.rbi +22 -6
- data/rbi/prelude_sdk/resources/transactional.rbi +10 -2
- data/rbi/prelude_sdk/resources/watch.rbi +4 -2
- data/sig/prelude_sdk/internal/util.rbs +4 -0
- data/sig/prelude_sdk/models/notify_send_batch_params.rbs +9 -6
- data/sig/prelude_sdk/models/notify_send_params.rbs +9 -6
- data/sig/prelude_sdk/models/transactional_send_params.rbs +7 -5
- data/sig/prelude_sdk/models/verification_create_response.rbs +40 -1
- metadata +2 -2
|
@@ -114,8 +114,8 @@ module PreludeSDK
|
|
|
114
114
|
)
|
|
115
115
|
end
|
|
116
116
|
|
|
117
|
-
# Send transactional and marketing messages to your users via SMS and
|
|
118
|
-
# with automatic compliance enforcement.
|
|
117
|
+
# Send transactional and marketing messages to your users via SMS, RCS and
|
|
118
|
+
# WhatsApp with automatic compliance enforcement.
|
|
119
119
|
sig do
|
|
120
120
|
params(
|
|
121
121
|
template_id: String,
|
|
@@ -144,8 +144,16 @@ module PreludeSDK
|
|
|
144
144
|
# It is returned in the response and any webhook events that refer to this
|
|
145
145
|
# message.
|
|
146
146
|
correlation_id: nil,
|
|
147
|
-
# A
|
|
148
|
-
#
|
|
147
|
+
# A media attachment to include in the message header. Supported on WhatsApp
|
|
148
|
+
# templates registered with a `DOCUMENT`, `IMAGE`, or `VIDEO` header. The media
|
|
149
|
+
# type is determined by the template's registered header format; send the matching
|
|
150
|
+
# file type for each.
|
|
151
|
+
#
|
|
152
|
+
# - `DOCUMENT` headers accept PDF and other document formats; `filename` is
|
|
153
|
+
# required and displayed to the recipient.
|
|
154
|
+
# - `IMAGE` headers accept `.png`, `.jpg`, `.jpeg`, and `.webp` URLs; `filename`
|
|
155
|
+
# is ignored.
|
|
156
|
+
# - `VIDEO` headers accept `.mp4` and `.3gp` URLs; `filename` is ignored.
|
|
149
157
|
document: nil,
|
|
150
158
|
# The message expiration date in RFC3339 format. The message will not be sent if
|
|
151
159
|
# this time is reached.
|
|
@@ -197,8 +205,16 @@ module PreludeSDK
|
|
|
197
205
|
callback_url: nil,
|
|
198
206
|
# A user-defined identifier to correlate this request with your internal systems.
|
|
199
207
|
correlation_id: nil,
|
|
200
|
-
# A
|
|
201
|
-
#
|
|
208
|
+
# A media attachment to include in the message header. Supported on WhatsApp
|
|
209
|
+
# templates registered with a `DOCUMENT`, `IMAGE`, or `VIDEO` header. The media
|
|
210
|
+
# type is determined by the template's registered header format; send the matching
|
|
211
|
+
# file type for each.
|
|
212
|
+
#
|
|
213
|
+
# - `DOCUMENT` headers accept PDF and other document formats; `filename` is
|
|
214
|
+
# required and displayed to the recipient.
|
|
215
|
+
# - `IMAGE` headers accept `.png`, `.jpg`, `.jpeg`, and `.webp` URLs; `filename`
|
|
216
|
+
# is ignored.
|
|
217
|
+
# - `VIDEO` headers accept `.mp4` and `.3gp` URLs; `filename` is ignored.
|
|
202
218
|
document: nil,
|
|
203
219
|
# The message expiration date in RFC3339 format. Messages will not be sent after
|
|
204
220
|
# this time.
|
|
@@ -33,8 +33,16 @@ module PreludeSDK
|
|
|
33
33
|
# returned in the response and any webhook events that refer to this
|
|
34
34
|
# transactionalmessage.
|
|
35
35
|
correlation_id: nil,
|
|
36
|
-
# A
|
|
37
|
-
#
|
|
36
|
+
# A media attachment to include in the message header. Supported on WhatsApp
|
|
37
|
+
# templates registered with a `DOCUMENT`, `IMAGE`, or `VIDEO` header. The media
|
|
38
|
+
# type is determined by the template's registered header format; send the matching
|
|
39
|
+
# file type for each.
|
|
40
|
+
#
|
|
41
|
+
# - `DOCUMENT` headers accept PDF and other document formats; `filename` is
|
|
42
|
+
# required and displayed to the recipient.
|
|
43
|
+
# - `IMAGE` headers accept `.png`, `.jpg`, `.jpeg`, and `.webp` URLs; `filename`
|
|
44
|
+
# is ignored.
|
|
45
|
+
# - `VIDEO` headers accept `.mp4` and `.3gp` URLs; `filename` is ignored.
|
|
38
46
|
document: nil,
|
|
39
47
|
# The message expiration date.
|
|
40
48
|
expires_at: nil,
|
|
@@ -37,7 +37,8 @@ module PreludeSDK
|
|
|
37
37
|
).returns(PreludeSDK::Models::WatchSendEventsResponse)
|
|
38
38
|
end
|
|
39
39
|
def send_events(
|
|
40
|
-
# A list of events to dispatch.
|
|
40
|
+
# A list of events to dispatch. A maximum of 100 events can be sent in a single
|
|
41
|
+
# request.
|
|
41
42
|
events:,
|
|
42
43
|
request_options: {}
|
|
43
44
|
)
|
|
@@ -53,7 +54,8 @@ module PreludeSDK
|
|
|
53
54
|
).returns(PreludeSDK::Models::WatchSendFeedbacksResponse)
|
|
54
55
|
end
|
|
55
56
|
def send_feedbacks(
|
|
56
|
-
# A list of feedbacks to send.
|
|
57
|
+
# A list of feedbacks to send. A maximum of 100 feedbacks can be sent in a single
|
|
58
|
+
# request.
|
|
57
59
|
feedbacks:,
|
|
58
60
|
request_options: {}
|
|
59
61
|
)
|
|
@@ -45,8 +45,12 @@ module PreludeSDK
|
|
|
45
45
|
-> top?
|
|
46
46
|
} -> top?
|
|
47
47
|
|
|
48
|
+
RFC_3986_NOT_PCHARS: Regexp
|
|
49
|
+
|
|
48
50
|
def self?.uri_origin: (URI::Generic uri) -> String
|
|
49
51
|
|
|
52
|
+
def self?.encode_path: (String | Integer path) -> String
|
|
53
|
+
|
|
50
54
|
def self?.interpolate_path: (String | ::Array[String] path) -> String
|
|
51
55
|
|
|
52
56
|
def self?.decode_query: (String? query) -> ::Hash[String, ::Array[String]]
|
|
@@ -94,24 +94,27 @@ module PreludeSDK
|
|
|
94
94
|
request_options: PreludeSDK::RequestOptions
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
type document = {
|
|
97
|
+
type document = { url: String, filename: String }
|
|
98
98
|
|
|
99
99
|
class Document < PreludeSDK::Internal::Type::BaseModel
|
|
100
|
-
attr_accessor filename: String
|
|
101
|
-
|
|
102
100
|
attr_accessor url: String
|
|
103
101
|
|
|
104
|
-
|
|
102
|
+
attr_reader filename: String?
|
|
103
|
+
|
|
104
|
+
def filename=: (String) -> String
|
|
105
|
+
|
|
106
|
+
def initialize: (url: String, ?filename: String) -> void
|
|
105
107
|
|
|
106
|
-
def to_hash: -> {
|
|
108
|
+
def to_hash: -> { url: String, filename: String }
|
|
107
109
|
end
|
|
108
110
|
|
|
109
|
-
type preferred_channel = :sms | :whatsapp
|
|
111
|
+
type preferred_channel = :sms | :rcs | :whatsapp
|
|
110
112
|
|
|
111
113
|
module PreferredChannel
|
|
112
114
|
extend PreludeSDK::Internal::Type::Enum
|
|
113
115
|
|
|
114
116
|
SMS: :sms
|
|
117
|
+
RCS: :rcs
|
|
115
118
|
WHATSAPP: :whatsapp
|
|
116
119
|
|
|
117
120
|
def self?.values: -> ::Array[PreludeSDK::Models::NotifySendBatchParams::preferred_channel]
|
|
@@ -94,24 +94,27 @@ module PreludeSDK
|
|
|
94
94
|
request_options: PreludeSDK::RequestOptions
|
|
95
95
|
}
|
|
96
96
|
|
|
97
|
-
type document = {
|
|
97
|
+
type document = { url: String, filename: String }
|
|
98
98
|
|
|
99
99
|
class Document < PreludeSDK::Internal::Type::BaseModel
|
|
100
|
-
attr_accessor filename: String
|
|
101
|
-
|
|
102
100
|
attr_accessor url: String
|
|
103
101
|
|
|
104
|
-
|
|
102
|
+
attr_reader filename: String?
|
|
103
|
+
|
|
104
|
+
def filename=: (String) -> String
|
|
105
|
+
|
|
106
|
+
def initialize: (url: String, ?filename: String) -> void
|
|
105
107
|
|
|
106
|
-
def to_hash: -> {
|
|
108
|
+
def to_hash: -> { url: String, filename: String }
|
|
107
109
|
end
|
|
108
110
|
|
|
109
|
-
type preferred_channel = :sms | :whatsapp
|
|
111
|
+
type preferred_channel = :sms | :rcs | :whatsapp
|
|
110
112
|
|
|
111
113
|
module PreferredChannel
|
|
112
114
|
extend PreludeSDK::Internal::Type::Enum
|
|
113
115
|
|
|
114
116
|
SMS: :sms
|
|
117
|
+
RCS: :rcs
|
|
115
118
|
WHATSAPP: :whatsapp
|
|
116
119
|
|
|
117
120
|
def self?.values: -> ::Array[PreludeSDK::Models::NotifySendParams::preferred_channel]
|
|
@@ -87,16 +87,18 @@ module PreludeSDK
|
|
|
87
87
|
request_options: PreludeSDK::RequestOptions
|
|
88
88
|
}
|
|
89
89
|
|
|
90
|
-
type document = {
|
|
90
|
+
type document = { url: String, filename: String }
|
|
91
91
|
|
|
92
92
|
class Document < PreludeSDK::Internal::Type::BaseModel
|
|
93
|
-
attr_accessor filename: String
|
|
94
|
-
|
|
95
93
|
attr_accessor url: String
|
|
96
94
|
|
|
97
|
-
|
|
95
|
+
attr_reader filename: String?
|
|
96
|
+
|
|
97
|
+
def filename=: (String) -> String
|
|
98
|
+
|
|
99
|
+
def initialize: (url: String, ?filename: String) -> void
|
|
98
100
|
|
|
99
|
-
def to_hash: -> {
|
|
101
|
+
def to_hash: -> { url: String, filename: String }
|
|
100
102
|
end
|
|
101
103
|
|
|
102
104
|
type preferred_channel = :sms | :rcs | :whatsapp
|
|
@@ -9,6 +9,7 @@ module PreludeSDK
|
|
|
9
9
|
metadata: PreludeSDK::Models::VerificationCreateResponse::Metadata,
|
|
10
10
|
reason: PreludeSDK::Models::VerificationCreateResponse::reason,
|
|
11
11
|
request_id: String,
|
|
12
|
+
risk_factors: ::Array[PreludeSDK::Models::VerificationCreateResponse::risk_factor],
|
|
12
13
|
silent: PreludeSDK::Models::VerificationCreateResponse::Silent
|
|
13
14
|
}
|
|
14
15
|
|
|
@@ -41,6 +42,12 @@ module PreludeSDK
|
|
|
41
42
|
|
|
42
43
|
def request_id=: (String) -> String
|
|
43
44
|
|
|
45
|
+
attr_reader risk_factors: ::Array[PreludeSDK::Models::VerificationCreateResponse::risk_factor]?
|
|
46
|
+
|
|
47
|
+
def risk_factors=: (
|
|
48
|
+
::Array[PreludeSDK::Models::VerificationCreateResponse::risk_factor]
|
|
49
|
+
) -> ::Array[PreludeSDK::Models::VerificationCreateResponse::risk_factor]
|
|
50
|
+
|
|
44
51
|
attr_reader silent: PreludeSDK::Models::VerificationCreateResponse::Silent?
|
|
45
52
|
|
|
46
53
|
def silent=: (
|
|
@@ -55,6 +62,7 @@ module PreludeSDK
|
|
|
55
62
|
?metadata: PreludeSDK::Models::VerificationCreateResponse::Metadata,
|
|
56
63
|
?reason: PreludeSDK::Models::VerificationCreateResponse::reason,
|
|
57
64
|
?request_id: String,
|
|
65
|
+
?risk_factors: ::Array[PreludeSDK::Models::VerificationCreateResponse::risk_factor],
|
|
58
66
|
?silent: PreludeSDK::Models::VerificationCreateResponse::Silent
|
|
59
67
|
) -> void
|
|
60
68
|
|
|
@@ -66,6 +74,7 @@ module PreludeSDK
|
|
|
66
74
|
metadata: PreludeSDK::Models::VerificationCreateResponse::Metadata,
|
|
67
75
|
reason: PreludeSDK::Models::VerificationCreateResponse::reason,
|
|
68
76
|
request_id: String,
|
|
77
|
+
risk_factors: ::Array[PreludeSDK::Models::VerificationCreateResponse::risk_factor],
|
|
69
78
|
silent: PreludeSDK::Models::VerificationCreateResponse::Silent
|
|
70
79
|
}
|
|
71
80
|
|
|
@@ -82,7 +91,7 @@ module PreludeSDK
|
|
|
82
91
|
def self?.values: -> ::Array[PreludeSDK::Models::VerificationCreateResponse::method_]
|
|
83
92
|
end
|
|
84
93
|
|
|
85
|
-
type status = :success | :retry | :challenged | :blocked
|
|
94
|
+
type status = :success | :retry | :challenged | :blocked | :shadow_blocked
|
|
86
95
|
|
|
87
96
|
module Status
|
|
88
97
|
extend PreludeSDK::Internal::Type::Enum
|
|
@@ -91,6 +100,7 @@ module PreludeSDK
|
|
|
91
100
|
RETRY: :retry
|
|
92
101
|
CHALLENGED: :challenged
|
|
93
102
|
BLOCKED: :blocked
|
|
103
|
+
SHADOW_BLOCKED: :shadow_blocked
|
|
94
104
|
|
|
95
105
|
def self?.values: -> ::Array[PreludeSDK::Models::VerificationCreateResponse::status]
|
|
96
106
|
end
|
|
@@ -148,6 +158,35 @@ module PreludeSDK
|
|
|
148
158
|
def self?.values: -> ::Array[PreludeSDK::Models::VerificationCreateResponse::reason]
|
|
149
159
|
end
|
|
150
160
|
|
|
161
|
+
type risk_factor =
|
|
162
|
+
:behavioral_pattern
|
|
163
|
+
| :device_attribute
|
|
164
|
+
| :fraud_database
|
|
165
|
+
| :location_discrepancy
|
|
166
|
+
| :network_fingerprint
|
|
167
|
+
| :poor_conversion_history
|
|
168
|
+
| :prefix_concentration
|
|
169
|
+
| :suspected_request_tampering
|
|
170
|
+
| :suspicious_ip_address
|
|
171
|
+
| :temporary_phone_number
|
|
172
|
+
|
|
173
|
+
module RiskFactor
|
|
174
|
+
extend PreludeSDK::Internal::Type::Enum
|
|
175
|
+
|
|
176
|
+
BEHAVIORAL_PATTERN: :behavioral_pattern
|
|
177
|
+
DEVICE_ATTRIBUTE: :device_attribute
|
|
178
|
+
FRAUD_DATABASE: :fraud_database
|
|
179
|
+
LOCATION_DISCREPANCY: :location_discrepancy
|
|
180
|
+
NETWORK_FINGERPRINT: :network_fingerprint
|
|
181
|
+
POOR_CONVERSION_HISTORY: :poor_conversion_history
|
|
182
|
+
PREFIX_CONCENTRATION: :prefix_concentration
|
|
183
|
+
SUSPECTED_REQUEST_TAMPERING: :suspected_request_tampering
|
|
184
|
+
SUSPICIOUS_IP_ADDRESS: :suspicious_ip_address
|
|
185
|
+
TEMPORARY_PHONE_NUMBER: :temporary_phone_number
|
|
186
|
+
|
|
187
|
+
def self?.values: -> ::Array[PreludeSDK::Models::VerificationCreateResponse::risk_factor]
|
|
188
|
+
end
|
|
189
|
+
|
|
151
190
|
type silent = { request_url: String }
|
|
152
191
|
|
|
153
192
|
class Silent < PreludeSDK::Internal::Type::BaseModel
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: prelude-sdk
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.5.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Prelude
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2026-
|
|
11
|
+
date: 2026-05-07 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: cgi
|