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.
Files changed (102) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +61 -0
  3. data/README.md +9 -9
  4. data/lib/prelude_sdk/client.rb +11 -0
  5. data/lib/prelude_sdk/internal/transport/pooled_net_requester.rb +13 -11
  6. data/lib/prelude_sdk/internal/util.rb +39 -3
  7. data/lib/prelude_sdk/models/lookup_lookup_params.rb +9 -1
  8. data/lib/prelude_sdk/models/notify_get_subscription_config_params.rb +20 -0
  9. data/lib/prelude_sdk/models/notify_get_subscription_config_response.rb +120 -0
  10. data/lib/prelude_sdk/models/notify_get_subscription_phone_number_params.rb +26 -0
  11. data/lib/prelude_sdk/models/notify_get_subscription_phone_number_response.rb +104 -0
  12. data/lib/prelude_sdk/models/notify_list_subscription_configs_params.rb +30 -0
  13. data/lib/prelude_sdk/models/notify_list_subscription_configs_response.rb +144 -0
  14. data/lib/prelude_sdk/models/notify_list_subscription_phone_number_events_params.rb +44 -0
  15. data/lib/prelude_sdk/models/notify_list_subscription_phone_number_events_response.rb +132 -0
  16. data/lib/prelude_sdk/models/notify_list_subscription_phone_numbers_params.rb +56 -0
  17. data/lib/prelude_sdk/models/notify_list_subscription_phone_numbers_response.rb +132 -0
  18. data/lib/prelude_sdk/models/notify_send_batch_params.rb +141 -0
  19. data/lib/prelude_sdk/models/notify_send_batch_response.rb +239 -0
  20. data/lib/prelude_sdk/models/notify_send_params.rb +149 -0
  21. data/lib/prelude_sdk/models/notify_send_response.rb +129 -0
  22. data/lib/prelude_sdk/models/transactional_send_params.rb +32 -1
  23. data/lib/prelude_sdk/models/verification_create_params.rb +35 -48
  24. data/lib/prelude_sdk/models/verification_create_response.rb +15 -0
  25. data/lib/prelude_sdk/models/verification_management_delete_phone_number_params.rb +8 -1
  26. data/lib/prelude_sdk/models/verification_management_list_phone_numbers_params.rb +7 -1
  27. data/lib/prelude_sdk/models/verification_management_set_phone_number_params.rb +8 -1
  28. data/lib/prelude_sdk/models/watch_predict_params.rb +16 -12
  29. data/lib/prelude_sdk/models/watch_predict_response.rb +51 -1
  30. data/lib/prelude_sdk/models/watch_send_feedbacks_params.rb +1 -128
  31. data/lib/prelude_sdk/models.rb +15 -0
  32. data/lib/prelude_sdk/resources/lookup.rb +4 -1
  33. data/lib/prelude_sdk/resources/notify.rb +255 -0
  34. data/lib/prelude_sdk/resources/transactional.rb +4 -1
  35. data/lib/prelude_sdk/resources/verification.rb +1 -0
  36. data/lib/prelude_sdk/resources/verification_management.rb +1 -0
  37. data/lib/prelude_sdk/resources/watch.rb +1 -0
  38. data/lib/prelude_sdk/version.rb +1 -1
  39. data/lib/prelude_sdk.rb +16 -0
  40. data/manifest.yaml +1 -0
  41. data/rbi/prelude_sdk/client.rbi +10 -0
  42. data/rbi/prelude_sdk/internal/util.rbi +21 -1
  43. data/rbi/prelude_sdk/models/lookup_lookup_params.rbi +8 -0
  44. data/rbi/prelude_sdk/models/notify_get_subscription_config_params.rbi +38 -0
  45. data/rbi/prelude_sdk/models/notify_get_subscription_config_response.rbi +224 -0
  46. data/rbi/prelude_sdk/models/notify_get_subscription_phone_number_params.rbi +46 -0
  47. data/rbi/prelude_sdk/models/notify_get_subscription_phone_number_response.rbi +199 -0
  48. data/rbi/prelude_sdk/models/notify_list_subscription_configs_params.rbi +60 -0
  49. data/rbi/prelude_sdk/models/notify_list_subscription_configs_response.rbi +286 -0
  50. data/rbi/prelude_sdk/models/notify_list_subscription_phone_number_events_params.rbi +72 -0
  51. data/rbi/prelude_sdk/models/notify_list_subscription_phone_number_events_response.rbi +259 -0
  52. data/rbi/prelude_sdk/models/notify_list_subscription_phone_numbers_params.rbi +125 -0
  53. data/rbi/prelude_sdk/models/notify_list_subscription_phone_numbers_response.rbi +259 -0
  54. data/rbi/prelude_sdk/models/notify_send_batch_params.rbi +241 -0
  55. data/rbi/prelude_sdk/models/notify_send_batch_response.rbi +440 -0
  56. data/rbi/prelude_sdk/models/notify_send_params.rbi +249 -0
  57. data/rbi/prelude_sdk/models/notify_send_response.rbi +203 -0
  58. data/rbi/prelude_sdk/models/transactional_send_params.rbi +50 -0
  59. data/rbi/prelude_sdk/models/verification_create_params.rbi +53 -93
  60. data/rbi/prelude_sdk/models/verification_create_response.rbi +26 -0
  61. data/rbi/prelude_sdk/models/verification_management_delete_phone_number_params.rbi +16 -1
  62. data/rbi/prelude_sdk/models/verification_management_list_phone_numbers_params.rbi +21 -4
  63. data/rbi/prelude_sdk/models/verification_management_set_phone_number_params.rbi +16 -1
  64. data/rbi/prelude_sdk/models/watch_predict_params.rbi +24 -16
  65. data/rbi/prelude_sdk/models/watch_predict_response.rbi +152 -3
  66. data/rbi/prelude_sdk/models/watch_send_feedbacks_params.rbi +3 -243
  67. data/rbi/prelude_sdk/models.rbi +19 -0
  68. data/rbi/prelude_sdk/resources/lookup.rbi +2 -0
  69. data/rbi/prelude_sdk/resources/notify.rbi +227 -0
  70. data/rbi/prelude_sdk/resources/transactional.rbi +5 -0
  71. data/rbi/prelude_sdk/resources/verification.rbi +1 -0
  72. data/rbi/prelude_sdk/resources/verification_management.rbi +1 -0
  73. data/rbi/prelude_sdk/resources/watch.rbi +1 -0
  74. data/sig/prelude_sdk/client.rbs +2 -0
  75. data/sig/prelude_sdk/internal/util.rbs +10 -0
  76. data/sig/prelude_sdk/models/lookup_lookup_params.rbs +8 -1
  77. data/sig/prelude_sdk/models/notify_get_subscription_config_params.rbs +23 -0
  78. data/sig/prelude_sdk/models/notify_get_subscription_config_response.rbs +95 -0
  79. data/sig/prelude_sdk/models/notify_get_subscription_phone_number_params.rbs +28 -0
  80. data/sig/prelude_sdk/models/notify_get_subscription_phone_number_response.rbs +71 -0
  81. data/sig/prelude_sdk/models/notify_list_subscription_configs_params.rbs +32 -0
  82. data/sig/prelude_sdk/models/notify_list_subscription_configs_response.rbs +119 -0
  83. data/sig/prelude_sdk/models/notify_list_subscription_phone_number_events_params.rbs +45 -0
  84. data/sig/prelude_sdk/models/notify_list_subscription_phone_number_events_response.rbs +95 -0
  85. data/sig/prelude_sdk/models/notify_list_subscription_phone_numbers_params.rbs +60 -0
  86. data/sig/prelude_sdk/models/notify_list_subscription_phone_numbers_response.rbs +95 -0
  87. data/sig/prelude_sdk/models/notify_send_batch_params.rbs +121 -0
  88. data/sig/prelude_sdk/models/notify_send_batch_response.rbs +214 -0
  89. data/sig/prelude_sdk/models/notify_send_params.rbs +121 -0
  90. data/sig/prelude_sdk/models/notify_send_response.rbs +100 -0
  91. data/sig/prelude_sdk/models/transactional_send_params.rbs +21 -0
  92. data/sig/prelude_sdk/models/verification_create_params.rbs +2 -21
  93. data/sig/prelude_sdk/models/verification_create_response.rbs +2 -1
  94. data/sig/prelude_sdk/models/verification_management_delete_phone_number_params.rbs +9 -1
  95. data/sig/prelude_sdk/models/verification_management_list_phone_numbers_params.rbs +14 -3
  96. data/sig/prelude_sdk/models/verification_management_set_phone_number_params.rbs +9 -1
  97. data/sig/prelude_sdk/models/watch_predict_response.rbs +41 -3
  98. data/sig/prelude_sdk/models/watch_send_feedbacks_params.rbs +3 -110
  99. data/sig/prelude_sdk/models.rbs +14 -0
  100. data/sig/prelude_sdk/resources/notify.rbs +70 -0
  101. data/sig/prelude_sdk/resources/transactional.rbs +1 -0
  102. 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.
@@ -2,6 +2,7 @@
2
2
 
3
3
  module PreludeSDK
4
4
  module Resources
5
+ # Verify phone numbers.
5
6
  class Verification
6
7
  # Some parameter documentations has been truncated, see
7
8
  # {PreludeSDK::Models::VerificationCreateParams} for more details.
@@ -2,6 +2,7 @@
2
2
 
3
3
  module PreludeSDK
4
4
  module Resources
5
+ # Verify phone numbers.
5
6
  class VerificationManagement
6
7
  # Remove a phone number from the allow or block list.
7
8
  #
@@ -2,6 +2,7 @@
2
2
 
3
3
  module PreludeSDK
4
4
  module Resources
5
+ # Evaluate email addresses and phone numbers for trustworthiness.
5
6
  class Watch
6
7
  # Some parameter documentations has been truncated, see
7
8
  # {PreludeSDK::Models::WatchPredictParams} for more details.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module PreludeSDK
4
- VERSION = "0.1.0"
4
+ VERSION = "0.3.0"
5
5
  end
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
@@ -1,5 +1,6 @@
1
1
  dependencies:
2
2
  - English
3
+ - base64
3
4
  - cgi
4
5
  - date
5
6
  - erb
@@ -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/(?:vnd(?:\.[^.]+)*\+)?json(?!l)}, Regexp)
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