prelude-sdk 0.1.0 → 0.2.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 +13 -0
- data/README.md +9 -9
- data/lib/prelude_sdk/client.rb +4 -0
- data/lib/prelude_sdk/models/notify_get_subscription_config_params.rb +14 -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 +20 -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 +37 -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 +49 -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 +110 -0
- data/lib/prelude_sdk/models/notify_send_batch_response.rb +201 -0
- data/lib/prelude_sdk/models/notify_send_params.rb +118 -0
- data/lib/prelude_sdk/models/notify_send_response.rb +94 -0
- data/lib/prelude_sdk/models.rb +15 -0
- data/lib/prelude_sdk/resources/notify.rb +247 -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 +3 -0
- data/rbi/prelude_sdk/models/notify_get_subscription_config_params.rbi +30 -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 +38 -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 +66 -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 +119 -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 +191 -0
- data/rbi/prelude_sdk/models/notify_send_batch_response.rbi +360 -0
- data/rbi/prelude_sdk/models/notify_send_params.rbi +201 -0
- data/rbi/prelude_sdk/models/notify_send_response.rbi +128 -0
- data/rbi/prelude_sdk/models.rbi +19 -0
- data/rbi/prelude_sdk/resources/notify.rbi +218 -0
- data/sig/prelude_sdk/client.rbs +2 -0
- data/sig/prelude_sdk/models/notify_get_subscription_config_params.rbs +15 -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 +23 -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 +36 -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 +55 -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 +100 -0
- data/sig/prelude_sdk/models/notify_send_batch_response.rbs +187 -0
- data/sig/prelude_sdk/models/notify_send_params.rbs +100 -0
- data/sig/prelude_sdk/models/notify_send_response.rbs +73 -0
- data/sig/prelude_sdk/models.rbs +14 -0
- data/sig/prelude_sdk/resources/notify.rbs +68 -0
- metadata +47 -2
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module PreludeSDK
|
|
4
|
+
module Models
|
|
5
|
+
class NotifyListSubscriptionPhoneNumbersParams < 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(
|
|
12
|
+
PreludeSDK::NotifyListSubscriptionPhoneNumbersParams,
|
|
13
|
+
PreludeSDK::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# Pagination cursor from the previous response
|
|
18
|
+
sig { returns(T.nilable(String)) }
|
|
19
|
+
attr_reader :cursor
|
|
20
|
+
|
|
21
|
+
sig { params(cursor: String).void }
|
|
22
|
+
attr_writer :cursor
|
|
23
|
+
|
|
24
|
+
# Maximum number of phone numbers to return per page
|
|
25
|
+
sig { returns(T.nilable(Integer)) }
|
|
26
|
+
attr_reader :limit
|
|
27
|
+
|
|
28
|
+
sig { params(limit: Integer).void }
|
|
29
|
+
attr_writer :limit
|
|
30
|
+
|
|
31
|
+
# Filter by subscription state
|
|
32
|
+
sig do
|
|
33
|
+
returns(
|
|
34
|
+
T.nilable(
|
|
35
|
+
PreludeSDK::NotifyListSubscriptionPhoneNumbersParams::State::OrSymbol
|
|
36
|
+
)
|
|
37
|
+
)
|
|
38
|
+
end
|
|
39
|
+
attr_reader :state
|
|
40
|
+
|
|
41
|
+
sig do
|
|
42
|
+
params(
|
|
43
|
+
state:
|
|
44
|
+
PreludeSDK::NotifyListSubscriptionPhoneNumbersParams::State::OrSymbol
|
|
45
|
+
).void
|
|
46
|
+
end
|
|
47
|
+
attr_writer :state
|
|
48
|
+
|
|
49
|
+
sig do
|
|
50
|
+
params(
|
|
51
|
+
cursor: String,
|
|
52
|
+
limit: Integer,
|
|
53
|
+
state:
|
|
54
|
+
PreludeSDK::NotifyListSubscriptionPhoneNumbersParams::State::OrSymbol,
|
|
55
|
+
request_options: PreludeSDK::RequestOptions::OrHash
|
|
56
|
+
).returns(T.attached_class)
|
|
57
|
+
end
|
|
58
|
+
def self.new(
|
|
59
|
+
# Pagination cursor from the previous response
|
|
60
|
+
cursor: nil,
|
|
61
|
+
# Maximum number of phone numbers to return per page
|
|
62
|
+
limit: nil,
|
|
63
|
+
# Filter by subscription state
|
|
64
|
+
state: nil,
|
|
65
|
+
request_options: {}
|
|
66
|
+
)
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
sig do
|
|
70
|
+
override.returns(
|
|
71
|
+
{
|
|
72
|
+
cursor: String,
|
|
73
|
+
limit: Integer,
|
|
74
|
+
state:
|
|
75
|
+
PreludeSDK::NotifyListSubscriptionPhoneNumbersParams::State::OrSymbol,
|
|
76
|
+
request_options: PreludeSDK::RequestOptions
|
|
77
|
+
}
|
|
78
|
+
)
|
|
79
|
+
end
|
|
80
|
+
def to_hash
|
|
81
|
+
end
|
|
82
|
+
|
|
83
|
+
# Filter by subscription state
|
|
84
|
+
module State
|
|
85
|
+
extend PreludeSDK::Internal::Type::Enum
|
|
86
|
+
|
|
87
|
+
TaggedSymbol =
|
|
88
|
+
T.type_alias do
|
|
89
|
+
T.all(
|
|
90
|
+
Symbol,
|
|
91
|
+
PreludeSDK::NotifyListSubscriptionPhoneNumbersParams::State
|
|
92
|
+
)
|
|
93
|
+
end
|
|
94
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
95
|
+
|
|
96
|
+
SUB =
|
|
97
|
+
T.let(
|
|
98
|
+
:SUB,
|
|
99
|
+
PreludeSDK::NotifyListSubscriptionPhoneNumbersParams::State::TaggedSymbol
|
|
100
|
+
)
|
|
101
|
+
UNSUB =
|
|
102
|
+
T.let(
|
|
103
|
+
:UNSUB,
|
|
104
|
+
PreludeSDK::NotifyListSubscriptionPhoneNumbersParams::State::TaggedSymbol
|
|
105
|
+
)
|
|
106
|
+
|
|
107
|
+
sig do
|
|
108
|
+
override.returns(
|
|
109
|
+
T::Array[
|
|
110
|
+
PreludeSDK::NotifyListSubscriptionPhoneNumbersParams::State::TaggedSymbol
|
|
111
|
+
]
|
|
112
|
+
)
|
|
113
|
+
end
|
|
114
|
+
def self.values
|
|
115
|
+
end
|
|
116
|
+
end
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
end
|
|
@@ -0,0 +1,259 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module PreludeSDK
|
|
4
|
+
module Models
|
|
5
|
+
class NotifyListSubscriptionPhoneNumbersResponse < PreludeSDK::Internal::Type::BaseModel
|
|
6
|
+
OrHash =
|
|
7
|
+
T.type_alias do
|
|
8
|
+
T.any(
|
|
9
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse,
|
|
10
|
+
PreludeSDK::Internal::AnyHash
|
|
11
|
+
)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
# A list of phone numbers and their subscription statuses.
|
|
15
|
+
sig do
|
|
16
|
+
returns(
|
|
17
|
+
T::Array[
|
|
18
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber
|
|
19
|
+
]
|
|
20
|
+
)
|
|
21
|
+
end
|
|
22
|
+
attr_accessor :phone_numbers
|
|
23
|
+
|
|
24
|
+
# Pagination cursor for the next page of results. Omitted if there are no more
|
|
25
|
+
# pages.
|
|
26
|
+
sig { returns(T.nilable(String)) }
|
|
27
|
+
attr_reader :next_cursor
|
|
28
|
+
|
|
29
|
+
sig { params(next_cursor: String).void }
|
|
30
|
+
attr_writer :next_cursor
|
|
31
|
+
|
|
32
|
+
sig do
|
|
33
|
+
params(
|
|
34
|
+
phone_numbers:
|
|
35
|
+
T::Array[
|
|
36
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::OrHash
|
|
37
|
+
],
|
|
38
|
+
next_cursor: String
|
|
39
|
+
).returns(T.attached_class)
|
|
40
|
+
end
|
|
41
|
+
def self.new(
|
|
42
|
+
# A list of phone numbers and their subscription statuses.
|
|
43
|
+
phone_numbers:,
|
|
44
|
+
# Pagination cursor for the next page of results. Omitted if there are no more
|
|
45
|
+
# pages.
|
|
46
|
+
next_cursor: nil
|
|
47
|
+
)
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
sig do
|
|
51
|
+
override.returns(
|
|
52
|
+
{
|
|
53
|
+
phone_numbers:
|
|
54
|
+
T::Array[
|
|
55
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber
|
|
56
|
+
],
|
|
57
|
+
next_cursor: String
|
|
58
|
+
}
|
|
59
|
+
)
|
|
60
|
+
end
|
|
61
|
+
def to_hash
|
|
62
|
+
end
|
|
63
|
+
|
|
64
|
+
class PhoneNumber < PreludeSDK::Internal::Type::BaseModel
|
|
65
|
+
OrHash =
|
|
66
|
+
T.type_alias do
|
|
67
|
+
T.any(
|
|
68
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber,
|
|
69
|
+
PreludeSDK::Internal::AnyHash
|
|
70
|
+
)
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# The subscription configuration ID.
|
|
74
|
+
sig { returns(String) }
|
|
75
|
+
attr_accessor :config_id
|
|
76
|
+
|
|
77
|
+
# The phone number in E.164 format.
|
|
78
|
+
sig { returns(String) }
|
|
79
|
+
attr_accessor :phone_number
|
|
80
|
+
|
|
81
|
+
# How the subscription state was changed:
|
|
82
|
+
#
|
|
83
|
+
# - `MO_KEYWORD` - User sent a keyword (STOP/START)
|
|
84
|
+
# - `API` - Changed via API
|
|
85
|
+
# - `CSV_IMPORT` - Imported from CSV
|
|
86
|
+
# - `CARRIER_DISCONNECT` - Automatically unsubscribed due to carrier disconnect
|
|
87
|
+
sig do
|
|
88
|
+
returns(
|
|
89
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source::TaggedSymbol
|
|
90
|
+
)
|
|
91
|
+
end
|
|
92
|
+
attr_accessor :source
|
|
93
|
+
|
|
94
|
+
# The subscription state:
|
|
95
|
+
#
|
|
96
|
+
# - `SUB` - Subscribed (user can receive marketing messages)
|
|
97
|
+
# - `UNSUB` - Unsubscribed (user has opted out)
|
|
98
|
+
sig do
|
|
99
|
+
returns(
|
|
100
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::State::TaggedSymbol
|
|
101
|
+
)
|
|
102
|
+
end
|
|
103
|
+
attr_accessor :state
|
|
104
|
+
|
|
105
|
+
# The date and time when the subscription status was last updated.
|
|
106
|
+
sig { returns(Time) }
|
|
107
|
+
attr_accessor :updated_at
|
|
108
|
+
|
|
109
|
+
# Additional context about the state change (e.g., the keyword that was sent).
|
|
110
|
+
sig { returns(T.nilable(String)) }
|
|
111
|
+
attr_reader :reason
|
|
112
|
+
|
|
113
|
+
sig { params(reason: String).void }
|
|
114
|
+
attr_writer :reason
|
|
115
|
+
|
|
116
|
+
sig do
|
|
117
|
+
params(
|
|
118
|
+
config_id: String,
|
|
119
|
+
phone_number: String,
|
|
120
|
+
source:
|
|
121
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source::OrSymbol,
|
|
122
|
+
state:
|
|
123
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::State::OrSymbol,
|
|
124
|
+
updated_at: Time,
|
|
125
|
+
reason: String
|
|
126
|
+
).returns(T.attached_class)
|
|
127
|
+
end
|
|
128
|
+
def self.new(
|
|
129
|
+
# The subscription configuration ID.
|
|
130
|
+
config_id:,
|
|
131
|
+
# The phone number in E.164 format.
|
|
132
|
+
phone_number:,
|
|
133
|
+
# How the subscription state was changed:
|
|
134
|
+
#
|
|
135
|
+
# - `MO_KEYWORD` - User sent a keyword (STOP/START)
|
|
136
|
+
# - `API` - Changed via API
|
|
137
|
+
# - `CSV_IMPORT` - Imported from CSV
|
|
138
|
+
# - `CARRIER_DISCONNECT` - Automatically unsubscribed due to carrier disconnect
|
|
139
|
+
source:,
|
|
140
|
+
# The subscription state:
|
|
141
|
+
#
|
|
142
|
+
# - `SUB` - Subscribed (user can receive marketing messages)
|
|
143
|
+
# - `UNSUB` - Unsubscribed (user has opted out)
|
|
144
|
+
state:,
|
|
145
|
+
# The date and time when the subscription status was last updated.
|
|
146
|
+
updated_at:,
|
|
147
|
+
# Additional context about the state change (e.g., the keyword that was sent).
|
|
148
|
+
reason: nil
|
|
149
|
+
)
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
sig do
|
|
153
|
+
override.returns(
|
|
154
|
+
{
|
|
155
|
+
config_id: String,
|
|
156
|
+
phone_number: String,
|
|
157
|
+
source:
|
|
158
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source::TaggedSymbol,
|
|
159
|
+
state:
|
|
160
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::State::TaggedSymbol,
|
|
161
|
+
updated_at: Time,
|
|
162
|
+
reason: String
|
|
163
|
+
}
|
|
164
|
+
)
|
|
165
|
+
end
|
|
166
|
+
def to_hash
|
|
167
|
+
end
|
|
168
|
+
|
|
169
|
+
# How the subscription state was changed:
|
|
170
|
+
#
|
|
171
|
+
# - `MO_KEYWORD` - User sent a keyword (STOP/START)
|
|
172
|
+
# - `API` - Changed via API
|
|
173
|
+
# - `CSV_IMPORT` - Imported from CSV
|
|
174
|
+
# - `CARRIER_DISCONNECT` - Automatically unsubscribed due to carrier disconnect
|
|
175
|
+
module Source
|
|
176
|
+
extend PreludeSDK::Internal::Type::Enum
|
|
177
|
+
|
|
178
|
+
TaggedSymbol =
|
|
179
|
+
T.type_alias do
|
|
180
|
+
T.all(
|
|
181
|
+
Symbol,
|
|
182
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source
|
|
183
|
+
)
|
|
184
|
+
end
|
|
185
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
186
|
+
|
|
187
|
+
MO_KEYWORD =
|
|
188
|
+
T.let(
|
|
189
|
+
:MO_KEYWORD,
|
|
190
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source::TaggedSymbol
|
|
191
|
+
)
|
|
192
|
+
API =
|
|
193
|
+
T.let(
|
|
194
|
+
:API,
|
|
195
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source::TaggedSymbol
|
|
196
|
+
)
|
|
197
|
+
CSV_IMPORT =
|
|
198
|
+
T.let(
|
|
199
|
+
:CSV_IMPORT,
|
|
200
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source::TaggedSymbol
|
|
201
|
+
)
|
|
202
|
+
CARRIER_DISCONNECT =
|
|
203
|
+
T.let(
|
|
204
|
+
:CARRIER_DISCONNECT,
|
|
205
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source::TaggedSymbol
|
|
206
|
+
)
|
|
207
|
+
|
|
208
|
+
sig do
|
|
209
|
+
override.returns(
|
|
210
|
+
T::Array[
|
|
211
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::Source::TaggedSymbol
|
|
212
|
+
]
|
|
213
|
+
)
|
|
214
|
+
end
|
|
215
|
+
def self.values
|
|
216
|
+
end
|
|
217
|
+
end
|
|
218
|
+
|
|
219
|
+
# The subscription state:
|
|
220
|
+
#
|
|
221
|
+
# - `SUB` - Subscribed (user can receive marketing messages)
|
|
222
|
+
# - `UNSUB` - Unsubscribed (user has opted out)
|
|
223
|
+
module State
|
|
224
|
+
extend PreludeSDK::Internal::Type::Enum
|
|
225
|
+
|
|
226
|
+
TaggedSymbol =
|
|
227
|
+
T.type_alias do
|
|
228
|
+
T.all(
|
|
229
|
+
Symbol,
|
|
230
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::State
|
|
231
|
+
)
|
|
232
|
+
end
|
|
233
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
234
|
+
|
|
235
|
+
SUB =
|
|
236
|
+
T.let(
|
|
237
|
+
:SUB,
|
|
238
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::State::TaggedSymbol
|
|
239
|
+
)
|
|
240
|
+
UNSUB =
|
|
241
|
+
T.let(
|
|
242
|
+
:UNSUB,
|
|
243
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::State::TaggedSymbol
|
|
244
|
+
)
|
|
245
|
+
|
|
246
|
+
sig do
|
|
247
|
+
override.returns(
|
|
248
|
+
T::Array[
|
|
249
|
+
PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse::PhoneNumber::State::TaggedSymbol
|
|
250
|
+
]
|
|
251
|
+
)
|
|
252
|
+
end
|
|
253
|
+
def self.values
|
|
254
|
+
end
|
|
255
|
+
end
|
|
256
|
+
end
|
|
257
|
+
end
|
|
258
|
+
end
|
|
259
|
+
end
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module PreludeSDK
|
|
4
|
+
module Models
|
|
5
|
+
class NotifySendBatchParams < 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(
|
|
12
|
+
PreludeSDK::NotifySendBatchParams,
|
|
13
|
+
PreludeSDK::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
# The template identifier configured by your Customer Success team.
|
|
18
|
+
sig { returns(String) }
|
|
19
|
+
attr_accessor :template_id
|
|
20
|
+
|
|
21
|
+
# The list of recipients' phone numbers in E.164 format.
|
|
22
|
+
sig { returns(T::Array[String]) }
|
|
23
|
+
attr_accessor :to
|
|
24
|
+
|
|
25
|
+
# The URL where webhooks will be sent for delivery events.
|
|
26
|
+
sig { returns(T.nilable(String)) }
|
|
27
|
+
attr_reader :callback_url
|
|
28
|
+
|
|
29
|
+
sig { params(callback_url: String).void }
|
|
30
|
+
attr_writer :callback_url
|
|
31
|
+
|
|
32
|
+
# A user-defined identifier to correlate this request with your internal systems.
|
|
33
|
+
sig { returns(T.nilable(String)) }
|
|
34
|
+
attr_reader :correlation_id
|
|
35
|
+
|
|
36
|
+
sig { params(correlation_id: String).void }
|
|
37
|
+
attr_writer :correlation_id
|
|
38
|
+
|
|
39
|
+
# The message expiration date in RFC3339 format. Messages will not be sent after
|
|
40
|
+
# this time.
|
|
41
|
+
sig { returns(T.nilable(Time)) }
|
|
42
|
+
attr_reader :expires_at
|
|
43
|
+
|
|
44
|
+
sig { params(expires_at: Time).void }
|
|
45
|
+
attr_writer :expires_at
|
|
46
|
+
|
|
47
|
+
# The Sender ID. Must be approved for your account.
|
|
48
|
+
sig { returns(T.nilable(String)) }
|
|
49
|
+
attr_reader :from
|
|
50
|
+
|
|
51
|
+
sig { params(from: String).void }
|
|
52
|
+
attr_writer :from
|
|
53
|
+
|
|
54
|
+
# A BCP-47 formatted locale string.
|
|
55
|
+
sig { returns(T.nilable(String)) }
|
|
56
|
+
attr_reader :locale
|
|
57
|
+
|
|
58
|
+
sig { params(locale: String).void }
|
|
59
|
+
attr_writer :locale
|
|
60
|
+
|
|
61
|
+
# Preferred channel for delivery. If unavailable, automatic fallback applies.
|
|
62
|
+
sig do
|
|
63
|
+
returns(
|
|
64
|
+
T.nilable(
|
|
65
|
+
PreludeSDK::NotifySendBatchParams::PreferredChannel::OrSymbol
|
|
66
|
+
)
|
|
67
|
+
)
|
|
68
|
+
end
|
|
69
|
+
attr_reader :preferred_channel
|
|
70
|
+
|
|
71
|
+
sig do
|
|
72
|
+
params(
|
|
73
|
+
preferred_channel:
|
|
74
|
+
PreludeSDK::NotifySendBatchParams::PreferredChannel::OrSymbol
|
|
75
|
+
).void
|
|
76
|
+
end
|
|
77
|
+
attr_writer :preferred_channel
|
|
78
|
+
|
|
79
|
+
# Schedule delivery in RFC3339 format. Marketing sends may be adjusted to comply
|
|
80
|
+
# with local time windows.
|
|
81
|
+
sig { returns(T.nilable(Time)) }
|
|
82
|
+
attr_reader :schedule_at
|
|
83
|
+
|
|
84
|
+
sig { params(schedule_at: Time).void }
|
|
85
|
+
attr_writer :schedule_at
|
|
86
|
+
|
|
87
|
+
# The variables to be replaced in the template.
|
|
88
|
+
sig { returns(T.nilable(T::Hash[Symbol, String])) }
|
|
89
|
+
attr_reader :variables
|
|
90
|
+
|
|
91
|
+
sig { params(variables: T::Hash[Symbol, String]).void }
|
|
92
|
+
attr_writer :variables
|
|
93
|
+
|
|
94
|
+
sig do
|
|
95
|
+
params(
|
|
96
|
+
template_id: String,
|
|
97
|
+
to: T::Array[String],
|
|
98
|
+
callback_url: String,
|
|
99
|
+
correlation_id: String,
|
|
100
|
+
expires_at: Time,
|
|
101
|
+
from: String,
|
|
102
|
+
locale: String,
|
|
103
|
+
preferred_channel:
|
|
104
|
+
PreludeSDK::NotifySendBatchParams::PreferredChannel::OrSymbol,
|
|
105
|
+
schedule_at: Time,
|
|
106
|
+
variables: T::Hash[Symbol, String],
|
|
107
|
+
request_options: PreludeSDK::RequestOptions::OrHash
|
|
108
|
+
).returns(T.attached_class)
|
|
109
|
+
end
|
|
110
|
+
def self.new(
|
|
111
|
+
# The template identifier configured by your Customer Success team.
|
|
112
|
+
template_id:,
|
|
113
|
+
# The list of recipients' phone numbers in E.164 format.
|
|
114
|
+
to:,
|
|
115
|
+
# The URL where webhooks will be sent for delivery events.
|
|
116
|
+
callback_url: nil,
|
|
117
|
+
# A user-defined identifier to correlate this request with your internal systems.
|
|
118
|
+
correlation_id: nil,
|
|
119
|
+
# The message expiration date in RFC3339 format. Messages will not be sent after
|
|
120
|
+
# this time.
|
|
121
|
+
expires_at: nil,
|
|
122
|
+
# The Sender ID. Must be approved for your account.
|
|
123
|
+
from: nil,
|
|
124
|
+
# A BCP-47 formatted locale string.
|
|
125
|
+
locale: nil,
|
|
126
|
+
# Preferred channel for delivery. If unavailable, automatic fallback applies.
|
|
127
|
+
preferred_channel: nil,
|
|
128
|
+
# Schedule delivery in RFC3339 format. Marketing sends may be adjusted to comply
|
|
129
|
+
# with local time windows.
|
|
130
|
+
schedule_at: nil,
|
|
131
|
+
# The variables to be replaced in the template.
|
|
132
|
+
variables: nil,
|
|
133
|
+
request_options: {}
|
|
134
|
+
)
|
|
135
|
+
end
|
|
136
|
+
|
|
137
|
+
sig do
|
|
138
|
+
override.returns(
|
|
139
|
+
{
|
|
140
|
+
template_id: String,
|
|
141
|
+
to: T::Array[String],
|
|
142
|
+
callback_url: String,
|
|
143
|
+
correlation_id: String,
|
|
144
|
+
expires_at: Time,
|
|
145
|
+
from: String,
|
|
146
|
+
locale: String,
|
|
147
|
+
preferred_channel:
|
|
148
|
+
PreludeSDK::NotifySendBatchParams::PreferredChannel::OrSymbol,
|
|
149
|
+
schedule_at: Time,
|
|
150
|
+
variables: T::Hash[Symbol, String],
|
|
151
|
+
request_options: PreludeSDK::RequestOptions
|
|
152
|
+
}
|
|
153
|
+
)
|
|
154
|
+
end
|
|
155
|
+
def to_hash
|
|
156
|
+
end
|
|
157
|
+
|
|
158
|
+
# Preferred channel for delivery. If unavailable, automatic fallback applies.
|
|
159
|
+
module PreferredChannel
|
|
160
|
+
extend PreludeSDK::Internal::Type::Enum
|
|
161
|
+
|
|
162
|
+
TaggedSymbol =
|
|
163
|
+
T.type_alias do
|
|
164
|
+
T.all(Symbol, PreludeSDK::NotifySendBatchParams::PreferredChannel)
|
|
165
|
+
end
|
|
166
|
+
OrSymbol = T.type_alias { T.any(Symbol, String) }
|
|
167
|
+
|
|
168
|
+
SMS =
|
|
169
|
+
T.let(
|
|
170
|
+
:sms,
|
|
171
|
+
PreludeSDK::NotifySendBatchParams::PreferredChannel::TaggedSymbol
|
|
172
|
+
)
|
|
173
|
+
WHATSAPP =
|
|
174
|
+
T.let(
|
|
175
|
+
:whatsapp,
|
|
176
|
+
PreludeSDK::NotifySendBatchParams::PreferredChannel::TaggedSymbol
|
|
177
|
+
)
|
|
178
|
+
|
|
179
|
+
sig do
|
|
180
|
+
override.returns(
|
|
181
|
+
T::Array[
|
|
182
|
+
PreludeSDK::NotifySendBatchParams::PreferredChannel::TaggedSymbol
|
|
183
|
+
]
|
|
184
|
+
)
|
|
185
|
+
end
|
|
186
|
+
def self.values
|
|
187
|
+
end
|
|
188
|
+
end
|
|
189
|
+
end
|
|
190
|
+
end
|
|
191
|
+
end
|