prelude-sdk 0.1.0 → 0.3.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 +61 -0
- data/README.md +9 -9
- data/lib/prelude_sdk/client.rb +11 -0
- data/lib/prelude_sdk/internal/transport/pooled_net_requester.rb +13 -11
- data/lib/prelude_sdk/internal/util.rb +39 -3
- data/lib/prelude_sdk/models/lookup_lookup_params.rb +9 -1
- data/lib/prelude_sdk/models/notify_get_subscription_config_params.rb +20 -0
- data/lib/prelude_sdk/models/notify_get_subscription_config_response.rb +120 -0
- data/lib/prelude_sdk/models/notify_get_subscription_phone_number_params.rb +26 -0
- data/lib/prelude_sdk/models/notify_get_subscription_phone_number_response.rb +104 -0
- data/lib/prelude_sdk/models/notify_list_subscription_configs_params.rb +30 -0
- data/lib/prelude_sdk/models/notify_list_subscription_configs_response.rb +144 -0
- data/lib/prelude_sdk/models/notify_list_subscription_phone_number_events_params.rb +44 -0
- data/lib/prelude_sdk/models/notify_list_subscription_phone_number_events_response.rb +132 -0
- data/lib/prelude_sdk/models/notify_list_subscription_phone_numbers_params.rb +56 -0
- data/lib/prelude_sdk/models/notify_list_subscription_phone_numbers_response.rb +132 -0
- data/lib/prelude_sdk/models/notify_send_batch_params.rb +141 -0
- data/lib/prelude_sdk/models/notify_send_batch_response.rb +239 -0
- data/lib/prelude_sdk/models/notify_send_params.rb +149 -0
- data/lib/prelude_sdk/models/notify_send_response.rb +129 -0
- data/lib/prelude_sdk/models/transactional_send_params.rb +32 -1
- data/lib/prelude_sdk/models/verification_create_params.rb +35 -48
- data/lib/prelude_sdk/models/verification_create_response.rb +15 -0
- data/lib/prelude_sdk/models/verification_management_delete_phone_number_params.rb +8 -1
- data/lib/prelude_sdk/models/verification_management_list_phone_numbers_params.rb +7 -1
- data/lib/prelude_sdk/models/verification_management_set_phone_number_params.rb +8 -1
- data/lib/prelude_sdk/models/watch_predict_params.rb +16 -12
- data/lib/prelude_sdk/models/watch_predict_response.rb +51 -1
- data/lib/prelude_sdk/models/watch_send_feedbacks_params.rb +1 -128
- data/lib/prelude_sdk/models.rb +15 -0
- data/lib/prelude_sdk/resources/lookup.rb +4 -1
- data/lib/prelude_sdk/resources/notify.rb +255 -0
- data/lib/prelude_sdk/resources/transactional.rb +4 -1
- data/lib/prelude_sdk/resources/verification.rb +1 -0
- data/lib/prelude_sdk/resources/verification_management.rb +1 -0
- data/lib/prelude_sdk/resources/watch.rb +1 -0
- data/lib/prelude_sdk/version.rb +1 -1
- data/lib/prelude_sdk.rb +16 -0
- data/manifest.yaml +1 -0
- data/rbi/prelude_sdk/client.rbi +10 -0
- data/rbi/prelude_sdk/internal/util.rbi +21 -1
- data/rbi/prelude_sdk/models/lookup_lookup_params.rbi +8 -0
- data/rbi/prelude_sdk/models/notify_get_subscription_config_params.rbi +38 -0
- data/rbi/prelude_sdk/models/notify_get_subscription_config_response.rbi +224 -0
- data/rbi/prelude_sdk/models/notify_get_subscription_phone_number_params.rbi +46 -0
- data/rbi/prelude_sdk/models/notify_get_subscription_phone_number_response.rbi +199 -0
- data/rbi/prelude_sdk/models/notify_list_subscription_configs_params.rbi +60 -0
- data/rbi/prelude_sdk/models/notify_list_subscription_configs_response.rbi +286 -0
- data/rbi/prelude_sdk/models/notify_list_subscription_phone_number_events_params.rbi +72 -0
- data/rbi/prelude_sdk/models/notify_list_subscription_phone_number_events_response.rbi +259 -0
- data/rbi/prelude_sdk/models/notify_list_subscription_phone_numbers_params.rbi +125 -0
- data/rbi/prelude_sdk/models/notify_list_subscription_phone_numbers_response.rbi +259 -0
- data/rbi/prelude_sdk/models/notify_send_batch_params.rbi +241 -0
- data/rbi/prelude_sdk/models/notify_send_batch_response.rbi +440 -0
- data/rbi/prelude_sdk/models/notify_send_params.rbi +249 -0
- data/rbi/prelude_sdk/models/notify_send_response.rbi +203 -0
- data/rbi/prelude_sdk/models/transactional_send_params.rbi +50 -0
- data/rbi/prelude_sdk/models/verification_create_params.rbi +53 -93
- data/rbi/prelude_sdk/models/verification_create_response.rbi +26 -0
- data/rbi/prelude_sdk/models/verification_management_delete_phone_number_params.rbi +16 -1
- data/rbi/prelude_sdk/models/verification_management_list_phone_numbers_params.rbi +21 -4
- data/rbi/prelude_sdk/models/verification_management_set_phone_number_params.rbi +16 -1
- data/rbi/prelude_sdk/models/watch_predict_params.rbi +24 -16
- data/rbi/prelude_sdk/models/watch_predict_response.rbi +152 -3
- data/rbi/prelude_sdk/models/watch_send_feedbacks_params.rbi +3 -243
- data/rbi/prelude_sdk/models.rbi +19 -0
- data/rbi/prelude_sdk/resources/lookup.rbi +2 -0
- data/rbi/prelude_sdk/resources/notify.rbi +227 -0
- data/rbi/prelude_sdk/resources/transactional.rbi +5 -0
- data/rbi/prelude_sdk/resources/verification.rbi +1 -0
- data/rbi/prelude_sdk/resources/verification_management.rbi +1 -0
- data/rbi/prelude_sdk/resources/watch.rbi +1 -0
- data/sig/prelude_sdk/client.rbs +2 -0
- data/sig/prelude_sdk/internal/util.rbs +10 -0
- data/sig/prelude_sdk/models/lookup_lookup_params.rbs +8 -1
- data/sig/prelude_sdk/models/notify_get_subscription_config_params.rbs +23 -0
- data/sig/prelude_sdk/models/notify_get_subscription_config_response.rbs +95 -0
- data/sig/prelude_sdk/models/notify_get_subscription_phone_number_params.rbs +28 -0
- data/sig/prelude_sdk/models/notify_get_subscription_phone_number_response.rbs +71 -0
- data/sig/prelude_sdk/models/notify_list_subscription_configs_params.rbs +32 -0
- data/sig/prelude_sdk/models/notify_list_subscription_configs_response.rbs +119 -0
- data/sig/prelude_sdk/models/notify_list_subscription_phone_number_events_params.rbs +45 -0
- data/sig/prelude_sdk/models/notify_list_subscription_phone_number_events_response.rbs +95 -0
- data/sig/prelude_sdk/models/notify_list_subscription_phone_numbers_params.rbs +60 -0
- data/sig/prelude_sdk/models/notify_list_subscription_phone_numbers_response.rbs +95 -0
- data/sig/prelude_sdk/models/notify_send_batch_params.rbs +121 -0
- data/sig/prelude_sdk/models/notify_send_batch_response.rbs +214 -0
- data/sig/prelude_sdk/models/notify_send_params.rbs +121 -0
- data/sig/prelude_sdk/models/notify_send_response.rbs +100 -0
- data/sig/prelude_sdk/models/transactional_send_params.rbs +21 -0
- data/sig/prelude_sdk/models/verification_create_params.rbs +2 -21
- data/sig/prelude_sdk/models/verification_create_response.rbs +2 -1
- data/sig/prelude_sdk/models/verification_management_delete_phone_number_params.rbs +9 -1
- data/sig/prelude_sdk/models/verification_management_list_phone_numbers_params.rbs +14 -3
- data/sig/prelude_sdk/models/verification_management_set_phone_number_params.rbs +9 -1
- data/sig/prelude_sdk/models/watch_predict_response.rbs +41 -3
- data/sig/prelude_sdk/models/watch_send_feedbacks_params.rbs +3 -110
- data/sig/prelude_sdk/models.rbs +14 -0
- data/sig/prelude_sdk/resources/notify.rbs +70 -0
- data/sig/prelude_sdk/resources/transactional.rbs +1 -0
- metadata +61 -2
|
@@ -0,0 +1,440 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module PreludeSDK
|
|
4
|
+
module Models
|
|
5
|
+
class NotifySendBatchResponse < PreludeSDK::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
PreludeSDK::Models::NotifySendBatchResponse,
|
|
10
|
+
PreludeSDK::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# Number of failed sends.
|
|
15
|
+
sig { returns(Integer) }
|
|
16
|
+
attr_accessor :error_count
|
|
17
|
+
|
|
18
|
+
# The per-recipient result of the bulk send.
|
|
19
|
+
sig do
|
|
20
|
+
returns(T::Array[PreludeSDK::Models::NotifySendBatchResponse::Result])
|
|
21
|
+
end
|
|
22
|
+
attr_accessor :results
|
|
23
|
+
|
|
24
|
+
# Number of successful sends.
|
|
25
|
+
sig { returns(Integer) }
|
|
26
|
+
attr_accessor :success_count
|
|
27
|
+
|
|
28
|
+
# Total number of recipients.
|
|
29
|
+
sig { returns(Integer) }
|
|
30
|
+
attr_accessor :total_count
|
|
31
|
+
|
|
32
|
+
# The callback URL used for this bulk request, if any.
|
|
33
|
+
sig { returns(T.nilable(String)) }
|
|
34
|
+
attr_reader :callback_url
|
|
35
|
+
|
|
36
|
+
sig { params(callback_url: String).void }
|
|
37
|
+
attr_writer :callback_url
|
|
38
|
+
|
|
39
|
+
# A string that identifies this specific request.
|
|
40
|
+
sig { returns(T.nilable(String)) }
|
|
41
|
+
attr_reader :request_id
|
|
42
|
+
|
|
43
|
+
sig { params(request_id: String).void }
|
|
44
|
+
attr_writer :request_id
|
|
45
|
+
|
|
46
|
+
# The template identifier used for this bulk request.
|
|
47
|
+
sig { returns(T.nilable(String)) }
|
|
48
|
+
attr_reader :template_id
|
|
49
|
+
|
|
50
|
+
sig { params(template_id: String).void }
|
|
51
|
+
attr_writer :template_id
|
|
52
|
+
|
|
53
|
+
# The variables used for this bulk request.
|
|
54
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
55
|
+
attr_reader :variables
|
|
56
|
+
|
|
57
|
+
sig { params(variables: T::Hash[Symbol, String]).void }
|
|
58
|
+
attr_writer :variables
|
|
59
|
+
|
|
60
|
+
sig do
|
|
61
|
+
params(
|
|
62
|
+
error_count: Integer,
|
|
63
|
+
results:
|
|
64
|
+
T::Array[
|
|
65
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::OrHash
|
|
66
|
+
],
|
|
67
|
+
success_count: Integer,
|
|
68
|
+
total_count: Integer,
|
|
69
|
+
callback_url: String,
|
|
70
|
+
request_id: String,
|
|
71
|
+
template_id: String,
|
|
72
|
+
variables: T::Hash[Symbol, String]
|
|
73
|
+
).returns(T.attached_class)
|
|
74
|
+
end
|
|
75
|
+
def self.new(
|
|
76
|
+
# Number of failed sends.
|
|
77
|
+
error_count:,
|
|
78
|
+
# The per-recipient result of the bulk send.
|
|
79
|
+
results:,
|
|
80
|
+
# Number of successful sends.
|
|
81
|
+
success_count:,
|
|
82
|
+
# Total number of recipients.
|
|
83
|
+
total_count:,
|
|
84
|
+
# The callback URL used for this bulk request, if any.
|
|
85
|
+
callback_url: nil,
|
|
86
|
+
# A string that identifies this specific request.
|
|
87
|
+
request_id: nil,
|
|
88
|
+
# The template identifier used for this bulk request.
|
|
89
|
+
template_id: nil,
|
|
90
|
+
# The variables used for this bulk request.
|
|
91
|
+
variables: nil
|
|
92
|
+
)
|
|
93
|
+
end
|
|
94
|
+
|
|
95
|
+
sig do
|
|
96
|
+
override.returns(
|
|
97
|
+
{
|
|
98
|
+
error_count: Integer,
|
|
99
|
+
results:
|
|
100
|
+
T::Array[PreludeSDK::Models::NotifySendBatchResponse::Result],
|
|
101
|
+
success_count: Integer,
|
|
102
|
+
total_count: Integer,
|
|
103
|
+
callback_url: String,
|
|
104
|
+
request_id: String,
|
|
105
|
+
template_id: String,
|
|
106
|
+
variables: T::Hash[Symbol, String]
|
|
107
|
+
}
|
|
108
|
+
)
|
|
109
|
+
end
|
|
110
|
+
def to_hash
|
|
111
|
+
end
|
|
112
|
+
|
|
113
|
+
class Result < PreludeSDK::Internal::Type::BaseModel
|
|
114
|
+
OrHash =
|
|
115
|
+
T.type_alias do
|
|
116
|
+
T.any(
|
|
117
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result,
|
|
118
|
+
PreludeSDK::Internal::AnyHash
|
|
119
|
+
)
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# The recipient's phone number in E.164 format.
|
|
123
|
+
sig { returns(String) }
|
|
124
|
+
attr_accessor :phone_number
|
|
125
|
+
|
|
126
|
+
# Whether the message was accepted for delivery.
|
|
127
|
+
sig { returns(T::Boolean) }
|
|
128
|
+
attr_accessor :success
|
|
129
|
+
|
|
130
|
+
# Present only if success is false.
|
|
131
|
+
sig do
|
|
132
|
+
returns(
|
|
133
|
+
T.nilable(
|
|
134
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Error
|
|
135
|
+
)
|
|
136
|
+
)
|
|
137
|
+
end
|
|
138
|
+
attr_reader :error
|
|
139
|
+
|
|
140
|
+
sig do
|
|
141
|
+
params(
|
|
142
|
+
error:
|
|
143
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Error::OrHash
|
|
144
|
+
).void
|
|
145
|
+
end
|
|
146
|
+
attr_writer :error
|
|
147
|
+
|
|
148
|
+
# Present only if success is true.
|
|
149
|
+
sig do
|
|
150
|
+
returns(
|
|
151
|
+
T.nilable(
|
|
152
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Message
|
|
153
|
+
)
|
|
154
|
+
)
|
|
155
|
+
end
|
|
156
|
+
attr_reader :message
|
|
157
|
+
|
|
158
|
+
sig do
|
|
159
|
+
params(
|
|
160
|
+
message:
|
|
161
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Message::OrHash
|
|
162
|
+
).void
|
|
163
|
+
end
|
|
164
|
+
attr_writer :message
|
|
165
|
+
|
|
166
|
+
sig do
|
|
167
|
+
params(
|
|
168
|
+
phone_number: String,
|
|
169
|
+
success: T::Boolean,
|
|
170
|
+
error:
|
|
171
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Error::OrHash,
|
|
172
|
+
message:
|
|
173
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Message::OrHash
|
|
174
|
+
).returns(T.attached_class)
|
|
175
|
+
end
|
|
176
|
+
def self.new(
|
|
177
|
+
# The recipient's phone number in E.164 format.
|
|
178
|
+
phone_number:,
|
|
179
|
+
# Whether the message was accepted for delivery.
|
|
180
|
+
success:,
|
|
181
|
+
# Present only if success is false.
|
|
182
|
+
error: nil,
|
|
183
|
+
# Present only if success is true.
|
|
184
|
+
message: nil
|
|
185
|
+
)
|
|
186
|
+
end
|
|
187
|
+
|
|
188
|
+
sig do
|
|
189
|
+
override.returns(
|
|
190
|
+
{
|
|
191
|
+
phone_number: String,
|
|
192
|
+
success: T::Boolean,
|
|
193
|
+
error: PreludeSDK::Models::NotifySendBatchResponse::Result::Error,
|
|
194
|
+
message:
|
|
195
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Message
|
|
196
|
+
}
|
|
197
|
+
)
|
|
198
|
+
end
|
|
199
|
+
def to_hash
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
class Error < PreludeSDK::Internal::Type::BaseModel
|
|
203
|
+
OrHash =
|
|
204
|
+
T.type_alias do
|
|
205
|
+
T.any(
|
|
206
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Error,
|
|
207
|
+
PreludeSDK::Internal::AnyHash
|
|
208
|
+
)
|
|
209
|
+
end
|
|
210
|
+
|
|
211
|
+
# The error code.
|
|
212
|
+
sig { returns(T.nilable(String)) }
|
|
213
|
+
attr_reader :code
|
|
214
|
+
|
|
215
|
+
sig { params(code: String).void }
|
|
216
|
+
attr_writer :code
|
|
217
|
+
|
|
218
|
+
# A human-readable error message.
|
|
219
|
+
sig { returns(T.nilable(String)) }
|
|
220
|
+
attr_reader :message
|
|
221
|
+
|
|
222
|
+
sig { params(message: String).void }
|
|
223
|
+
attr_writer :message
|
|
224
|
+
|
|
225
|
+
# Present only if success is false.
|
|
226
|
+
sig do
|
|
227
|
+
params(code: String, message: String).returns(T.attached_class)
|
|
228
|
+
end
|
|
229
|
+
def self.new(
|
|
230
|
+
# The error code.
|
|
231
|
+
code: nil,
|
|
232
|
+
# A human-readable error message.
|
|
233
|
+
message: nil
|
|
234
|
+
)
|
|
235
|
+
end
|
|
236
|
+
|
|
237
|
+
sig { override.returns({ code: String, message: String }) }
|
|
238
|
+
def to_hash
|
|
239
|
+
end
|
|
240
|
+
end
|
|
241
|
+
|
|
242
|
+
class Message < PreludeSDK::Internal::Type::BaseModel
|
|
243
|
+
OrHash =
|
|
244
|
+
T.type_alias do
|
|
245
|
+
T.any(
|
|
246
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Message,
|
|
247
|
+
PreludeSDK::Internal::AnyHash
|
|
248
|
+
)
|
|
249
|
+
end
|
|
250
|
+
|
|
251
|
+
# The message identifier.
|
|
252
|
+
sig { returns(T.nilable(String)) }
|
|
253
|
+
attr_reader :id
|
|
254
|
+
|
|
255
|
+
sig { params(id: String).void }
|
|
256
|
+
attr_writer :id
|
|
257
|
+
|
|
258
|
+
# The correlation identifier for the message.
|
|
259
|
+
sig { returns(T.nilable(String)) }
|
|
260
|
+
attr_reader :correlation_id
|
|
261
|
+
|
|
262
|
+
sig { params(correlation_id: String).void }
|
|
263
|
+
attr_writer :correlation_id
|
|
264
|
+
|
|
265
|
+
# The message creation date in RFC3339 format.
|
|
266
|
+
sig { returns(T.nilable(Time)) }
|
|
267
|
+
attr_reader :created_at
|
|
268
|
+
|
|
269
|
+
sig { params(created_at: Time).void }
|
|
270
|
+
attr_writer :created_at
|
|
271
|
+
|
|
272
|
+
# The SMS encoding type based on message content. GSM-7 supports standard
|
|
273
|
+
# characters (up to 160 chars per segment), while UCS-2 supports Unicode including
|
|
274
|
+
# emoji (up to 70 chars per segment). Only present for SMS messages.
|
|
275
|
+
sig do
|
|
276
|
+
returns(
|
|
277
|
+
T.nilable(
|
|
278
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Message::Encoding::TaggedSymbol
|
|
279
|
+
)
|
|
280
|
+
)
|
|
281
|
+
end
|
|
282
|
+
attr_reader :encoding
|
|
283
|
+
|
|
284
|
+
sig do
|
|
285
|
+
params(
|
|
286
|
+
encoding:
|
|
287
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Message::Encoding::OrSymbol
|
|
288
|
+
).void
|
|
289
|
+
end
|
|
290
|
+
attr_writer :encoding
|
|
291
|
+
|
|
292
|
+
# The estimated number of SMS segments for this message. This value is not
|
|
293
|
+
# contractual; the actual segment count will be determined after the SMS is sent
|
|
294
|
+
# by the provider. Only present for SMS messages.
|
|
295
|
+
sig { returns(T.nilable(Integer)) }
|
|
296
|
+
attr_reader :estimated_segment_count
|
|
297
|
+
|
|
298
|
+
sig { params(estimated_segment_count: Integer).void }
|
|
299
|
+
attr_writer :estimated_segment_count
|
|
300
|
+
|
|
301
|
+
# The message expiration date in RFC3339 format.
|
|
302
|
+
sig { returns(T.nilable(Time)) }
|
|
303
|
+
attr_reader :expires_at
|
|
304
|
+
|
|
305
|
+
sig { params(expires_at: Time).void }
|
|
306
|
+
attr_writer :expires_at
|
|
307
|
+
|
|
308
|
+
# The Sender ID used for this message.
|
|
309
|
+
sig { returns(T.nilable(String)) }
|
|
310
|
+
attr_reader :from
|
|
311
|
+
|
|
312
|
+
sig { params(from: String).void }
|
|
313
|
+
attr_writer :from
|
|
314
|
+
|
|
315
|
+
# The locale used for the message, if any.
|
|
316
|
+
sig { returns(T.nilable(String)) }
|
|
317
|
+
attr_reader :locale
|
|
318
|
+
|
|
319
|
+
sig { params(locale: String).void }
|
|
320
|
+
attr_writer :locale
|
|
321
|
+
|
|
322
|
+
# When the message will actually be sent in RFC3339 format with timezone offset.
|
|
323
|
+
sig { returns(T.nilable(Time)) }
|
|
324
|
+
attr_reader :schedule_at
|
|
325
|
+
|
|
326
|
+
sig { params(schedule_at: Time).void }
|
|
327
|
+
attr_writer :schedule_at
|
|
328
|
+
|
|
329
|
+
# The recipient's phone number in E.164 format.
|
|
330
|
+
sig { returns(T.nilable(String)) }
|
|
331
|
+
attr_reader :to
|
|
332
|
+
|
|
333
|
+
sig { params(to: String).void }
|
|
334
|
+
attr_writer :to
|
|
335
|
+
|
|
336
|
+
# Present only if success is true.
|
|
337
|
+
sig do
|
|
338
|
+
params(
|
|
339
|
+
id: String,
|
|
340
|
+
correlation_id: String,
|
|
341
|
+
created_at: Time,
|
|
342
|
+
encoding:
|
|
343
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Message::Encoding::OrSymbol,
|
|
344
|
+
estimated_segment_count: Integer,
|
|
345
|
+
expires_at: Time,
|
|
346
|
+
from: String,
|
|
347
|
+
locale: String,
|
|
348
|
+
schedule_at: Time,
|
|
349
|
+
to: String
|
|
350
|
+
).returns(T.attached_class)
|
|
351
|
+
end
|
|
352
|
+
def self.new(
|
|
353
|
+
# The message identifier.
|
|
354
|
+
id: nil,
|
|
355
|
+
# The correlation identifier for the message.
|
|
356
|
+
correlation_id: nil,
|
|
357
|
+
# The message creation date in RFC3339 format.
|
|
358
|
+
created_at: nil,
|
|
359
|
+
# The SMS encoding type based on message content. GSM-7 supports standard
|
|
360
|
+
# characters (up to 160 chars per segment), while UCS-2 supports Unicode including
|
|
361
|
+
# emoji (up to 70 chars per segment). Only present for SMS messages.
|
|
362
|
+
encoding: nil,
|
|
363
|
+
# The estimated number of SMS segments for this message. This value is not
|
|
364
|
+
# contractual; the actual segment count will be determined after the SMS is sent
|
|
365
|
+
# by the provider. Only present for SMS messages.
|
|
366
|
+
estimated_segment_count: nil,
|
|
367
|
+
# The message expiration date in RFC3339 format.
|
|
368
|
+
expires_at: nil,
|
|
369
|
+
# The Sender ID used for this message.
|
|
370
|
+
from: nil,
|
|
371
|
+
# The locale used for the message, if any.
|
|
372
|
+
locale: nil,
|
|
373
|
+
# When the message will actually be sent in RFC3339 format with timezone offset.
|
|
374
|
+
schedule_at: nil,
|
|
375
|
+
# The recipient's phone number in E.164 format.
|
|
376
|
+
to: nil
|
|
377
|
+
)
|
|
378
|
+
end
|
|
379
|
+
|
|
380
|
+
sig do
|
|
381
|
+
override.returns(
|
|
382
|
+
{
|
|
383
|
+
id: String,
|
|
384
|
+
correlation_id: String,
|
|
385
|
+
created_at: Time,
|
|
386
|
+
encoding:
|
|
387
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Message::Encoding::TaggedSymbol,
|
|
388
|
+
estimated_segment_count: Integer,
|
|
389
|
+
expires_at: Time,
|
|
390
|
+
from: String,
|
|
391
|
+
locale: String,
|
|
392
|
+
schedule_at: Time,
|
|
393
|
+
to: String
|
|
394
|
+
}
|
|
395
|
+
)
|
|
396
|
+
end
|
|
397
|
+
def to_hash
|
|
398
|
+
end
|
|
399
|
+
|
|
400
|
+
# The SMS encoding type based on message content. GSM-7 supports standard
|
|
401
|
+
# characters (up to 160 chars per segment), while UCS-2 supports Unicode including
|
|
402
|
+
# emoji (up to 70 chars per segment). Only present for SMS messages.
|
|
403
|
+
module Encoding
|
|
404
|
+
extend PreludeSDK::Internal::Type::Enum
|
|
405
|
+
|
|
406
|
+
TaggedSymbol =
|
|
407
|
+
T.type_alias do
|
|
408
|
+
T.all(
|
|
409
|
+
Symbol,
|
|
410
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Message::Encoding
|
|
411
|
+
)
|
|
412
|
+
end
|
|
413
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
414
|
+
|
|
415
|
+
GSM_7 =
|
|
416
|
+
T.let(
|
|
417
|
+
:"GSM-7",
|
|
418
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Message::Encoding::TaggedSymbol
|
|
419
|
+
)
|
|
420
|
+
UCS_2 =
|
|
421
|
+
T.let(
|
|
422
|
+
:"UCS-2",
|
|
423
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Message::Encoding::TaggedSymbol
|
|
424
|
+
)
|
|
425
|
+
|
|
426
|
+
sig do
|
|
427
|
+
override.returns(
|
|
428
|
+
T::Array[
|
|
429
|
+
PreludeSDK::Models::NotifySendBatchResponse::Result::Message::Encoding::TaggedSymbol
|
|
430
|
+
]
|
|
431
|
+
)
|
|
432
|
+
end
|
|
433
|
+
def self.values
|
|
434
|
+
end
|
|
435
|
+
end
|
|
436
|
+
end
|
|
437
|
+
end
|
|
438
|
+
end
|
|
439
|
+
end
|
|
440
|
+
end
|
|
@@ -0,0 +1,249 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module PreludeSDK
|
|
4
|
+
module Models
|
|
5
|
+
class NotifySendParams < PreludeSDK::Internal::Type::BaseModel
|
|
6
|
+
extend PreludeSDK::Internal::Type::RequestParameters::Converter
|
|
7
|
+
include PreludeSDK::Internal::Type::RequestParameters
|
|
8
|
+
|
|
9
|
+
OrHash =
|
|
10
|
+
T.type_alias do
|
|
11
|
+
T.any(PreludeSDK::NotifySendParams, PreludeSDK::Internal::AnyHash)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# The template identifier configured by your Customer Success team.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :template_id
|
|
17
|
+
|
|
18
|
+
# The recipient's phone number in E.164 format.
|
|
19
|
+
sig { returns(String) }
|
|
20
|
+
attr_accessor :to
|
|
21
|
+
|
|
22
|
+
# The URL where webhooks will be sent for message delivery events.
|
|
23
|
+
sig { returns(T.nilable(String)) }
|
|
24
|
+
attr_reader :callback_url
|
|
25
|
+
|
|
26
|
+
sig { params(callback_url: String).void }
|
|
27
|
+
attr_writer :callback_url
|
|
28
|
+
|
|
29
|
+
# A user-defined identifier to correlate this message with your internal systems.
|
|
30
|
+
# It is returned in the response and any webhook events that refer to this
|
|
31
|
+
# message.
|
|
32
|
+
sig { returns(T.nilable(String)) }
|
|
33
|
+
attr_reader :correlation_id
|
|
34
|
+
|
|
35
|
+
sig { params(correlation_id: String).void }
|
|
36
|
+
attr_writer :correlation_id
|
|
37
|
+
|
|
38
|
+
# A document to attach to the message. Only supported on WhatsApp templates that
|
|
39
|
+
# have a document header.
|
|
40
|
+
sig { returns(T.nilable(PreludeSDK::NotifySendParams::Document)) }
|
|
41
|
+
attr_reader :document
|
|
42
|
+
|
|
43
|
+
sig do
|
|
44
|
+
params(document: PreludeSDK::NotifySendParams::Document::OrHash).void
|
|
45
|
+
end
|
|
46
|
+
attr_writer :document
|
|
47
|
+
|
|
48
|
+
# The message expiration date in RFC3339 format. The message will not be sent if
|
|
49
|
+
# this time is reached.
|
|
50
|
+
sig { returns(T.nilable(Time)) }
|
|
51
|
+
attr_reader :expires_at
|
|
52
|
+
|
|
53
|
+
sig { params(expires_at: Time).void }
|
|
54
|
+
attr_writer :expires_at
|
|
55
|
+
|
|
56
|
+
# The Sender ID. Must be approved for your account.
|
|
57
|
+
sig { returns(T.nilable(String)) }
|
|
58
|
+
attr_reader :from
|
|
59
|
+
|
|
60
|
+
sig { params(from: String).void }
|
|
61
|
+
attr_writer :from
|
|
62
|
+
|
|
63
|
+
# A BCP-47 formatted locale string with the language the text message will be sent
|
|
64
|
+
# to. If there's no locale set, the language will be determined by the country
|
|
65
|
+
# code of the phone number. If the language specified doesn't exist, the default
|
|
66
|
+
# set on the template will be used.
|
|
67
|
+
sig { returns(T.nilable(String)) }
|
|
68
|
+
attr_reader :locale
|
|
69
|
+
|
|
70
|
+
sig { params(locale: String).void }
|
|
71
|
+
attr_writer :locale
|
|
72
|
+
|
|
73
|
+
# The preferred channel to be used in priority for message delivery. If the
|
|
74
|
+
# channel is unavailable, the system will fallback to other available channels.
|
|
75
|
+
sig do
|
|
76
|
+
returns(
|
|
77
|
+
T.nilable(PreludeSDK::NotifySendParams::PreferredChannel::OrSymbol)
|
|
78
|
+
)
|
|
79
|
+
end
|
|
80
|
+
attr_reader :preferred_channel
|
|
81
|
+
|
|
82
|
+
sig do
|
|
83
|
+
params(
|
|
84
|
+
preferred_channel:
|
|
85
|
+
PreludeSDK::NotifySendParams::PreferredChannel::OrSymbol
|
|
86
|
+
).void
|
|
87
|
+
end
|
|
88
|
+
attr_writer :preferred_channel
|
|
89
|
+
|
|
90
|
+
# Schedule the message for future delivery in RFC3339 format. Marketing messages
|
|
91
|
+
# can be scheduled up to 90 days in advance and will be automatically adjusted for
|
|
92
|
+
# compliance with local time window restrictions.
|
|
93
|
+
sig { returns(T.nilable(Time)) }
|
|
94
|
+
attr_reader :schedule_at
|
|
95
|
+
|
|
96
|
+
sig { params(schedule_at: Time).void }
|
|
97
|
+
attr_writer :schedule_at
|
|
98
|
+
|
|
99
|
+
# The variables to be replaced in the template.
|
|
100
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
101
|
+
attr_reader :variables
|
|
102
|
+
|
|
103
|
+
sig { params(variables: T::Hash[Symbol, String]).void }
|
|
104
|
+
attr_writer :variables
|
|
105
|
+
|
|
106
|
+
sig do
|
|
107
|
+
params(
|
|
108
|
+
template_id: String,
|
|
109
|
+
to: String,
|
|
110
|
+
callback_url: String,
|
|
111
|
+
correlation_id: String,
|
|
112
|
+
document: PreludeSDK::NotifySendParams::Document::OrHash,
|
|
113
|
+
expires_at: Time,
|
|
114
|
+
from: String,
|
|
115
|
+
locale: String,
|
|
116
|
+
preferred_channel:
|
|
117
|
+
PreludeSDK::NotifySendParams::PreferredChannel::OrSymbol,
|
|
118
|
+
schedule_at: Time,
|
|
119
|
+
variables: T::Hash[Symbol, String],
|
|
120
|
+
request_options: PreludeSDK::RequestOptions::OrHash
|
|
121
|
+
).returns(T.attached_class)
|
|
122
|
+
end
|
|
123
|
+
def self.new(
|
|
124
|
+
# The template identifier configured by your Customer Success team.
|
|
125
|
+
template_id:,
|
|
126
|
+
# The recipient's phone number in E.164 format.
|
|
127
|
+
to:,
|
|
128
|
+
# The URL where webhooks will be sent for message delivery events.
|
|
129
|
+
callback_url: nil,
|
|
130
|
+
# A user-defined identifier to correlate this message with your internal systems.
|
|
131
|
+
# It is returned in the response and any webhook events that refer to this
|
|
132
|
+
# message.
|
|
133
|
+
correlation_id: nil,
|
|
134
|
+
# A document to attach to the message. Only supported on WhatsApp templates that
|
|
135
|
+
# have a document header.
|
|
136
|
+
document: nil,
|
|
137
|
+
# The message expiration date in RFC3339 format. The message will not be sent if
|
|
138
|
+
# this time is reached.
|
|
139
|
+
expires_at: nil,
|
|
140
|
+
# The Sender ID. Must be approved for your account.
|
|
141
|
+
from: nil,
|
|
142
|
+
# A BCP-47 formatted locale string with the language the text message will be sent
|
|
143
|
+
# to. If there's no locale set, the language will be determined by the country
|
|
144
|
+
# code of the phone number. If the language specified doesn't exist, the default
|
|
145
|
+
# set on the template will be used.
|
|
146
|
+
locale: nil,
|
|
147
|
+
# The preferred channel to be used in priority for message delivery. If the
|
|
148
|
+
# channel is unavailable, the system will fallback to other available channels.
|
|
149
|
+
preferred_channel: nil,
|
|
150
|
+
# Schedule the message for future delivery in RFC3339 format. Marketing messages
|
|
151
|
+
# can be scheduled up to 90 days in advance and will be automatically adjusted for
|
|
152
|
+
# compliance with local time window restrictions.
|
|
153
|
+
schedule_at: nil,
|
|
154
|
+
# The variables to be replaced in the template.
|
|
155
|
+
variables: nil,
|
|
156
|
+
request_options: {}
|
|
157
|
+
)
|
|
158
|
+
end
|
|
159
|
+
|
|
160
|
+
sig do
|
|
161
|
+
override.returns(
|
|
162
|
+
{
|
|
163
|
+
template_id: String,
|
|
164
|
+
to: String,
|
|
165
|
+
callback_url: String,
|
|
166
|
+
correlation_id: String,
|
|
167
|
+
document: PreludeSDK::NotifySendParams::Document,
|
|
168
|
+
expires_at: Time,
|
|
169
|
+
from: String,
|
|
170
|
+
locale: String,
|
|
171
|
+
preferred_channel:
|
|
172
|
+
PreludeSDK::NotifySendParams::PreferredChannel::OrSymbol,
|
|
173
|
+
schedule_at: Time,
|
|
174
|
+
variables: T::Hash[Symbol, String],
|
|
175
|
+
request_options: PreludeSDK::RequestOptions
|
|
176
|
+
}
|
|
177
|
+
)
|
|
178
|
+
end
|
|
179
|
+
def to_hash
|
|
180
|
+
end
|
|
181
|
+
|
|
182
|
+
class Document < PreludeSDK::Internal::Type::BaseModel
|
|
183
|
+
OrHash =
|
|
184
|
+
T.type_alias do
|
|
185
|
+
T.any(
|
|
186
|
+
PreludeSDK::NotifySendParams::Document,
|
|
187
|
+
PreludeSDK::Internal::AnyHash
|
|
188
|
+
)
|
|
189
|
+
end
|
|
190
|
+
|
|
191
|
+
# The filename to display for the document.
|
|
192
|
+
sig { returns(String) }
|
|
193
|
+
attr_accessor :filename
|
|
194
|
+
|
|
195
|
+
# The URL of the document to attach. Must be a valid HTTP or HTTPS URL.
|
|
196
|
+
sig { returns(String) }
|
|
197
|
+
attr_accessor :url
|
|
198
|
+
|
|
199
|
+
# A document to attach to the message. Only supported on WhatsApp templates that
|
|
200
|
+
# have a document header.
|
|
201
|
+
sig { params(filename: String, url: String).returns(T.attached_class) }
|
|
202
|
+
def self.new(
|
|
203
|
+
# The filename to display for the document.
|
|
204
|
+
filename:,
|
|
205
|
+
# The URL of the document to attach. Must be a valid HTTP or HTTPS URL.
|
|
206
|
+
url:
|
|
207
|
+
)
|
|
208
|
+
end
|
|
209
|
+
|
|
210
|
+
sig { override.returns({ filename: String, url: String }) }
|
|
211
|
+
def to_hash
|
|
212
|
+
end
|
|
213
|
+
end
|
|
214
|
+
|
|
215
|
+
# The preferred channel to be used in priority for message delivery. If the
|
|
216
|
+
# channel is unavailable, the system will fallback to other available channels.
|
|
217
|
+
module PreferredChannel
|
|
218
|
+
extend PreludeSDK::Internal::Type::Enum
|
|
219
|
+
|
|
220
|
+
TaggedSymbol =
|
|
221
|
+
T.type_alias do
|
|
222
|
+
T.all(Symbol, PreludeSDK::NotifySendParams::PreferredChannel)
|
|
223
|
+
end
|
|
224
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
225
|
+
|
|
226
|
+
SMS =
|
|
227
|
+
T.let(
|
|
228
|
+
:sms,
|
|
229
|
+
PreludeSDK::NotifySendParams::PreferredChannel::TaggedSymbol
|
|
230
|
+
)
|
|
231
|
+
WHATSAPP =
|
|
232
|
+
T.let(
|
|
233
|
+
:whatsapp,
|
|
234
|
+
PreludeSDK::NotifySendParams::PreferredChannel::TaggedSymbol
|
|
235
|
+
)
|
|
236
|
+
|
|
237
|
+
sig do
|
|
238
|
+
override.returns(
|
|
239
|
+
T::Array[
|
|
240
|
+
PreludeSDK::NotifySendParams::PreferredChannel::TaggedSymbol
|
|
241
|
+
]
|
|
242
|
+
)
|
|
243
|
+
end
|
|
244
|
+
def self.values
|
|
245
|
+
end
|
|
246
|
+
end
|
|
247
|
+
end
|
|
248
|
+
end
|
|
249
|
+
end
|