prelude-sdk 0.1.0.pre.alpha.3 → 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 +58 -0
- data/README.md +29 -1
- data/lib/prelude_sdk/client.rb +8 -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 +18 -8
- data/lib/prelude_sdk/internal/transport/pooled_net_requester.rb +40 -33
- data/lib/prelude_sdk/internal/type/base_page.rb +1 -1
- data/lib/prelude_sdk/internal/type/file_input.rb +7 -4
- data/lib/prelude_sdk/internal/util.rb +8 -7
- 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/transactional_send_params.rb +37 -1
- data/lib/prelude_sdk/models/verification_create_params.rb +45 -5
- data/lib/prelude_sdk/models/verification_create_response.rb +26 -0
- 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 +11 -1
- data/lib/prelude_sdk/models/watch_send_feedbacks_params.rb +11 -1
- data/lib/prelude_sdk/models.rb +29 -0
- data/lib/prelude_sdk/resources/notify.rb +247 -0
- data/lib/prelude_sdk/resources/transactional.rb +7 -2
- data/lib/prelude_sdk/resources/verification_management.rb +140 -0
- data/lib/prelude_sdk/version.rb +1 -1
- data/lib/prelude_sdk.rb +28 -0
- data/manifest.yaml +2 -0
- data/rbi/prelude_sdk/client.rbi +6 -0
- data/rbi/prelude_sdk/errors.rbi +29 -2
- data/rbi/prelude_sdk/file_part.rbi +1 -1
- data/rbi/prelude_sdk/internal/transport/base_client.rbi +9 -5
- 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/util.rbi +1 -1
- 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/transactional_send_params.rbi +85 -0
- data/rbi/prelude_sdk/models/verification_create_params.rbi +97 -5
- data/rbi/prelude_sdk/models/verification_create_response.rbi +39 -0
- 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 +15 -0
- data/rbi/prelude_sdk/models/watch_send_feedbacks_params.rbi +15 -0
- data/rbi/prelude_sdk/models.rbi +34 -0
- data/rbi/prelude_sdk/resources/notify.rbi +218 -0
- data/rbi/prelude_sdk/resources/transactional.rbi +14 -1
- data/rbi/prelude_sdk/resources/verification_management.rbi +112 -0
- data/sig/prelude_sdk/client.rbs +4 -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 +2 -0
- data/sig/prelude_sdk/internal/transport/pooled_net_requester.rbs +4 -1
- 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/transactional_send_params.rbs +21 -0
- data/sig/prelude_sdk/models/verification_create_params.rbs +29 -1
- 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 +24 -0
- data/sig/prelude_sdk/resources/notify.rbs +68 -0
- data/sig/prelude_sdk/resources/transactional.rbs +1 -0
- data/sig/prelude_sdk/resources/verification_management.rbs +33 -0
- metadata +82 -4
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module PreludeSDK
|
|
4
|
+
module Resources
|
|
5
|
+
class Notify
|
|
6
|
+
# Retrieve a specific subscription management configuration by its ID.
|
|
7
|
+
#
|
|
8
|
+
# @overload get_subscription_config(config_id, request_options: {})
|
|
9
|
+
#
|
|
10
|
+
# @param config_id [String] The subscription configuration ID
|
|
11
|
+
#
|
|
12
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
13
|
+
#
|
|
14
|
+
# @return [PreludeSDK::Models::NotifyGetSubscriptionConfigResponse]
|
|
15
|
+
#
|
|
16
|
+
# @see PreludeSDK::Models::NotifyGetSubscriptionConfigParams
|
|
17
|
+
def get_subscription_config(config_id, params = {})
|
|
18
|
+
@client.request(
|
|
19
|
+
method: :get,
|
|
20
|
+
path: ["v2/notify/management/subscriptions/%1$s", config_id],
|
|
21
|
+
model: PreludeSDK::Models::NotifyGetSubscriptionConfigResponse,
|
|
22
|
+
options: params[:request_options]
|
|
23
|
+
)
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
# Retrieve the current subscription status for a specific phone number within a
|
|
27
|
+
# subscription configuration.
|
|
28
|
+
#
|
|
29
|
+
# @overload get_subscription_phone_number(phone_number, config_id:, request_options: {})
|
|
30
|
+
#
|
|
31
|
+
# @param phone_number [String] The phone number in E.164 format (e.g., +33612345678)
|
|
32
|
+
#
|
|
33
|
+
# @param config_id [String] The subscription configuration ID
|
|
34
|
+
#
|
|
35
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
36
|
+
#
|
|
37
|
+
# @return [PreludeSDK::Models::NotifyGetSubscriptionPhoneNumberResponse]
|
|
38
|
+
#
|
|
39
|
+
# @see PreludeSDK::Models::NotifyGetSubscriptionPhoneNumberParams
|
|
40
|
+
def get_subscription_phone_number(phone_number, params)
|
|
41
|
+
parsed, options = PreludeSDK::NotifyGetSubscriptionPhoneNumberParams.dump_request(params)
|
|
42
|
+
config_id =
|
|
43
|
+
parsed.delete(:config_id) do
|
|
44
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
45
|
+
end
|
|
46
|
+
@client.request(
|
|
47
|
+
method: :get,
|
|
48
|
+
path: ["v2/notify/management/subscriptions/%1$s/phone_numbers/%2$s", config_id, phone_number],
|
|
49
|
+
model: PreludeSDK::Models::NotifyGetSubscriptionPhoneNumberResponse,
|
|
50
|
+
options: options
|
|
51
|
+
)
|
|
52
|
+
end
|
|
53
|
+
|
|
54
|
+
# Retrieve a paginated list of subscription management configurations for your
|
|
55
|
+
# account.
|
|
56
|
+
#
|
|
57
|
+
# Each configuration represents a subscription management setup with phone numbers
|
|
58
|
+
# for receiving opt-out/opt-in requests and a callback URL for webhook events.
|
|
59
|
+
#
|
|
60
|
+
# @overload list_subscription_configs(cursor: nil, limit: nil, request_options: {})
|
|
61
|
+
#
|
|
62
|
+
# @param cursor [String] Pagination cursor from the previous response
|
|
63
|
+
#
|
|
64
|
+
# @param limit [Integer] Maximum number of configurations to return per page
|
|
65
|
+
#
|
|
66
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
67
|
+
#
|
|
68
|
+
# @return [PreludeSDK::Models::NotifyListSubscriptionConfigsResponse]
|
|
69
|
+
#
|
|
70
|
+
# @see PreludeSDK::Models::NotifyListSubscriptionConfigsParams
|
|
71
|
+
def list_subscription_configs(params = {})
|
|
72
|
+
parsed, options = PreludeSDK::NotifyListSubscriptionConfigsParams.dump_request(params)
|
|
73
|
+
@client.request(
|
|
74
|
+
method: :get,
|
|
75
|
+
path: "v2/notify/management/subscriptions",
|
|
76
|
+
query: parsed,
|
|
77
|
+
model: PreludeSDK::Models::NotifyListSubscriptionConfigsResponse,
|
|
78
|
+
options: options
|
|
79
|
+
)
|
|
80
|
+
end
|
|
81
|
+
|
|
82
|
+
# Retrieve a paginated list of subscription events (status changes) for a specific
|
|
83
|
+
# phone number within a subscription configuration.
|
|
84
|
+
#
|
|
85
|
+
# Events are ordered by timestamp in descending order (most recent first).
|
|
86
|
+
#
|
|
87
|
+
# @overload list_subscription_phone_number_events(phone_number, config_id:, cursor: nil, limit: nil, request_options: {})
|
|
88
|
+
#
|
|
89
|
+
# @param phone_number [String] Path param: The phone number in E.164 format (e.g., +33612345678)
|
|
90
|
+
#
|
|
91
|
+
# @param config_id [String] Path param: The subscription configuration ID
|
|
92
|
+
#
|
|
93
|
+
# @param cursor [String] Query param: Pagination cursor from the previous response
|
|
94
|
+
#
|
|
95
|
+
# @param limit [Integer] Query param: Maximum number of events to return per page
|
|
96
|
+
#
|
|
97
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
98
|
+
#
|
|
99
|
+
# @return [PreludeSDK::Models::NotifyListSubscriptionPhoneNumberEventsResponse]
|
|
100
|
+
#
|
|
101
|
+
# @see PreludeSDK::Models::NotifyListSubscriptionPhoneNumberEventsParams
|
|
102
|
+
def list_subscription_phone_number_events(phone_number, params)
|
|
103
|
+
parsed, options = PreludeSDK::NotifyListSubscriptionPhoneNumberEventsParams.dump_request(params)
|
|
104
|
+
config_id =
|
|
105
|
+
parsed.delete(:config_id) do
|
|
106
|
+
raise ArgumentError.new("missing required path argument #{_1}")
|
|
107
|
+
end
|
|
108
|
+
@client.request(
|
|
109
|
+
method: :get,
|
|
110
|
+
path: [
|
|
111
|
+
"v2/notify/management/subscriptions/%1$s/phone_numbers/%2$s/events",
|
|
112
|
+
config_id,
|
|
113
|
+
phone_number
|
|
114
|
+
],
|
|
115
|
+
query: parsed,
|
|
116
|
+
model: PreludeSDK::Models::NotifyListSubscriptionPhoneNumberEventsResponse,
|
|
117
|
+
options: options
|
|
118
|
+
)
|
|
119
|
+
end
|
|
120
|
+
|
|
121
|
+
# Retrieve a paginated list of phone numbers and their subscription statuses for a
|
|
122
|
+
# specific subscription configuration.
|
|
123
|
+
#
|
|
124
|
+
# You can optionally filter by subscription state (SUB or UNSUB).
|
|
125
|
+
#
|
|
126
|
+
# @overload list_subscription_phone_numbers(config_id, cursor: nil, limit: nil, state: nil, request_options: {})
|
|
127
|
+
#
|
|
128
|
+
# @param config_id [String] The subscription configuration ID
|
|
129
|
+
#
|
|
130
|
+
# @param cursor [String] Pagination cursor from the previous response
|
|
131
|
+
#
|
|
132
|
+
# @param limit [Integer] Maximum number of phone numbers to return per page
|
|
133
|
+
#
|
|
134
|
+
# @param state [Symbol, PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersParams::State] Filter by subscription state
|
|
135
|
+
#
|
|
136
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
137
|
+
#
|
|
138
|
+
# @return [PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse]
|
|
139
|
+
#
|
|
140
|
+
# @see PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersParams
|
|
141
|
+
def list_subscription_phone_numbers(config_id, params = {})
|
|
142
|
+
parsed, options = PreludeSDK::NotifyListSubscriptionPhoneNumbersParams.dump_request(params)
|
|
143
|
+
@client.request(
|
|
144
|
+
method: :get,
|
|
145
|
+
path: ["v2/notify/management/subscriptions/%1$s/phone_numbers", config_id],
|
|
146
|
+
query: parsed,
|
|
147
|
+
model: PreludeSDK::Models::NotifyListSubscriptionPhoneNumbersResponse,
|
|
148
|
+
options: options
|
|
149
|
+
)
|
|
150
|
+
end
|
|
151
|
+
|
|
152
|
+
# Some parameter documentations has been truncated, see
|
|
153
|
+
# {PreludeSDK::Models::NotifySendParams} for more details.
|
|
154
|
+
#
|
|
155
|
+
# Send transactional and marketing messages to your users via SMS and WhatsApp
|
|
156
|
+
# with automatic compliance enforcement.
|
|
157
|
+
#
|
|
158
|
+
# @overload send_(template_id:, to:, callback_url: nil, correlation_id: nil, expires_at: nil, from: nil, locale: nil, preferred_channel: nil, schedule_at: nil, variables: nil, request_options: {})
|
|
159
|
+
#
|
|
160
|
+
# @param template_id [String] The template identifier configured by your Customer Success team.
|
|
161
|
+
#
|
|
162
|
+
# @param to [String] The recipient's phone number in E.164 format.
|
|
163
|
+
#
|
|
164
|
+
# @param callback_url [String] The URL where webhooks will be sent for message delivery events.
|
|
165
|
+
#
|
|
166
|
+
# @param correlation_id [String] A user-defined identifier to correlate this message with your internal systems.
|
|
167
|
+
#
|
|
168
|
+
# @param expires_at [Time] The message expiration date in RFC3339 format. The message will not be sent if t
|
|
169
|
+
#
|
|
170
|
+
# @param from [String] The Sender ID. Must be approved for your account.
|
|
171
|
+
#
|
|
172
|
+
# @param locale [String] A BCP-47 formatted locale string with the language the text message will be sent
|
|
173
|
+
#
|
|
174
|
+
# @param preferred_channel [Symbol, PreludeSDK::Models::NotifySendParams::PreferredChannel] The preferred channel to be used in priority for message delivery. If the channe
|
|
175
|
+
#
|
|
176
|
+
# @param schedule_at [Time] Schedule the message for future delivery in RFC3339 format. Marketing messages c
|
|
177
|
+
#
|
|
178
|
+
# @param variables [Hash{Symbol=>String}] The variables to be replaced in the template.
|
|
179
|
+
#
|
|
180
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
181
|
+
#
|
|
182
|
+
# @return [PreludeSDK::Models::NotifySendResponse]
|
|
183
|
+
#
|
|
184
|
+
# @see PreludeSDK::Models::NotifySendParams
|
|
185
|
+
def send_(params)
|
|
186
|
+
parsed, options = PreludeSDK::NotifySendParams.dump_request(params)
|
|
187
|
+
@client.request(
|
|
188
|
+
method: :post,
|
|
189
|
+
path: "v2/notify",
|
|
190
|
+
body: parsed,
|
|
191
|
+
model: PreludeSDK::Models::NotifySendResponse,
|
|
192
|
+
options: options
|
|
193
|
+
)
|
|
194
|
+
end
|
|
195
|
+
|
|
196
|
+
# Some parameter documentations has been truncated, see
|
|
197
|
+
# {PreludeSDK::Models::NotifySendBatchParams} for more details.
|
|
198
|
+
#
|
|
199
|
+
# Send the same message to multiple recipients in a single request.
|
|
200
|
+
#
|
|
201
|
+
# @overload send_batch(template_id:, to:, callback_url: nil, correlation_id: nil, expires_at: nil, from: nil, locale: nil, preferred_channel: nil, schedule_at: nil, variables: nil, request_options: {})
|
|
202
|
+
#
|
|
203
|
+
# @param template_id [String] The template identifier configured by your Customer Success team.
|
|
204
|
+
#
|
|
205
|
+
# @param to [Array<String>] The list of recipients' phone numbers in E.164 format.
|
|
206
|
+
#
|
|
207
|
+
# @param callback_url [String] The URL where webhooks will be sent for delivery events.
|
|
208
|
+
#
|
|
209
|
+
# @param correlation_id [String] A user-defined identifier to correlate this request with your internal systems.
|
|
210
|
+
#
|
|
211
|
+
# @param expires_at [Time] The message expiration date in RFC3339 format. Messages will not be sent after t
|
|
212
|
+
#
|
|
213
|
+
# @param from [String] The Sender ID. Must be approved for your account.
|
|
214
|
+
#
|
|
215
|
+
# @param locale [String] A BCP-47 formatted locale string.
|
|
216
|
+
#
|
|
217
|
+
# @param preferred_channel [Symbol, PreludeSDK::Models::NotifySendBatchParams::PreferredChannel] Preferred channel for delivery. If unavailable, automatic fallback applies.
|
|
218
|
+
#
|
|
219
|
+
# @param schedule_at [Time] Schedule delivery in RFC3339 format. Marketing sends may be adjusted to comply w
|
|
220
|
+
#
|
|
221
|
+
# @param variables [Hash{Symbol=>String}] The variables to be replaced in the template.
|
|
222
|
+
#
|
|
223
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
224
|
+
#
|
|
225
|
+
# @return [PreludeSDK::Models::NotifySendBatchResponse]
|
|
226
|
+
#
|
|
227
|
+
# @see PreludeSDK::Models::NotifySendBatchParams
|
|
228
|
+
def send_batch(params)
|
|
229
|
+
parsed, options = PreludeSDK::NotifySendBatchParams.dump_request(params)
|
|
230
|
+
@client.request(
|
|
231
|
+
method: :post,
|
|
232
|
+
path: "v2/notify/batch",
|
|
233
|
+
body: parsed,
|
|
234
|
+
model: PreludeSDK::Models::NotifySendBatchResponse,
|
|
235
|
+
options: options
|
|
236
|
+
)
|
|
237
|
+
end
|
|
238
|
+
|
|
239
|
+
# @api private
|
|
240
|
+
#
|
|
241
|
+
# @param client [PreludeSDK::Client]
|
|
242
|
+
def initialize(client:)
|
|
243
|
+
@client = client
|
|
244
|
+
end
|
|
245
|
+
end
|
|
246
|
+
end
|
|
247
|
+
end
|
|
@@ -3,12 +3,15 @@
|
|
|
3
3
|
module PreludeSDK
|
|
4
4
|
module Resources
|
|
5
5
|
class Transactional
|
|
6
|
+
# @deprecated
|
|
7
|
+
#
|
|
6
8
|
# Some parameter documentations has been truncated, see
|
|
7
9
|
# {PreludeSDK::Models::TransactionalSendParams} for more details.
|
|
8
10
|
#
|
|
9
|
-
#
|
|
11
|
+
# Legacy route maintained for backward compatibility. Migrate to `/v2/notify`
|
|
12
|
+
# instead.
|
|
10
13
|
#
|
|
11
|
-
# @overload send_(template_id:, to:, callback_url: nil, correlation_id: nil, expires_at: nil, from: nil, locale: nil, variables: nil, request_options: {})
|
|
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: {})
|
|
12
15
|
#
|
|
13
16
|
# @param template_id [String] The template identifier.
|
|
14
17
|
#
|
|
@@ -24,6 +27,8 @@ module PreludeSDK
|
|
|
24
27
|
#
|
|
25
28
|
# @param locale [String] A BCP-47 formatted locale string with the language the text message will be sent
|
|
26
29
|
#
|
|
30
|
+
# @param preferred_channel [Symbol, PreludeSDK::Models::TransactionalSendParams::PreferredChannel] The preferred delivery channel for the message. When specified, the system will
|
|
31
|
+
#
|
|
27
32
|
# @param variables [Hash{Symbol=>String}] The variables to be replaced in the template.
|
|
28
33
|
#
|
|
29
34
|
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
@@ -0,0 +1,140 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module PreludeSDK
|
|
4
|
+
module Resources
|
|
5
|
+
class VerificationManagement
|
|
6
|
+
# Remove a phone number from the allow or block list.
|
|
7
|
+
#
|
|
8
|
+
# This operation is idempotent - re-deleting the same phone number will not result
|
|
9
|
+
# in errors. If the phone number does not exist in the specified list, the
|
|
10
|
+
# operation will succeed without making any changes.
|
|
11
|
+
#
|
|
12
|
+
# In order to get access to this endpoint, contact our support team.
|
|
13
|
+
#
|
|
14
|
+
# @overload delete_phone_number(action, phone_number:, request_options: {})
|
|
15
|
+
#
|
|
16
|
+
# @param action [Symbol, PreludeSDK::Models::VerificationManagementDeletePhoneNumberParams::Action] The action type - either "allow" or "block"
|
|
17
|
+
#
|
|
18
|
+
# @param phone_number [String] An E.164 formatted phone number to remove from the list.
|
|
19
|
+
#
|
|
20
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
21
|
+
#
|
|
22
|
+
# @return [PreludeSDK::Models::VerificationManagementDeletePhoneNumberResponse]
|
|
23
|
+
#
|
|
24
|
+
# @see PreludeSDK::Models::VerificationManagementDeletePhoneNumberParams
|
|
25
|
+
def delete_phone_number(action, params)
|
|
26
|
+
parsed, options = PreludeSDK::VerificationManagementDeletePhoneNumberParams.dump_request(params)
|
|
27
|
+
@client.request(
|
|
28
|
+
method: :delete,
|
|
29
|
+
path: ["v2/verification/management/phone-numbers/%1$s", action],
|
|
30
|
+
body: parsed,
|
|
31
|
+
model: PreludeSDK::Models::VerificationManagementDeletePhoneNumberResponse,
|
|
32
|
+
options: options
|
|
33
|
+
)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
# Retrieve the list of phone numbers in the allow or block list.
|
|
37
|
+
#
|
|
38
|
+
# In order to get access to this endpoint, contact our support team.
|
|
39
|
+
#
|
|
40
|
+
# @overload list_phone_numbers(action, request_options: {})
|
|
41
|
+
#
|
|
42
|
+
# @param action [Symbol, PreludeSDK::Models::VerificationManagementListPhoneNumbersParams::Action] The action type - either "allow" or "block"
|
|
43
|
+
#
|
|
44
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
45
|
+
#
|
|
46
|
+
# @return [PreludeSDK::Models::VerificationManagementListPhoneNumbersResponse]
|
|
47
|
+
#
|
|
48
|
+
# @see PreludeSDK::Models::VerificationManagementListPhoneNumbersParams
|
|
49
|
+
def list_phone_numbers(action, params = {})
|
|
50
|
+
@client.request(
|
|
51
|
+
method: :get,
|
|
52
|
+
path: ["v2/verification/management/phone-numbers/%1$s", action],
|
|
53
|
+
model: PreludeSDK::Models::VerificationManagementListPhoneNumbersResponse,
|
|
54
|
+
options: params[:request_options]
|
|
55
|
+
)
|
|
56
|
+
end
|
|
57
|
+
|
|
58
|
+
# Retrieve sender IDs list.
|
|
59
|
+
#
|
|
60
|
+
# In order to get access to this endpoint, contact our support team.
|
|
61
|
+
#
|
|
62
|
+
# @overload list_sender_ids(request_options: {})
|
|
63
|
+
#
|
|
64
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
65
|
+
#
|
|
66
|
+
# @return [PreludeSDK::Models::VerificationManagementListSenderIDsResponse]
|
|
67
|
+
#
|
|
68
|
+
# @see PreludeSDK::Models::VerificationManagementListSenderIDsParams
|
|
69
|
+
def list_sender_ids(params = {})
|
|
70
|
+
@client.request(
|
|
71
|
+
method: :get,
|
|
72
|
+
path: "v2/verification/management/sender-id",
|
|
73
|
+
model: PreludeSDK::Models::VerificationManagementListSenderIDsResponse,
|
|
74
|
+
options: params[:request_options]
|
|
75
|
+
)
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# Add a phone number to the allow or block list.
|
|
79
|
+
#
|
|
80
|
+
# This operation is idempotent - re-adding the same phone number will not result
|
|
81
|
+
# in duplicate entries or errors. If the phone number already exists in the
|
|
82
|
+
# specified list, the operation will succeed without making any changes.
|
|
83
|
+
#
|
|
84
|
+
# In order to get access to this endpoint, contact our support team.
|
|
85
|
+
#
|
|
86
|
+
# @overload set_phone_number(action, phone_number:, request_options: {})
|
|
87
|
+
#
|
|
88
|
+
# @param action [Symbol, PreludeSDK::Models::VerificationManagementSetPhoneNumberParams::Action] The action type - either "allow" or "block"
|
|
89
|
+
#
|
|
90
|
+
# @param phone_number [String] An E.164 formatted phone number to add to the list.
|
|
91
|
+
#
|
|
92
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
93
|
+
#
|
|
94
|
+
# @return [PreludeSDK::Models::VerificationManagementSetPhoneNumberResponse]
|
|
95
|
+
#
|
|
96
|
+
# @see PreludeSDK::Models::VerificationManagementSetPhoneNumberParams
|
|
97
|
+
def set_phone_number(action, params)
|
|
98
|
+
parsed, options = PreludeSDK::VerificationManagementSetPhoneNumberParams.dump_request(params)
|
|
99
|
+
@client.request(
|
|
100
|
+
method: :post,
|
|
101
|
+
path: ["v2/verification/management/phone-numbers/%1$s", action],
|
|
102
|
+
body: parsed,
|
|
103
|
+
model: PreludeSDK::Models::VerificationManagementSetPhoneNumberResponse,
|
|
104
|
+
options: options
|
|
105
|
+
)
|
|
106
|
+
end
|
|
107
|
+
|
|
108
|
+
# This endpoint allows you to submit a new sender ID for verification purposes.
|
|
109
|
+
#
|
|
110
|
+
# In order to get access to this endpoint, contact our support team.
|
|
111
|
+
#
|
|
112
|
+
# @overload submit_sender_id(sender_id:, request_options: {})
|
|
113
|
+
#
|
|
114
|
+
# @param sender_id [String] The sender ID to add.
|
|
115
|
+
#
|
|
116
|
+
# @param request_options [PreludeSDK::RequestOptions, Hash{Symbol=>Object}, nil]
|
|
117
|
+
#
|
|
118
|
+
# @return [PreludeSDK::Models::VerificationManagementSubmitSenderIDResponse]
|
|
119
|
+
#
|
|
120
|
+
# @see PreludeSDK::Models::VerificationManagementSubmitSenderIDParams
|
|
121
|
+
def submit_sender_id(params)
|
|
122
|
+
parsed, options = PreludeSDK::VerificationManagementSubmitSenderIDParams.dump_request(params)
|
|
123
|
+
@client.request(
|
|
124
|
+
method: :post,
|
|
125
|
+
path: "v2/verification/management/sender-id",
|
|
126
|
+
body: parsed,
|
|
127
|
+
model: PreludeSDK::Models::VerificationManagementSubmitSenderIDResponse,
|
|
128
|
+
options: options
|
|
129
|
+
)
|
|
130
|
+
end
|
|
131
|
+
|
|
132
|
+
# @api private
|
|
133
|
+
#
|
|
134
|
+
# @param client [PreludeSDK::Client]
|
|
135
|
+
def initialize(client:)
|
|
136
|
+
@client = client
|
|
137
|
+
end
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end
|
data/lib/prelude_sdk/version.rb
CHANGED
data/lib/prelude_sdk.rb
CHANGED
|
@@ -3,12 +3,14 @@
|
|
|
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"
|
|
9
10
|
require "etc"
|
|
10
11
|
require "json"
|
|
11
12
|
require "net/http"
|
|
13
|
+
require "openssl"
|
|
12
14
|
require "pathname"
|
|
13
15
|
require "rbconfig"
|
|
14
16
|
require "securerandom"
|
|
@@ -52,12 +54,36 @@ require_relative "prelude_sdk/internal/transport/pooled_net_requester"
|
|
|
52
54
|
require_relative "prelude_sdk/client"
|
|
53
55
|
require_relative "prelude_sdk/models/lookup_lookup_params"
|
|
54
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"
|
|
55
71
|
require_relative "prelude_sdk/models/transactional_send_params"
|
|
56
72
|
require_relative "prelude_sdk/models/transactional_send_response"
|
|
57
73
|
require_relative "prelude_sdk/models/verification_check_params"
|
|
58
74
|
require_relative "prelude_sdk/models/verification_check_response"
|
|
59
75
|
require_relative "prelude_sdk/models/verification_create_params"
|
|
60
76
|
require_relative "prelude_sdk/models/verification_create_response"
|
|
77
|
+
require_relative "prelude_sdk/models/verification_management_delete_phone_number_params"
|
|
78
|
+
require_relative "prelude_sdk/models/verification_management_delete_phone_number_response"
|
|
79
|
+
require_relative "prelude_sdk/models/verification_management_list_phone_numbers_params"
|
|
80
|
+
require_relative "prelude_sdk/models/verification_management_list_phone_numbers_response"
|
|
81
|
+
require_relative "prelude_sdk/models/verification_management_list_sender_ids_params"
|
|
82
|
+
require_relative "prelude_sdk/models/verification_management_list_sender_ids_response"
|
|
83
|
+
require_relative "prelude_sdk/models/verification_management_set_phone_number_params"
|
|
84
|
+
require_relative "prelude_sdk/models/verification_management_set_phone_number_response"
|
|
85
|
+
require_relative "prelude_sdk/models/verification_management_submit_sender_id_params"
|
|
86
|
+
require_relative "prelude_sdk/models/verification_management_submit_sender_id_response"
|
|
61
87
|
require_relative "prelude_sdk/models/watch_predict_params"
|
|
62
88
|
require_relative "prelude_sdk/models/watch_predict_response"
|
|
63
89
|
require_relative "prelude_sdk/models/watch_send_events_params"
|
|
@@ -66,6 +92,8 @@ require_relative "prelude_sdk/models/watch_send_feedbacks_params"
|
|
|
66
92
|
require_relative "prelude_sdk/models/watch_send_feedbacks_response"
|
|
67
93
|
require_relative "prelude_sdk/models"
|
|
68
94
|
require_relative "prelude_sdk/resources/lookup"
|
|
95
|
+
require_relative "prelude_sdk/resources/notify"
|
|
69
96
|
require_relative "prelude_sdk/resources/transactional"
|
|
70
97
|
require_relative "prelude_sdk/resources/verification"
|
|
98
|
+
require_relative "prelude_sdk/resources/verification_management"
|
|
71
99
|
require_relative "prelude_sdk/resources/watch"
|
data/manifest.yaml
CHANGED
data/rbi/prelude_sdk/client.rbi
CHANGED
|
@@ -17,12 +17,18 @@ module PreludeSDK
|
|
|
17
17
|
sig { returns(PreludeSDK::Resources::Lookup) }
|
|
18
18
|
attr_reader :lookup
|
|
19
19
|
|
|
20
|
+
sig { returns(PreludeSDK::Resources::Notify) }
|
|
21
|
+
attr_reader :notify
|
|
22
|
+
|
|
20
23
|
sig { returns(PreludeSDK::Resources::Transactional) }
|
|
21
24
|
attr_reader :transactional
|
|
22
25
|
|
|
23
26
|
sig { returns(PreludeSDK::Resources::Verification) }
|
|
24
27
|
attr_reader :verification
|
|
25
28
|
|
|
29
|
+
sig { returns(PreludeSDK::Resources::VerificationManagement) }
|
|
30
|
+
attr_reader :verification_management
|
|
31
|
+
|
|
26
32
|
sig { returns(PreludeSDK::Resources::Watch) }
|
|
27
33
|
attr_reader :watch
|
|
28
34
|
|
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,
|
|
@@ -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
|
|
@@ -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
|