prelude-sdk 0.1.0.pre.alpha.2 → 0.1.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 +74 -0
- data/README.md +29 -1
- data/lib/prelude_sdk/client.rb +4 -0
- data/lib/prelude_sdk/errors.rb +25 -11
- data/lib/prelude_sdk/file_part.rb +10 -7
- data/lib/prelude_sdk/internal/transport/base_client.rb +29 -11
- data/lib/prelude_sdk/internal/transport/pooled_net_requester.rb +41 -42
- data/lib/prelude_sdk/internal/type/array_of.rb +1 -0
- data/lib/prelude_sdk/internal/type/base_model.rb +4 -9
- data/lib/prelude_sdk/internal/type/base_page.rb +1 -1
- data/lib/prelude_sdk/internal/type/converter.rb +27 -0
- data/lib/prelude_sdk/internal/type/file_input.rb +7 -4
- data/lib/prelude_sdk/internal/type/hash_of.rb +1 -0
- data/lib/prelude_sdk/internal/type/union.rb +9 -7
- data/lib/prelude_sdk/internal/util.rb +9 -8
- data/lib/prelude_sdk/models/transactional_send_params.rb +41 -3
- data/lib/prelude_sdk/models/transactional_send_response.rb +7 -2
- data/lib/prelude_sdk/models/verification_check_response.rb +6 -1
- data/lib/prelude_sdk/models/verification_create_params.rb +57 -20
- data/lib/prelude_sdk/models/verification_create_response.rb +65 -12
- data/lib/prelude_sdk/models/verification_management_delete_phone_number_params.rb +32 -0
- data/lib/prelude_sdk/models/verification_management_delete_phone_number_response.rb +17 -0
- data/lib/prelude_sdk/models/verification_management_list_phone_numbers_params.rb +24 -0
- data/lib/prelude_sdk/models/verification_management_list_phone_numbers_response.rb +37 -0
- data/lib/prelude_sdk/models/verification_management_list_sender_ids_params.rb +14 -0
- data/lib/prelude_sdk/models/verification_management_list_sender_ids_response.rb +65 -0
- data/lib/prelude_sdk/models/verification_management_set_phone_number_params.rb +32 -0
- data/lib/prelude_sdk/models/verification_management_set_phone_number_response.rb +17 -0
- data/lib/prelude_sdk/models/verification_management_submit_sender_id_params.rb +22 -0
- data/lib/prelude_sdk/models/verification_management_submit_sender_id_response.rb +59 -0
- data/lib/prelude_sdk/models/watch_predict_params.rb +17 -3
- data/lib/prelude_sdk/models/watch_send_feedbacks_params.rb +18 -3
- data/lib/prelude_sdk/models.rb +14 -0
- data/lib/prelude_sdk/resources/transactional.rb +8 -3
- data/lib/prelude_sdk/resources/verification_management.rb +140 -0
- data/lib/prelude_sdk/version.rb +1 -1
- data/lib/prelude_sdk.rb +12 -0
- data/manifest.yaml +1 -0
- data/rbi/prelude_sdk/client.rbi +3 -0
- data/rbi/prelude_sdk/errors.rbi +31 -4
- data/rbi/prelude_sdk/file_part.rbi +1 -1
- data/rbi/prelude_sdk/internal/transport/base_client.rbi +10 -6
- data/rbi/prelude_sdk/internal/transport/pooled_net_requester.rbi +6 -2
- data/rbi/prelude_sdk/internal/type/base_model.rbi +8 -4
- data/rbi/prelude_sdk/internal/type/base_page.rbi +1 -1
- data/rbi/prelude_sdk/internal/type/converter.rbi +54 -0
- data/rbi/prelude_sdk/internal/type/union.rbi +9 -2
- data/rbi/prelude_sdk/internal/util.rbi +1 -1
- data/rbi/prelude_sdk/models/transactional_send_params.rbi +91 -2
- data/rbi/prelude_sdk/models/transactional_send_response.rbi +6 -2
- data/rbi/prelude_sdk/models/verification_check_response.rbi +7 -1
- data/rbi/prelude_sdk/models/verification_create_params.rbi +107 -23
- data/rbi/prelude_sdk/models/verification_create_response.rbi +160 -15
- data/rbi/prelude_sdk/models/verification_management_delete_phone_number_params.rbi +77 -0
- data/rbi/prelude_sdk/models/verification_management_delete_phone_number_response.rbi +30 -0
- data/rbi/prelude_sdk/models/verification_management_list_phone_numbers_params.rbi +64 -0
- data/rbi/prelude_sdk/models/verification_management_list_phone_numbers_response.rbi +87 -0
- data/rbi/prelude_sdk/models/verification_management_list_sender_ids_params.rbi +30 -0
- data/rbi/prelude_sdk/models/verification_management_list_sender_ids_response.rbi +175 -0
- data/rbi/prelude_sdk/models/verification_management_set_phone_number_params.rbi +77 -0
- data/rbi/prelude_sdk/models/verification_management_set_phone_number_response.rbi +30 -0
- data/rbi/prelude_sdk/models/verification_management_submit_sender_id_params.rbi +43 -0
- data/rbi/prelude_sdk/models/verification_management_submit_sender_id_response.rbi +117 -0
- data/rbi/prelude_sdk/models/watch_predict_params.rbi +19 -2
- data/rbi/prelude_sdk/models/watch_send_feedbacks_params.rbi +19 -2
- data/rbi/prelude_sdk/models.rbi +15 -0
- data/rbi/prelude_sdk/resources/transactional.rbi +17 -2
- data/rbi/prelude_sdk/resources/verification_management.rbi +112 -0
- data/sig/prelude_sdk/client.rbs +2 -0
- data/sig/prelude_sdk/errors.rbs +7 -0
- data/sig/prelude_sdk/file_part.rbs +1 -1
- data/sig/prelude_sdk/internal/transport/base_client.rbs +3 -1
- data/sig/prelude_sdk/internal/transport/pooled_net_requester.rbs +4 -1
- data/sig/prelude_sdk/internal/type/converter.rbs +17 -0
- data/sig/prelude_sdk/internal/type/union.rbs +2 -2
- data/sig/prelude_sdk/models/transactional_send_params.rbs +21 -0
- data/sig/prelude_sdk/models/verification_create_params.rbs +35 -16
- data/sig/prelude_sdk/models/verification_create_response.rbs +41 -16
- data/sig/prelude_sdk/models/verification_management_delete_phone_number_params.rbs +34 -0
- data/sig/prelude_sdk/models/verification_management_delete_phone_number_response.rbs +14 -0
- data/sig/prelude_sdk/models/verification_management_list_phone_numbers_params.rbs +26 -0
- data/sig/prelude_sdk/models/verification_management_list_phone_numbers_response.rbs +32 -0
- data/sig/prelude_sdk/models/verification_management_list_sender_ids_params.rbs +15 -0
- data/sig/prelude_sdk/models/verification_management_list_sender_ids_response.rbs +64 -0
- data/sig/prelude_sdk/models/verification_management_set_phone_number_params.rbs +34 -0
- data/sig/prelude_sdk/models/verification_management_set_phone_number_response.rbs +14 -0
- data/sig/prelude_sdk/models/verification_management_submit_sender_id_params.rbs +23 -0
- data/sig/prelude_sdk/models/verification_management_submit_sender_id_response.rbs +44 -0
- data/sig/prelude_sdk/models/watch_predict_params.rbs +7 -0
- data/sig/prelude_sdk/models/watch_send_feedbacks_params.rbs +7 -0
- data/sig/prelude_sdk/models.rbs +10 -0
- data/sig/prelude_sdk/resources/transactional.rbs +1 -0
- data/sig/prelude_sdk/resources/verification_management.rbs +33 -0
- metadata +37 -4
data/rbi/prelude_sdk/errors.rbi
CHANGED
|
@@ -33,6 +33,9 @@ module PreludeSDK
|
|
|
33
33
|
sig { returns(T.nilable(Integer)) }
|
|
34
34
|
attr_accessor :status
|
|
35
35
|
|
|
36
|
+
sig { returns(T.nilable(T::Hash[String, String])) }
|
|
37
|
+
attr_accessor :headers
|
|
38
|
+
|
|
36
39
|
sig { returns(T.nilable(T.anything)) }
|
|
37
40
|
attr_accessor :body
|
|
38
41
|
|
|
@@ -41,6 +44,7 @@ module PreludeSDK
|
|
|
41
44
|
params(
|
|
42
45
|
url: URI::Generic,
|
|
43
46
|
status: T.nilable(Integer),
|
|
47
|
+
headers: T.nilable(T::Hash[String, String]),
|
|
44
48
|
body: T.nilable(Object),
|
|
45
49
|
request: NilClass,
|
|
46
50
|
response: NilClass,
|
|
@@ -50,6 +54,7 @@ module PreludeSDK
|
|
|
50
54
|
def self.new(
|
|
51
55
|
url:,
|
|
52
56
|
status: nil,
|
|
57
|
+
headers: nil,
|
|
53
58
|
body: nil,
|
|
54
59
|
request: nil,
|
|
55
60
|
response: nil,
|
|
@@ -59,10 +64,10 @@ module PreludeSDK
|
|
|
59
64
|
end
|
|
60
65
|
|
|
61
66
|
class APIConnectionError < PreludeSDK::Errors::APIError
|
|
62
|
-
sig {
|
|
67
|
+
sig { returns(NilClass) }
|
|
63
68
|
attr_accessor :status
|
|
64
69
|
|
|
65
|
-
sig {
|
|
70
|
+
sig { returns(NilClass) }
|
|
66
71
|
attr_accessor :body
|
|
67
72
|
|
|
68
73
|
# @api private
|
|
@@ -70,6 +75,7 @@ module PreludeSDK
|
|
|
70
75
|
params(
|
|
71
76
|
url: URI::Generic,
|
|
72
77
|
status: NilClass,
|
|
78
|
+
headers: T.nilable(T::Hash[String, String]),
|
|
73
79
|
body: NilClass,
|
|
74
80
|
request: NilClass,
|
|
75
81
|
response: NilClass,
|
|
@@ -79,6 +85,7 @@ module PreludeSDK
|
|
|
79
85
|
def self.new(
|
|
80
86
|
url:,
|
|
81
87
|
status: nil,
|
|
88
|
+
headers: nil,
|
|
82
89
|
body: nil,
|
|
83
90
|
request: nil,
|
|
84
91
|
response: nil,
|
|
@@ -93,6 +100,7 @@ module PreludeSDK
|
|
|
93
100
|
params(
|
|
94
101
|
url: URI::Generic,
|
|
95
102
|
status: NilClass,
|
|
103
|
+
headers: T.nilable(T::Hash[String, String]),
|
|
96
104
|
body: NilClass,
|
|
97
105
|
request: NilClass,
|
|
98
106
|
response: NilClass,
|
|
@@ -102,6 +110,7 @@ module PreludeSDK
|
|
|
102
110
|
def self.new(
|
|
103
111
|
url:,
|
|
104
112
|
status: nil,
|
|
113
|
+
headers: nil,
|
|
105
114
|
body: nil,
|
|
106
115
|
request: nil,
|
|
107
116
|
response: nil,
|
|
@@ -116,13 +125,22 @@ module PreludeSDK
|
|
|
116
125
|
params(
|
|
117
126
|
url: URI::Generic,
|
|
118
127
|
status: Integer,
|
|
128
|
+
headers: T.nilable(T::Hash[String, String]),
|
|
119
129
|
body: T.nilable(Object),
|
|
120
130
|
request: NilClass,
|
|
121
131
|
response: NilClass,
|
|
122
132
|
message: T.nilable(String)
|
|
123
133
|
).returns(T.attached_class)
|
|
124
134
|
end
|
|
125
|
-
def self.for(
|
|
135
|
+
def self.for(
|
|
136
|
+
url:,
|
|
137
|
+
status:,
|
|
138
|
+
headers:,
|
|
139
|
+
body:,
|
|
140
|
+
request:,
|
|
141
|
+
response:,
|
|
142
|
+
message: nil
|
|
143
|
+
)
|
|
126
144
|
end
|
|
127
145
|
|
|
128
146
|
sig { returns(Integer) }
|
|
@@ -133,13 +151,22 @@ module PreludeSDK
|
|
|
133
151
|
params(
|
|
134
152
|
url: URI::Generic,
|
|
135
153
|
status: Integer,
|
|
154
|
+
headers: T.nilable(T::Hash[String, String]),
|
|
136
155
|
body: T.nilable(Object),
|
|
137
156
|
request: NilClass,
|
|
138
157
|
response: NilClass,
|
|
139
158
|
message: T.nilable(String)
|
|
140
159
|
).returns(T.attached_class)
|
|
141
160
|
end
|
|
142
|
-
def self.new(
|
|
161
|
+
def self.new(
|
|
162
|
+
url:,
|
|
163
|
+
status:,
|
|
164
|
+
headers:,
|
|
165
|
+
body:,
|
|
166
|
+
request:,
|
|
167
|
+
response:,
|
|
168
|
+
message: nil
|
|
169
|
+
)
|
|
143
170
|
end
|
|
144
171
|
end
|
|
145
172
|
|
|
@@ -85,10 +85,9 @@ module PreludeSDK
|
|
|
85
85
|
|
|
86
86
|
# @api private
|
|
87
87
|
sig do
|
|
88
|
-
params(
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
).returns(T::Boolean)
|
|
88
|
+
params(status: Integer, headers: T::Hash[String, String]).returns(
|
|
89
|
+
T::Boolean
|
|
90
|
+
)
|
|
92
91
|
end
|
|
93
92
|
def should_retry?(status, headers:)
|
|
94
93
|
end
|
|
@@ -99,7 +98,7 @@ module PreludeSDK
|
|
|
99
98
|
request:
|
|
100
99
|
PreludeSDK::Internal::Transport::BaseClient::RequestInput,
|
|
101
100
|
status: Integer,
|
|
102
|
-
response_headers: T
|
|
101
|
+
response_headers: T::Hash[String, String]
|
|
103
102
|
).returns(PreludeSDK::Internal::Transport::BaseClient::RequestInput)
|
|
104
103
|
end
|
|
105
104
|
def follow_redirect(request, status:, response_headers:)
|
|
@@ -179,6 +178,11 @@ module PreludeSDK
|
|
|
179
178
|
private def auth_headers
|
|
180
179
|
end
|
|
181
180
|
|
|
181
|
+
# @api private
|
|
182
|
+
sig { returns(String) }
|
|
183
|
+
private def user_agent
|
|
184
|
+
end
|
|
185
|
+
|
|
182
186
|
# @api private
|
|
183
187
|
sig { returns(String) }
|
|
184
188
|
private def generate_idempotency_key
|
|
@@ -216,7 +220,7 @@ module PreludeSDK
|
|
|
216
220
|
send_retry_header: T::Boolean
|
|
217
221
|
).returns([Integer, Net::HTTPResponse, T::Enumerable[String]])
|
|
218
222
|
end
|
|
219
|
-
|
|
223
|
+
def send_request(
|
|
220
224
|
request,
|
|
221
225
|
redirect_count:,
|
|
222
226
|
retry_count:,
|
|
@@ -26,8 +26,12 @@ module PreludeSDK
|
|
|
26
26
|
|
|
27
27
|
class << self
|
|
28
28
|
# @api private
|
|
29
|
-
sig
|
|
30
|
-
|
|
29
|
+
sig do
|
|
30
|
+
params(cert_store: OpenSSL::X509::Store, url: URI::Generic).returns(
|
|
31
|
+
Net::HTTP
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
def connect(cert_store:, url:)
|
|
31
35
|
end
|
|
32
36
|
|
|
33
37
|
# @api private
|
|
@@ -31,7 +31,7 @@ module PreludeSDK
|
|
|
31
31
|
#
|
|
32
32
|
# Assumes superclass fields are totally defined before fields are accessed /
|
|
33
33
|
# defined on subclasses.
|
|
34
|
-
sig { params(child:
|
|
34
|
+
sig { params(child: PreludeSDK::Internal::Type::BaseModel).void }
|
|
35
35
|
def inherited(child)
|
|
36
36
|
end
|
|
37
37
|
|
|
@@ -276,9 +276,13 @@ module PreludeSDK
|
|
|
276
276
|
|
|
277
277
|
# Create a new instance of a model.
|
|
278
278
|
sig do
|
|
279
|
-
params(
|
|
280
|
-
|
|
281
|
-
|
|
279
|
+
params(
|
|
280
|
+
data:
|
|
281
|
+
T.any(
|
|
282
|
+
T::Hash[Symbol, T.anything],
|
|
283
|
+
PreludeSDK::Internal::Type::BaseModel
|
|
284
|
+
)
|
|
285
|
+
).returns(T.attached_class)
|
|
282
286
|
end
|
|
283
287
|
def self.new(data = {})
|
|
284
288
|
end
|
|
@@ -30,7 +30,7 @@ module PreludeSDK
|
|
|
30
30
|
params(
|
|
31
31
|
client: PreludeSDK::Internal::Transport::BaseClient,
|
|
32
32
|
req: PreludeSDK::Internal::Transport::BaseClient::RequestComponents,
|
|
33
|
-
headers: T
|
|
33
|
+
headers: T::Hash[String, String],
|
|
34
34
|
page_data: T.anything
|
|
35
35
|
).void
|
|
36
36
|
end
|
|
@@ -90,6 +90,60 @@ module PreludeSDK
|
|
|
90
90
|
def self.type_info(spec)
|
|
91
91
|
end
|
|
92
92
|
|
|
93
|
+
# @api private
|
|
94
|
+
sig do
|
|
95
|
+
params(
|
|
96
|
+
type_info:
|
|
97
|
+
T.any(
|
|
98
|
+
{
|
|
99
|
+
const:
|
|
100
|
+
T.nilable(
|
|
101
|
+
T.any(NilClass, T::Boolean, Integer, Float, Symbol)
|
|
102
|
+
),
|
|
103
|
+
enum:
|
|
104
|
+
T.nilable(
|
|
105
|
+
T.proc.returns(
|
|
106
|
+
PreludeSDK::Internal::Type::Converter::Input
|
|
107
|
+
)
|
|
108
|
+
),
|
|
109
|
+
union:
|
|
110
|
+
T.nilable(
|
|
111
|
+
T.proc.returns(
|
|
112
|
+
PreludeSDK::Internal::Type::Converter::Input
|
|
113
|
+
)
|
|
114
|
+
)
|
|
115
|
+
},
|
|
116
|
+
T.proc.returns(PreludeSDK::Internal::Type::Converter::Input),
|
|
117
|
+
PreludeSDK::Internal::Type::Converter::Input
|
|
118
|
+
),
|
|
119
|
+
spec:
|
|
120
|
+
T.any(
|
|
121
|
+
{
|
|
122
|
+
const:
|
|
123
|
+
T.nilable(
|
|
124
|
+
T.any(NilClass, T::Boolean, Integer, Float, Symbol)
|
|
125
|
+
),
|
|
126
|
+
enum:
|
|
127
|
+
T.nilable(
|
|
128
|
+
T.proc.returns(
|
|
129
|
+
PreludeSDK::Internal::Type::Converter::Input
|
|
130
|
+
)
|
|
131
|
+
),
|
|
132
|
+
union:
|
|
133
|
+
T.nilable(
|
|
134
|
+
T.proc.returns(
|
|
135
|
+
PreludeSDK::Internal::Type::Converter::Input
|
|
136
|
+
)
|
|
137
|
+
)
|
|
138
|
+
},
|
|
139
|
+
T.proc.returns(PreludeSDK::Internal::Type::Converter::Input),
|
|
140
|
+
PreludeSDK::Internal::Type::Converter::Input
|
|
141
|
+
)
|
|
142
|
+
).returns(PreludeSDK::Internal::AnyHash)
|
|
143
|
+
end
|
|
144
|
+
def self.meta_info(type_info, spec)
|
|
145
|
+
end
|
|
146
|
+
|
|
93
147
|
# @api private
|
|
94
148
|
sig do
|
|
95
149
|
params(translate_names: T::Boolean).returns(
|
|
@@ -16,7 +16,8 @@ module PreludeSDK
|
|
|
16
16
|
T::Array[
|
|
17
17
|
[
|
|
18
18
|
T.nilable(Symbol),
|
|
19
|
-
T.proc.returns(PreludeSDK::Internal::Type::Converter::Input)
|
|
19
|
+
T.proc.returns(PreludeSDK::Internal::Type::Converter::Input),
|
|
20
|
+
PreludeSDK::Internal::AnyHash
|
|
20
21
|
]
|
|
21
22
|
]
|
|
22
23
|
)
|
|
@@ -25,7 +26,13 @@ module PreludeSDK
|
|
|
25
26
|
end
|
|
26
27
|
|
|
27
28
|
# @api private
|
|
28
|
-
sig
|
|
29
|
+
sig do
|
|
30
|
+
returns(
|
|
31
|
+
T::Array[
|
|
32
|
+
[T.nilable(Symbol), T.anything, PreludeSDK::Internal::AnyHash]
|
|
33
|
+
]
|
|
34
|
+
)
|
|
35
|
+
end
|
|
29
36
|
protected def derefed_variants
|
|
30
37
|
end
|
|
31
38
|
|
|
@@ -361,7 +361,7 @@ module PreludeSDK
|
|
|
361
361
|
# Assumes each chunk in stream has `Encoding::BINARY`.
|
|
362
362
|
sig do
|
|
363
363
|
params(
|
|
364
|
-
headers: T
|
|
364
|
+
headers: T::Hash[String, String],
|
|
365
365
|
stream: T::Enumerable[String],
|
|
366
366
|
suppress_error: T::Boolean
|
|
367
367
|
).returns(T.anything)
|
|
@@ -29,7 +29,9 @@ module PreludeSDK
|
|
|
29
29
|
sig { params(callback_url: String).void }
|
|
30
30
|
attr_writer :callback_url
|
|
31
31
|
|
|
32
|
-
# A
|
|
32
|
+
# A user-defined identifier to correlate this transactional message with. It is
|
|
33
|
+
# returned in the response and any webhook events that refer to this
|
|
34
|
+
# transactionalmessage.
|
|
33
35
|
sig { returns(T.nilable(String)) }
|
|
34
36
|
attr_reader :correlation_id
|
|
35
37
|
|
|
@@ -60,6 +62,32 @@ module PreludeSDK
|
|
|
60
62
|
sig { params(locale: String).void }
|
|
61
63
|
attr_writer :locale
|
|
62
64
|
|
|
65
|
+
# The preferred delivery channel for the message. When specified, the system will
|
|
66
|
+
# prioritize sending via the requested channel if the template is configured for
|
|
67
|
+
# it.
|
|
68
|
+
#
|
|
69
|
+
# If not specified and the template is configured for WhatsApp, the message will
|
|
70
|
+
# be sent via WhatsApp first, with automatic fallback to SMS if WhatsApp delivery
|
|
71
|
+
# is unavailable.
|
|
72
|
+
#
|
|
73
|
+
# Supported channels: `sms`, `rcs`, `whatsapp`.
|
|
74
|
+
sig do
|
|
75
|
+
returns(
|
|
76
|
+
T.nilable(
|
|
77
|
+
PreludeSDK::TransactionalSendParams::PreferredChannel::OrSymbol
|
|
78
|
+
)
|
|
79
|
+
)
|
|
80
|
+
end
|
|
81
|
+
attr_reader :preferred_channel
|
|
82
|
+
|
|
83
|
+
sig do
|
|
84
|
+
params(
|
|
85
|
+
preferred_channel:
|
|
86
|
+
PreludeSDK::TransactionalSendParams::PreferredChannel::OrSymbol
|
|
87
|
+
).void
|
|
88
|
+
end
|
|
89
|
+
attr_writer :preferred_channel
|
|
90
|
+
|
|
63
91
|
# The variables to be replaced in the template.
|
|
64
92
|
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
65
93
|
attr_reader :variables
|
|
@@ -76,6 +104,8 @@ module PreludeSDK
|
|
|
76
104
|
expires_at: String,
|
|
77
105
|
from: String,
|
|
78
106
|
locale: String,
|
|
107
|
+
preferred_channel:
|
|
108
|
+
PreludeSDK::TransactionalSendParams::PreferredChannel::OrSymbol,
|
|
79
109
|
variables: T::Hash[Symbol, String],
|
|
80
110
|
request_options: PreludeSDK::RequestOptions::OrHash
|
|
81
111
|
).returns(T.attached_class)
|
|
@@ -87,7 +117,9 @@ module PreludeSDK
|
|
|
87
117
|
to:,
|
|
88
118
|
# The callback URL.
|
|
89
119
|
callback_url: nil,
|
|
90
|
-
# A
|
|
120
|
+
# A user-defined identifier to correlate this transactional message with. It is
|
|
121
|
+
# returned in the response and any webhook events that refer to this
|
|
122
|
+
# transactionalmessage.
|
|
91
123
|
correlation_id: nil,
|
|
92
124
|
# The message expiration date.
|
|
93
125
|
expires_at: nil,
|
|
@@ -98,6 +130,16 @@ module PreludeSDK
|
|
|
98
130
|
# code of the phone number. If the language specified doesn't exist, the default
|
|
99
131
|
# set on the template will be used.
|
|
100
132
|
locale: nil,
|
|
133
|
+
# The preferred delivery channel for the message. When specified, the system will
|
|
134
|
+
# prioritize sending via the requested channel if the template is configured for
|
|
135
|
+
# it.
|
|
136
|
+
#
|
|
137
|
+
# If not specified and the template is configured for WhatsApp, the message will
|
|
138
|
+
# be sent via WhatsApp first, with automatic fallback to SMS if WhatsApp delivery
|
|
139
|
+
# is unavailable.
|
|
140
|
+
#
|
|
141
|
+
# Supported channels: `sms`, `rcs`, `whatsapp`.
|
|
142
|
+
preferred_channel: nil,
|
|
101
143
|
# The variables to be replaced in the template.
|
|
102
144
|
variables: nil,
|
|
103
145
|
request_options: {}
|
|
@@ -114,6 +156,8 @@ module PreludeSDK
|
|
|
114
156
|
expires_at: String,
|
|
115
157
|
from: String,
|
|
116
158
|
locale: String,
|
|
159
|
+
preferred_channel:
|
|
160
|
+
PreludeSDK::TransactionalSendParams::PreferredChannel::OrSymbol,
|
|
117
161
|
variables: T::Hash[Symbol, String],
|
|
118
162
|
request_options: PreludeSDK::RequestOptions
|
|
119
163
|
}
|
|
@@ -121,6 +165,51 @@ module PreludeSDK
|
|
|
121
165
|
end
|
|
122
166
|
def to_hash
|
|
123
167
|
end
|
|
168
|
+
|
|
169
|
+
# The preferred delivery channel for the message. When specified, the system will
|
|
170
|
+
# prioritize sending via the requested channel if the template is configured for
|
|
171
|
+
# it.
|
|
172
|
+
#
|
|
173
|
+
# If not specified and the template is configured for WhatsApp, the message will
|
|
174
|
+
# be sent via WhatsApp first, with automatic fallback to SMS if WhatsApp delivery
|
|
175
|
+
# is unavailable.
|
|
176
|
+
#
|
|
177
|
+
# Supported channels: `sms`, `rcs`, `whatsapp`.
|
|
178
|
+
module PreferredChannel
|
|
179
|
+
extend PreludeSDK::Internal::Type::Enum
|
|
180
|
+
|
|
181
|
+
TaggedSymbol =
|
|
182
|
+
T.type_alias do
|
|
183
|
+
T.all(Symbol, PreludeSDK::TransactionalSendParams::PreferredChannel)
|
|
184
|
+
end
|
|
185
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
186
|
+
|
|
187
|
+
SMS =
|
|
188
|
+
T.let(
|
|
189
|
+
:sms,
|
|
190
|
+
PreludeSDK::TransactionalSendParams::PreferredChannel::TaggedSymbol
|
|
191
|
+
)
|
|
192
|
+
RCS =
|
|
193
|
+
T.let(
|
|
194
|
+
:rcs,
|
|
195
|
+
PreludeSDK::TransactionalSendParams::PreferredChannel::TaggedSymbol
|
|
196
|
+
)
|
|
197
|
+
WHATSAPP =
|
|
198
|
+
T.let(
|
|
199
|
+
:whatsapp,
|
|
200
|
+
PreludeSDK::TransactionalSendParams::PreferredChannel::TaggedSymbol
|
|
201
|
+
)
|
|
202
|
+
|
|
203
|
+
sig do
|
|
204
|
+
override.returns(
|
|
205
|
+
T::Array[
|
|
206
|
+
PreludeSDK::TransactionalSendParams::PreferredChannel::TaggedSymbol
|
|
207
|
+
]
|
|
208
|
+
)
|
|
209
|
+
end
|
|
210
|
+
def self.values
|
|
211
|
+
end
|
|
212
|
+
end
|
|
124
213
|
end
|
|
125
214
|
end
|
|
126
215
|
end
|
|
@@ -42,7 +42,9 @@ module PreludeSDK
|
|
|
42
42
|
sig { params(callback_url: String).void }
|
|
43
43
|
attr_writer :callback_url
|
|
44
44
|
|
|
45
|
-
# A
|
|
45
|
+
# A user-defined identifier to correlate this transactional message with. It is
|
|
46
|
+
# returned in the response and any webhook events that refer to this transactional
|
|
47
|
+
# message.
|
|
46
48
|
sig { returns(T.nilable(String)) }
|
|
47
49
|
attr_reader :correlation_id
|
|
48
50
|
|
|
@@ -84,7 +86,9 @@ module PreludeSDK
|
|
|
84
86
|
variables:,
|
|
85
87
|
# The callback URL.
|
|
86
88
|
callback_url: nil,
|
|
87
|
-
# A
|
|
89
|
+
# A user-defined identifier to correlate this transactional message with. It is
|
|
90
|
+
# returned in the response and any webhook events that refer to this transactional
|
|
91
|
+
# message.
|
|
88
92
|
correlation_id: nil,
|
|
89
93
|
# The Sender ID.
|
|
90
94
|
from: nil
|
|
@@ -129,6 +129,8 @@ module PreludeSDK
|
|
|
129
129
|
)
|
|
130
130
|
end
|
|
131
131
|
|
|
132
|
+
# A user-defined identifier to correlate this verification with. It is returned in
|
|
133
|
+
# the response and any webhook events that refer to this verification.
|
|
132
134
|
sig { returns(T.nilable(String)) }
|
|
133
135
|
attr_reader :correlation_id
|
|
134
136
|
|
|
@@ -137,7 +139,11 @@ module PreludeSDK
|
|
|
137
139
|
|
|
138
140
|
# The metadata for this verification.
|
|
139
141
|
sig { params(correlation_id: String).returns(T.attached_class) }
|
|
140
|
-
def self.new(
|
|
142
|
+
def self.new(
|
|
143
|
+
# A user-defined identifier to correlate this verification with. It is returned in
|
|
144
|
+
# the response and any webhook events that refer to this verification.
|
|
145
|
+
correlation_id: nil
|
|
146
|
+
)
|
|
141
147
|
end
|
|
142
148
|
|
|
143
149
|
sig { override.returns({ correlation_id: String }) }
|