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,255 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module PreludeSDK
|
|
4
|
+
module Resources
|
|
5
|
+
# Send transactional and marketing messages with compliance enforcement.
|
|
6
|
+
class Notify
|
|
7
|
+
# Retrieve a specific subscription management configuration by its ID.
|
|
8
|
+
#
|
|
9
|
+
# @overload get_subscription_config(config_id, request_options: {})
|
|
10
|
+
#
|
|
11
|
+
# @param config_id [String] The subscription configuration ID
|
|
12
|
+
#
|
|
13
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
14
|
+
#
|
|
15
|
+
# @return [PreludeSDK::Models::NotifyGetSubscriptionConfigResponse]
|
|
16
|
+
#
|
|
17
|
+
# @see PreludeSDK::Models::NotifyGetSubscriptionConfigParams
|
|
18
|
+
def get_subscription_config(config_id, params = {})
|
|
19
|
+
@client.request(
|
|
20
|
+
method: :get,
|
|
21
|
+
path: ["v2/notify/management/subscriptions/%1$s", config_id],
|
|
22
|
+
model: PreludeSDK::Models::NotifyGetSubscriptionConfigResponse,
|
|
23
|
+
options: params[:request_options]
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Retrieve the current subscription status for a specific phone number within a
|
|
28
|
+
# subscription configuration.
|
|
29
|
+
#
|
|
30
|
+
# @overload get_subscription_phone_number(phone_number, config_id:, request_options: {})
|
|
31
|
+
#
|
|
32
|
+
# @param phone_number [String] The phone number in E.164 format (e.g., +33612345678)
|
|
33
|
+
#
|
|
34
|
+
# @param config_id [String] The subscription configuration ID
|
|
35
|
+
#
|
|
36
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
37
|
+
#
|
|
38
|
+
# @return [PreludeSDK::Models::NotifyGetSubscriptionPhoneNumberResponse]
|
|
39
|
+
#
|
|
40
|
+
# @see PreludeSDK::Models::NotifyGetSubscriptionPhoneNumberParams
|
|
41
|
+
def get_subscription_phone_number(phone_number, params)
|
|
42
|
+
parsed, options = PreludeSDK::NotifyGetSubscriptionPhoneNumberParams.dump_request(params)
|
|
43
|
+
config_id =
|
|
44
|
+
parsed.delete(:config_id) do
|
|
45
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
46
|
+
end
|
|
47
|
+
@client.request(
|
|
48
|
+
method: :get,
|
|
49
|
+
path: ["v2/notify/management/subscriptions/%1$s/phone_numbers/%2$s", config_id, phone_number],
|
|
50
|
+
model: PreludeSDK::Models::NotifyGetSubscriptionPhoneNumberResponse,
|
|
51
|
+
options: options
|
|
52
|
+
)
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# Retrieve a paginated list of subscription management configurations for your
|
|
56
|
+
# account.
|
|
57
|
+
#
|
|
58
|
+
# Each configuration represents a subscription management setup with phone numbers
|
|
59
|
+
# for receiving opt-out/opt-in requests and a callback URL for webhook events.
|
|
60
|
+
#
|
|
61
|
+
# @overload list_subscription_configs(cursor: nil, limit: nil, request_options: {})
|
|
62
|
+
#
|
|
63
|
+
# @param cursor [String] Pagination cursor from the previous response
|
|
64
|
+
#
|
|
65
|
+
# @param limit [Integer] Maximum number of configurations to return per page
|
|
66
|
+
#
|
|
67
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
68
|
+
#
|
|
69
|
+
# @return [PreludeSDK::Models::NotifyListSubscriptionConfigsResponse]
|
|
70
|
+
#
|
|
71
|
+
# @see PreludeSDK::Models::NotifyListSubscriptionConfigsParams
|
|
72
|
+
def list_subscription_configs(params = {})
|
|
73
|
+
parsed, options = PreludeSDK::NotifyListSubscriptionConfigsParams.dump_request(params)
|
|
74
|
+
query = PreludeSDK::Internal::Util.encode_query_params(parsed)
|
|
75
|
+
@client.request(
|
|
76
|
+
method: :get,
|
|
77
|
+
path: "v2/notify/management/subscriptions",
|
|
78
|
+
query: query,
|
|
79
|
+
model: PreludeSDK::Models::NotifyListSubscriptionConfigsResponse,
|
|
80
|
+
options: options
|
|
81
|
+
)
|
|
82
|
+
end
|
|
83
|
+
|
|
84
|
+
# Retrieve a paginated list of subscription events (status changes) for a specific
|
|
85
|
+
# phone number within a subscription configuration.
|
|
86
|
+
#
|
|
87
|
+
# Events are ordered by timestamp in descending order (most recent first).
|
|
88
|
+
#
|
|
89
|
+
# @overload list_subscription_phone_number_events(phone_number, config_id:, cursor: nil, limit: nil, request_options: {})
|
|
90
|
+
#
|
|
91
|
+
# @param phone_number [String] Path param: The phone number in E.164 format (e.g., +33612345678)
|
|
92
|
+
#
|
|
93
|
+
# @param config_id [String] Path param: The subscription configuration ID
|
|
94
|
+
#
|
|
95
|
+
# @param cursor [String] Query param: Pagination cursor from the previous response
|
|
96
|
+
#
|
|
97
|
+
# @param limit [Integer] Query param: Maximum number of events to return per page
|
|
98
|
+
#
|
|
99
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
100
|
+
#
|
|
101
|
+
# @return [PreludeSDK::Models::NotifyListSubscriptionPhoneNumberEventsResponse]
|
|
102
|
+
#
|
|
103
|
+
# @see PreludeSDK::Models::NotifyListSubscriptionPhoneNumberEventsParams
|
|
104
|
+
def list_subscription_phone_number_events(phone_number, params)
|
|
105
|
+
parsed, options = PreludeSDK::NotifyListSubscriptionPhoneNumberEventsParams.dump_request(params)
|
|
106
|
+
query = PreludeSDK::Internal::Util.encode_query_params(parsed)
|
|
107
|
+
config_id =
|
|
108
|
+
parsed.delete(:config_id) do
|
|
109
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
110
|
+
end
|
|
111
|
+
@client.request(
|
|
112
|
+
method: :get,
|
|
113
|
+
path: [
|
|
114
|
+
"v2/notify/management/subscriptions/%1$s/phone_numbers/%2$s/events",
|
|
115
|
+
config_id,
|
|
116
|
+
phone_number
|
|
117
|
+
],
|
|
118
|
+
query: query,
|
|
119
|
+
model: PreludeSDK::Models::NotifyListSubscriptionPhoneNumberEventsResponse,
|
|
120
|
+
options: options
|
|
121
|
+
)
|
|
122
|
+
end
|
|
123
|
+
|
|
124
|
+
# Retrieve a paginated list of phone numbers and their subscription statuses for a
|
|
125
|
+
# specific subscription configuration.
|
|
126
|
+
#
|
|
127
|
+
# You can optionally filter by subscription state (SUB or UNSUB).
|
|
128
|
+
#
|
|
129
|
+
# @overload list_subscription_phone_numbers(config_id, cursor: nil, limit: nil, state: nil, request_options: {})
|
|
130
|
+
#
|
|
131
|
+
# @param config_id [String] The subscription configuration ID
|
|
132
|
+
#
|
|
133
|
+
# @param cursor [String] Pagination cursor from the previous response
|
|
134
|
+
#
|
|
135
|
+
# @param limit [Integer] Maximum number of phone numbers to return per page
|
|
136
|
+
#
|
|
137
|
+
# @param state [Symbol, PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersParams::State] Filter by subscription state
|
|
138
|
+
#
|
|
139
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
140
|
+
#
|
|
141
|
+
# @return [PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse]
|
|
142
|
+
#
|
|
143
|
+
# @see PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersParams
|
|
144
|
+
def list_subscription_phone_numbers(config_id, params = {})
|
|
145
|
+
parsed, options = PreludeSDK::NotifyListSubscriptionPhoneNumbersParams.dump_request(params)
|
|
146
|
+
query = PreludeSDK::Internal::Util.encode_query_params(parsed)
|
|
147
|
+
@client.request(
|
|
148
|
+
method: :get,
|
|
149
|
+
path: ["v2/notify/management/subscriptions/%1$s/phone_numbers", config_id],
|
|
150
|
+
query: query,
|
|
151
|
+
model: PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse,
|
|
152
|
+
options: options
|
|
153
|
+
)
|
|
154
|
+
end
|
|
155
|
+
|
|
156
|
+
# Some parameter documentations has been truncated, see
|
|
157
|
+
# {PreludeSDK::Models::NotifySendParams} for more details.
|
|
158
|
+
#
|
|
159
|
+
# Send transactional and marketing messages to your users via SMS and WhatsApp
|
|
160
|
+
# with automatic compliance enforcement.
|
|
161
|
+
#
|
|
162
|
+
# @overload send_(template_id:, to:, callback_url: nil, correlation_id: nil, document: nil, expires_at: nil, from: nil, locale: nil, preferred_channel: nil, schedule_at: nil, variables: nil, request_options: {})
|
|
163
|
+
#
|
|
164
|
+
# @param template_id [String] The template identifier configured by your Customer Success team.
|
|
165
|
+
#
|
|
166
|
+
# @param to [String] The recipient's phone number in E.164 format.
|
|
167
|
+
#
|
|
168
|
+
# @param callback_url [String] The URL where webhooks will be sent for message delivery events.
|
|
169
|
+
#
|
|
170
|
+
# @param correlation_id [String] A user-defined identifier to correlate this message with your internal systems.
|
|
171
|
+
#
|
|
172
|
+
# @param document [PreludeSDK::Models::NotifySendParams::Document] A document to attach to the message. Only supported on WhatsApp templates that h
|
|
173
|
+
#
|
|
174
|
+
# @param expires_at [Time] The message expiration date in RFC3339 format. The message will not be sent if t
|
|
175
|
+
#
|
|
176
|
+
# @param from [String] The Sender ID. Must be approved for your account.
|
|
177
|
+
#
|
|
178
|
+
# @param locale [String] A BCP-47 formatted locale string with the language the text message will be sent
|
|
179
|
+
#
|
|
180
|
+
# @param preferred_channel [Symbol, PreludeSDK::Models::NotifySendParams::PreferredChannel] The preferred channel to be used in priority for message delivery. If the channe
|
|
181
|
+
#
|
|
182
|
+
# @param schedule_at [Time] Schedule the message for future delivery in RFC3339 format. Marketing messages c
|
|
183
|
+
#
|
|
184
|
+
# @param variables [Hash{Symbol=>String}] The variables to be replaced in the template.
|
|
185
|
+
#
|
|
186
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
187
|
+
#
|
|
188
|
+
# @return [PreludeSDK::Models::NotifySendResponse]
|
|
189
|
+
#
|
|
190
|
+
# @see PreludeSDK::Models::NotifySendParams
|
|
191
|
+
def send_(params)
|
|
192
|
+
parsed, options = PreludeSDK::NotifySendParams.dump_request(params)
|
|
193
|
+
@client.request(
|
|
194
|
+
method: :post,
|
|
195
|
+
path: "v2/notify",
|
|
196
|
+
body: parsed,
|
|
197
|
+
model: PreludeSDK::Models::NotifySendResponse,
|
|
198
|
+
options: options
|
|
199
|
+
)
|
|
200
|
+
end
|
|
201
|
+
|
|
202
|
+
# Some parameter documentations has been truncated, see
|
|
203
|
+
# {PreludeSDK::Models::NotifySendBatchParams} for more details.
|
|
204
|
+
#
|
|
205
|
+
# Send the same message to multiple recipients in a single request.
|
|
206
|
+
#
|
|
207
|
+
# @overload send_batch(template_id:, to:, callback_url: nil, correlation_id: nil, document: nil, expires_at: nil, from: nil, locale: nil, preferred_channel: nil, schedule_at: nil, variables: nil, request_options: {})
|
|
208
|
+
#
|
|
209
|
+
# @param template_id [String] The template identifier configured by your Customer Success team.
|
|
210
|
+
#
|
|
211
|
+
# @param to [Array<String>] The list of recipients' phone numbers in E.164 format.
|
|
212
|
+
#
|
|
213
|
+
# @param callback_url [String] The URL where webhooks will be sent for delivery events.
|
|
214
|
+
#
|
|
215
|
+
# @param correlation_id [String] A user-defined identifier to correlate this request with your internal systems.
|
|
216
|
+
#
|
|
217
|
+
# @param document [PreludeSDK::Models::NotifySendBatchParams::Document] A document to attach to the message. Only supported on WhatsApp templates that h
|
|
218
|
+
#
|
|
219
|
+
# @param expires_at [Time] The message expiration date in RFC3339 format. Messages will not be sent after t
|
|
220
|
+
#
|
|
221
|
+
# @param from [String] The Sender ID. Must be approved for your account.
|
|
222
|
+
#
|
|
223
|
+
# @param locale [String] A BCP-47 formatted locale string.
|
|
224
|
+
#
|
|
225
|
+
# @param preferred_channel [Symbol, PreludeSDK::Models::NotifySendBatchParams::PreferredChannel] Preferred channel for delivery. If unavailable, automatic fallback applies.
|
|
226
|
+
#
|
|
227
|
+
# @param schedule_at [Time] Schedule delivery in RFC3339 format. Marketing sends may be adjusted to comply w
|
|
228
|
+
#
|
|
229
|
+
# @param variables [Hash{Symbol=>String}] The variables to be replaced in the template.
|
|
230
|
+
#
|
|
231
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
232
|
+
#
|
|
233
|
+
# @return [PreludeSDK::Models::NotifySendBatchResponse]
|
|
234
|
+
#
|
|
235
|
+
# @see PreludeSDK::Models::NotifySendBatchParams
|
|
236
|
+
def send_batch(params)
|
|
237
|
+
parsed, options = PreludeSDK::NotifySendBatchParams.dump_request(params)
|
|
238
|
+
@client.request(
|
|
239
|
+
method: :post,
|
|
240
|
+
path: "v2/notify/batch",
|
|
241
|
+
body: parsed,
|
|
242
|
+
model: PreludeSDK::Models::NotifySendBatchResponse,
|
|
243
|
+
options: options
|
|
244
|
+
)
|
|
245
|
+
end
|
|
246
|
+
|
|
247
|
+
# @api private
|
|
248
|
+
#
|
|
249
|
+
# @param client [PreludeSDK::Client]
|
|
250
|
+
def initialize(client:)
|
|
251
|
+
@client = client
|
|
252
|
+
end
|
|
253
|
+
end
|
|
254
|
+
end
|
|
255
|
+
end
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
module PreludeSDK
|
|
4
4
|
module Resources
|
|
5
|
+
# Send transactional messages (deprecated - use Notify API instead).
|
|
5
6
|
class Transactional
|
|
6
7
|
# @deprecated
|
|
7
8
|
#
|
|
@@ -11,7 +12,7 @@ module PreludeSDK
|
|
|
11
12
|
# Legacy route maintained for backward compatibility. Migrate to `/v2/notify`
|
|
12
13
|
# instead.
|
|
13
14
|
#
|
|
14
|
-
# @overload send_(template_id:, to:, callback_url: nil, correlation_id: nil, expires_at: nil, from: nil, locale: nil, preferred_channel: nil, variables: nil, request_options: {})
|
|
15
|
+
# @overload send_(template_id:, to:, callback_url: nil, correlation_id: nil, document: nil, expires_at: nil, from: nil, locale: nil, preferred_channel: nil, variables: nil, request_options: {})
|
|
15
16
|
#
|
|
16
17
|
# @param template_id [String] The template identifier.
|
|
17
18
|
#
|
|
@@ -21,6 +22,8 @@ module PreludeSDK
|
|
|
21
22
|
#
|
|
22
23
|
# @param correlation_id [String] A user-defined identifier to correlate this transactional message with. It is re
|
|
23
24
|
#
|
|
25
|
+
# @param document [PreludeSDK::Models::TransactionalSendParams::Document] A document to attach to the message. Only supported on WhatsApp templates that h
|
|
26
|
+
#
|
|
24
27
|
# @param expires_at [String] The message expiration date.
|
|
25
28
|
#
|
|
26
29
|
# @param from [String] The Sender ID.
|
data/lib/prelude_sdk/version.rb
CHANGED
data/lib/prelude_sdk.rb
CHANGED
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
# Standard libraries.
|
|
4
4
|
# rubocop:disable Lint/RedundantRequireStatement
|
|
5
5
|
require "English"
|
|
6
|
+
require "base64"
|
|
6
7
|
require "cgi"
|
|
7
8
|
require "date"
|
|
8
9
|
require "erb"
|
|
@@ -53,6 +54,20 @@ require_relative "prelude_sdk/internal/transport/pooled_net_requester"
|
|
|
53
54
|
require_relative "prelude_sdk/client"
|
|
54
55
|
require_relative "prelude_sdk/models/lookup_lookup_params"
|
|
55
56
|
require_relative "prelude_sdk/models/lookup_lookup_response"
|
|
57
|
+
require_relative "prelude_sdk/models/notify_get_subscription_config_params"
|
|
58
|
+
require_relative "prelude_sdk/models/notify_get_subscription_config_response"
|
|
59
|
+
require_relative "prelude_sdk/models/notify_get_subscription_phone_number_params"
|
|
60
|
+
require_relative "prelude_sdk/models/notify_get_subscription_phone_number_response"
|
|
61
|
+
require_relative "prelude_sdk/models/notify_list_subscription_configs_params"
|
|
62
|
+
require_relative "prelude_sdk/models/notify_list_subscription_configs_response"
|
|
63
|
+
require_relative "prelude_sdk/models/notify_list_subscription_phone_number_events_params"
|
|
64
|
+
require_relative "prelude_sdk/models/notify_list_subscription_phone_number_events_response"
|
|
65
|
+
require_relative "prelude_sdk/models/notify_list_subscription_phone_numbers_params"
|
|
66
|
+
require_relative "prelude_sdk/models/notify_list_subscription_phone_numbers_response"
|
|
67
|
+
require_relative "prelude_sdk/models/notify_send_batch_params"
|
|
68
|
+
require_relative "prelude_sdk/models/notify_send_batch_response"
|
|
69
|
+
require_relative "prelude_sdk/models/notify_send_params"
|
|
70
|
+
require_relative "prelude_sdk/models/notify_send_response"
|
|
56
71
|
require_relative "prelude_sdk/models/transactional_send_params"
|
|
57
72
|
require_relative "prelude_sdk/models/transactional_send_response"
|
|
58
73
|
require_relative "prelude_sdk/models/verification_check_params"
|
|
@@ -77,6 +92,7 @@ require_relative "prelude_sdk/models/watch_send_feedbacks_params"
|
|
|
77
92
|
require_relative "prelude_sdk/models/watch_send_feedbacks_response"
|
|
78
93
|
require_relative "prelude_sdk/models"
|
|
79
94
|
require_relative "prelude_sdk/resources/lookup"
|
|
95
|
+
require_relative "prelude_sdk/resources/notify"
|
|
80
96
|
require_relative "prelude_sdk/resources/transactional"
|
|
81
97
|
require_relative "prelude_sdk/resources/verification"
|
|
82
98
|
require_relative "prelude_sdk/resources/verification_management"
|
data/manifest.yaml
CHANGED
data/rbi/prelude_sdk/client.rbi
CHANGED
|
@@ -14,18 +14,28 @@ module PreludeSDK
|
|
|
14
14
|
sig { returns(String) }
|
|
15
15
|
attr_reader :api_token
|
|
16
16
|
|
|
17
|
+
# Retrieve detailed information about a phone number including carrier data, line
|
|
18
|
+
# type, and portability status.
|
|
17
19
|
sig { returns(PreludeSDK::Resources::Lookup) }
|
|
18
20
|
attr_reader :lookup
|
|
19
21
|
|
|
22
|
+
# Send transactional and marketing messages with compliance enforcement.
|
|
23
|
+
sig { returns(PreludeSDK::Resources::Notify) }
|
|
24
|
+
attr_reader :notify
|
|
25
|
+
|
|
26
|
+
# Send transactional messages (deprecated - use Notify API instead).
|
|
20
27
|
sig { returns(PreludeSDK::Resources::Transactional) }
|
|
21
28
|
attr_reader :transactional
|
|
22
29
|
|
|
30
|
+
# Verify phone numbers.
|
|
23
31
|
sig { returns(PreludeSDK::Resources::Verification) }
|
|
24
32
|
attr_reader :verification
|
|
25
33
|
|
|
34
|
+
# Verify phone numbers.
|
|
26
35
|
sig { returns(PreludeSDK::Resources::VerificationManagement) }
|
|
27
36
|
attr_reader :verification_management
|
|
28
37
|
|
|
38
|
+
# Evaluate email addresses and phone numbers for trustworthiness.
|
|
29
39
|
sig { returns(PreludeSDK::Resources::Watch) }
|
|
30
40
|
attr_reader :watch
|
|
31
41
|
|
|
@@ -296,11 +296,31 @@ module PreludeSDK
|
|
|
296
296
|
end
|
|
297
297
|
|
|
298
298
|
JSON_CONTENT =
|
|
299
|
-
T.let(%r{^application/(?:
|
|
299
|
+
T.let(%r{^application/(?:[a-zA-Z0-9.-]+\+)?json(?!l)}, Regexp)
|
|
300
300
|
JSONL_CONTENT =
|
|
301
301
|
T.let(%r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}, Regexp)
|
|
302
302
|
|
|
303
303
|
class << self
|
|
304
|
+
# @api private
|
|
305
|
+
sig do
|
|
306
|
+
params(query: PreludeSDK::Internal::AnyHash).returns(
|
|
307
|
+
PreludeSDK::Internal::AnyHash
|
|
308
|
+
)
|
|
309
|
+
end
|
|
310
|
+
def encode_query_params(query)
|
|
311
|
+
end
|
|
312
|
+
|
|
313
|
+
# @api private
|
|
314
|
+
sig do
|
|
315
|
+
params(
|
|
316
|
+
collection: PreludeSDK::Internal::AnyHash,
|
|
317
|
+
key: String,
|
|
318
|
+
element: T.anything
|
|
319
|
+
).void
|
|
320
|
+
end
|
|
321
|
+
private def write_query_param_element!(collection, key, element)
|
|
322
|
+
end
|
|
323
|
+
|
|
304
324
|
# @api private
|
|
305
325
|
sig do
|
|
306
326
|
params(
|
|
@@ -11,6 +11,10 @@ module PreludeSDK
|
|
|
11
11
|
T.any(PreludeSDK::LookupLookupParams, PreludeSDK::Internal::AnyHash)
|
|
12
12
|
end
|
|
13
13
|
|
|
14
|
+
# An E.164 formatted phone number to look up.
|
|
15
|
+
sig { returns(String) }
|
|
16
|
+
attr_accessor :phone_number
|
|
17
|
+
|
|
14
18
|
# Optional features. Possible values are:
|
|
15
19
|
#
|
|
16
20
|
# - `cnam` - Retrieve CNAM (Caller ID Name) along with other information. Contact
|
|
@@ -31,11 +35,14 @@ module PreludeSDK
|
|
|
31
35
|
|
|
32
36
|
sig do
|
|
33
37
|
params(
|
|
38
|
+
phone_number: String,
|
|
34
39
|
type: T::Array[PreludeSDK::LookupLookupParams::Type::OrSymbol],
|
|
35
40
|
request_options: PreludeSDK::RequestOptions::OrHash
|
|
36
41
|
).returns(T.attached_class)
|
|
37
42
|
end
|
|
38
43
|
def self.new(
|
|
44
|
+
# An E.164 formatted phone number to look up.
|
|
45
|
+
phone_number:,
|
|
39
46
|
# Optional features. Possible values are:
|
|
40
47
|
#
|
|
41
48
|
# - `cnam` - Retrieve CNAM (Caller ID Name) along with other information. Contact
|
|
@@ -48,6 +55,7 @@ module PreludeSDK
|
|
|
48
55
|
sig do
|
|
49
56
|
override.returns(
|
|
50
57
|
{
|
|
58
|
+
phone_number: String,
|
|
51
59
|
type: T::Array[PreludeSDK::LookupLookupParams::Type::OrSymbol],
|
|
52
60
|
request_options: PreludeSDK::RequestOptions
|
|
53
61
|
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
# typed: strong
|
|
2
|
+
|
|
3
|
+
module PreludeSDK
|
|
4
|
+
module Models
|
|
5
|
+
class NotifyGetSubscriptionConfigParams < 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::NotifyGetSubscriptionConfigParams,
|
|
13
|
+
PreludeSDK::Internal::AnyHash
|
|
14
|
+
)
|
|
15
|
+
end
|
|
16
|
+
|
|
17
|
+
sig { returns(String) }
|
|
18
|
+
attr_accessor :config_id
|
|
19
|
+
|
|
20
|
+
sig do
|
|
21
|
+
params(
|
|
22
|
+
config_id: String,
|
|
23
|
+
request_options: PreludeSDK::RequestOptions::OrHash
|
|
24
|
+
).returns(T.attached_class)
|
|
25
|
+
end
|
|
26
|
+
def self.new(config_id:, request_options: {})
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
sig do
|
|
30
|
+
override.returns(
|
|
31
|
+
{ config_id: String, request_options: PreludeSDK::RequestOptions }
|
|
32
|
+
)
|
|
33
|
+
end
|
|
34
|
+
def to_hash
|
|
35
|
+
end
|
|
36
|
+
end
|
|
37
|
+
end
|
|
38
|
+
end
|