prelude-sdk 0.1.0.pre.alpha.2 → 0.1.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 (95) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +74 -0
  3. data/README.md +29 -1
  4. data/lib/prelude_sdk/client.rb +4 -0
  5. data/lib/prelude_sdk/errors.rb +25 -11
  6. data/lib/prelude_sdk/file_part.rb +10 -7
  7. data/lib/prelude_sdk/internal/transport/base_client.rb +29 -11
  8. data/lib/prelude_sdk/internal/transport/pooled_net_requester.rb +41 -42
  9. data/lib/prelude_sdk/internal/type/array_of.rb +1 -0
  10. data/lib/prelude_sdk/internal/type/base_model.rb +4 -9
  11. data/lib/prelude_sdk/internal/type/base_page.rb +1 -1
  12. data/lib/prelude_sdk/internal/type/converter.rb +27 -0
  13. data/lib/prelude_sdk/internal/type/file_input.rb +7 -4
  14. data/lib/prelude_sdk/internal/type/hash_of.rb +1 -0
  15. data/lib/prelude_sdk/internal/type/union.rb +9 -7
  16. data/lib/prelude_sdk/internal/util.rb +9 -8
  17. data/lib/prelude_sdk/models/transactional_send_params.rb +41 -3
  18. data/lib/prelude_sdk/models/transactional_send_response.rb +7 -2
  19. data/lib/prelude_sdk/models/verification_check_response.rb +6 -1
  20. data/lib/prelude_sdk/models/verification_create_params.rb +57 -20
  21. data/lib/prelude_sdk/models/verification_create_response.rb +65 -12
  22. data/lib/prelude_sdk/models/verification_management_delete_phone_number_params.rb +32 -0
  23. data/lib/prelude_sdk/models/verification_management_delete_phone_number_response.rb +17 -0
  24. data/lib/prelude_sdk/models/verification_management_list_phone_numbers_params.rb +24 -0
  25. data/lib/prelude_sdk/models/verification_management_list_phone_numbers_response.rb +37 -0
  26. data/lib/prelude_sdk/models/verification_management_list_sender_ids_params.rb +14 -0
  27. data/lib/prelude_sdk/models/verification_management_list_sender_ids_response.rb +65 -0
  28. data/lib/prelude_sdk/models/verification_management_set_phone_number_params.rb +32 -0
  29. data/lib/prelude_sdk/models/verification_management_set_phone_number_response.rb +17 -0
  30. data/lib/prelude_sdk/models/verification_management_submit_sender_id_params.rb +22 -0
  31. data/lib/prelude_sdk/models/verification_management_submit_sender_id_response.rb +59 -0
  32. data/lib/prelude_sdk/models/watch_predict_params.rb +17 -3
  33. data/lib/prelude_sdk/models/watch_send_feedbacks_params.rb +18 -3
  34. data/lib/prelude_sdk/models.rb +14 -0
  35. data/lib/prelude_sdk/resources/transactional.rb +8 -3
  36. data/lib/prelude_sdk/resources/verification_management.rb +140 -0
  37. data/lib/prelude_sdk/version.rb +1 -1
  38. data/lib/prelude_sdk.rb +12 -0
  39. data/manifest.yaml +1 -0
  40. data/rbi/prelude_sdk/client.rbi +3 -0
  41. data/rbi/prelude_sdk/errors.rbi +31 -4
  42. data/rbi/prelude_sdk/file_part.rbi +1 -1
  43. data/rbi/prelude_sdk/internal/transport/base_client.rbi +10 -6
  44. data/rbi/prelude_sdk/internal/transport/pooled_net_requester.rbi +6 -2
  45. data/rbi/prelude_sdk/internal/type/base_model.rbi +8 -4
  46. data/rbi/prelude_sdk/internal/type/base_page.rbi +1 -1
  47. data/rbi/prelude_sdk/internal/type/converter.rbi +54 -0
  48. data/rbi/prelude_sdk/internal/type/union.rbi +9 -2
  49. data/rbi/prelude_sdk/internal/util.rbi +1 -1
  50. data/rbi/prelude_sdk/models/transactional_send_params.rbi +91 -2
  51. data/rbi/prelude_sdk/models/transactional_send_response.rbi +6 -2
  52. data/rbi/prelude_sdk/models/verification_check_response.rbi +7 -1
  53. data/rbi/prelude_sdk/models/verification_create_params.rbi +107 -23
  54. data/rbi/prelude_sdk/models/verification_create_response.rbi +160 -15
  55. data/rbi/prelude_sdk/models/verification_management_delete_phone_number_params.rbi +77 -0
  56. data/rbi/prelude_sdk/models/verification_management_delete_phone_number_response.rbi +30 -0
  57. data/rbi/prelude_sdk/models/verification_management_list_phone_numbers_params.rbi +64 -0
  58. data/rbi/prelude_sdk/models/verification_management_list_phone_numbers_response.rbi +87 -0
  59. data/rbi/prelude_sdk/models/verification_management_list_sender_ids_params.rbi +30 -0
  60. data/rbi/prelude_sdk/models/verification_management_list_sender_ids_response.rbi +175 -0
  61. data/rbi/prelude_sdk/models/verification_management_set_phone_number_params.rbi +77 -0
  62. data/rbi/prelude_sdk/models/verification_management_set_phone_number_response.rbi +30 -0
  63. data/rbi/prelude_sdk/models/verification_management_submit_sender_id_params.rbi +43 -0
  64. data/rbi/prelude_sdk/models/verification_management_submit_sender_id_response.rbi +117 -0
  65. data/rbi/prelude_sdk/models/watch_predict_params.rbi +19 -2
  66. data/rbi/prelude_sdk/models/watch_send_feedbacks_params.rbi +19 -2
  67. data/rbi/prelude_sdk/models.rbi +15 -0
  68. data/rbi/prelude_sdk/resources/transactional.rbi +17 -2
  69. data/rbi/prelude_sdk/resources/verification_management.rbi +112 -0
  70. data/sig/prelude_sdk/client.rbs +2 -0
  71. data/sig/prelude_sdk/errors.rbs +7 -0
  72. data/sig/prelude_sdk/file_part.rbs +1 -1
  73. data/sig/prelude_sdk/internal/transport/base_client.rbs +3 -1
  74. data/sig/prelude_sdk/internal/transport/pooled_net_requester.rbs +4 -1
  75. data/sig/prelude_sdk/internal/type/converter.rbs +17 -0
  76. data/sig/prelude_sdk/internal/type/union.rbs +2 -2
  77. data/sig/prelude_sdk/models/transactional_send_params.rbs +21 -0
  78. data/sig/prelude_sdk/models/verification_create_params.rbs +35 -16
  79. data/sig/prelude_sdk/models/verification_create_response.rbs +41 -16
  80. data/sig/prelude_sdk/models/verification_management_delete_phone_number_params.rbs +34 -0
  81. data/sig/prelude_sdk/models/verification_management_delete_phone_number_response.rbs +14 -0
  82. data/sig/prelude_sdk/models/verification_management_list_phone_numbers_params.rbs +26 -0
  83. data/sig/prelude_sdk/models/verification_management_list_phone_numbers_response.rbs +32 -0
  84. data/sig/prelude_sdk/models/verification_management_list_sender_ids_params.rbs +15 -0
  85. data/sig/prelude_sdk/models/verification_management_list_sender_ids_response.rbs +64 -0
  86. data/sig/prelude_sdk/models/verification_management_set_phone_number_params.rbs +34 -0
  87. data/sig/prelude_sdk/models/verification_management_set_phone_number_response.rbs +14 -0
  88. data/sig/prelude_sdk/models/verification_management_submit_sender_id_params.rbs +23 -0
  89. data/sig/prelude_sdk/models/verification_management_submit_sender_id_response.rbs +44 -0
  90. data/sig/prelude_sdk/models/watch_predict_params.rbs +7 -0
  91. data/sig/prelude_sdk/models/watch_send_feedbacks_params.rbs +7 -0
  92. data/sig/prelude_sdk/models.rbs +10 -0
  93. data/sig/prelude_sdk/resources/transactional.rbs +1 -0
  94. data/sig/prelude_sdk/resources/verification_management.rbs +33 -0
  95. metadata +37 -4
@@ -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,
@@ -59,10 +64,10 @@ module PreludeSDK
59
64
  end
60
65
 
61
66
  class APIConnectionError < PreludeSDK::Errors::APIError
62
- sig { void }
67
+ sig { returns(NilClass) }
63
68
  attr_accessor :status
64
69
 
65
- sig { void }
70
+ sig { returns(NilClass) }
66
71
  attr_accessor :body
67
72
 
68
73
  # @api private
@@ -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(url:, status:, body:, request:, response:, message: nil)
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(url:, status:, body:, request:, response:, message: nil)
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
 
@@ -27,7 +27,7 @@ module PreludeSDK
27
27
  sig do
28
28
  params(
29
29
  content: T.any(Pathname, StringIO, IO, String),
30
- filename: T.nilable(String),
30
+ filename: T.nilable(T.any(Pathname, String)),
31
31
  content_type: T.nilable(String)
32
32
  ).returns(T.attached_class)
33
33
  end
@@ -85,10 +85,9 @@ module PreludeSDK
85
85
 
86
86
  # @api private
87
87
  sig do
88
- params(
89
- status: Integer,
90
- headers: T.any(T::Hash[String, String], Net::HTTPHeader)
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.any(T::Hash[String, String], Net::HTTPHeader)
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
@@ -216,7 +220,7 @@ module PreludeSDK
216
220
  send_retry_header: T::Boolean
217
221
  ).returns([Integer, Net::HTTPResponse, T::Enumerable[String]])
218
222
  end
219
- private def send_request(
223
+ def send_request(
220
224
  request,
221
225
  redirect_count:,
222
226
  retry_count:,
@@ -26,8 +26,12 @@ module PreludeSDK
26
26
 
27
27
  class << self
28
28
  # @api private
29
- sig { params(url: URI::Generic).returns(Net::HTTP) }
30
- def connect(url)
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
@@ -31,7 +31,7 @@ module PreludeSDK
31
31
  #
32
32
  # Assumes superclass fields are totally defined before fields are accessed /
33
33
  # defined on subclasses.
34
- sig { params(child: T.self_type).void }
34
+ sig { params(child: PreludeSDK::Internal::Type::BaseModel).void }
35
35
  def inherited(child)
36
36
  end
37
37
 
@@ -276,9 +276,13 @@ module PreludeSDK
276
276
 
277
277
  # Create a new instance of a model.
278
278
  sig do
279
- params(data: T.any(T::Hash[Symbol, T.anything], T.self_type)).returns(
280
- T.attached_class
281
- )
279
+ params(
280
+ data:
281
+ T.any(
282
+ T::Hash[Symbol, T.anything],
283
+ PreludeSDK::Internal::Type::BaseModel
284
+ )
285
+ ).returns(T.attached_class)
282
286
  end
283
287
  def self.new(data = {})
284
288
  end
@@ -30,7 +30,7 @@ module PreludeSDK
30
30
  params(
31
31
  client: PreludeSDK::Internal::Transport::BaseClient,
32
32
  req: PreludeSDK::Internal::Transport::BaseClient::RequestComponents,
33
- headers: T.any(T::Hash[String, String], Net::HTTPHeader),
33
+ headers: T::Hash[String, String],
34
34
  page_data: T.anything
35
35
  ).void
36
36
  end
@@ -90,6 +90,60 @@ module PreludeSDK
90
90
  def self.type_info(spec)
91
91
  end
92
92
 
93
+ # @api private
94
+ sig do
95
+ params(
96
+ type_info:
97
+ T.any(
98
+ {
99
+ const:
100
+ T.nilable(
101
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
102
+ ),
103
+ enum:
104
+ T.nilable(
105
+ T.proc.returns(
106
+ PreludeSDK::Internal::Type::Converter::Input
107
+ )
108
+ ),
109
+ union:
110
+ T.nilable(
111
+ T.proc.returns(
112
+ PreludeSDK::Internal::Type::Converter::Input
113
+ )
114
+ )
115
+ },
116
+ T.proc.returns(PreludeSDK::Internal::Type::Converter::Input),
117
+ PreludeSDK::Internal::Type::Converter::Input
118
+ ),
119
+ spec:
120
+ T.any(
121
+ {
122
+ const:
123
+ T.nilable(
124
+ T.any(NilClass, T::Boolean, Integer, Float, Symbol)
125
+ ),
126
+ enum:
127
+ T.nilable(
128
+ T.proc.returns(
129
+ PreludeSDK::Internal::Type::Converter::Input
130
+ )
131
+ ),
132
+ union:
133
+ T.nilable(
134
+ T.proc.returns(
135
+ PreludeSDK::Internal::Type::Converter::Input
136
+ )
137
+ )
138
+ },
139
+ T.proc.returns(PreludeSDK::Internal::Type::Converter::Input),
140
+ PreludeSDK::Internal::Type::Converter::Input
141
+ )
142
+ ).returns(PreludeSDK::Internal::AnyHash)
143
+ end
144
+ def self.meta_info(type_info, spec)
145
+ end
146
+
93
147
  # @api private
94
148
  sig do
95
149
  params(translate_names: T::Boolean).returns(
@@ -16,7 +16,8 @@ module PreludeSDK
16
16
  T::Array[
17
17
  [
18
18
  T.nilable(Symbol),
19
- T.proc.returns(PreludeSDK::Internal::Type::Converter::Input)
19
+ T.proc.returns(PreludeSDK::Internal::Type::Converter::Input),
20
+ PreludeSDK::Internal::AnyHash
20
21
  ]
21
22
  ]
22
23
  )
@@ -25,7 +26,13 @@ module PreludeSDK
25
26
  end
26
27
 
27
28
  # @api private
28
- sig { returns(T::Array[[T.nilable(Symbol), T.anything]]) }
29
+ sig do
30
+ returns(
31
+ T::Array[
32
+ [T.nilable(Symbol), T.anything, PreludeSDK::Internal::AnyHash]
33
+ ]
34
+ )
35
+ end
29
36
  protected def derefed_variants
30
37
  end
31
38
 
@@ -361,7 +361,7 @@ module PreludeSDK
361
361
  # Assumes each chunk in stream has `Encoding::BINARY`.
362
362
  sig do
363
363
  params(
364
- headers: T.any(T::Hash[String, String], Net::HTTPHeader),
364
+ headers: T::Hash[String, String],
365
365
  stream: T::Enumerable[String],
366
366
  suppress_error: T::Boolean
367
367
  ).returns(T.anything)
@@ -29,7 +29,9 @@ module PreludeSDK
29
29
  sig { params(callback_url: String).void }
30
30
  attr_writer :callback_url
31
31
 
32
- # A unique, user-defined identifier that will be included in webhook events.
32
+ # A user-defined identifier to correlate this transactional message with. It is
33
+ # returned in the response and any webhook events that refer to this
34
+ # transactionalmessage.
33
35
  sig { returns(T.nilable(String)) }
34
36
  attr_reader :correlation_id
35
37
 
@@ -60,6 +62,32 @@ module PreludeSDK
60
62
  sig { params(locale: String).void }
61
63
  attr_writer :locale
62
64
 
65
+ # The preferred delivery channel for the message. When specified, the system will
66
+ # prioritize sending via the requested channel if the template is configured for
67
+ # it.
68
+ #
69
+ # If not specified and the template is configured for WhatsApp, the message will
70
+ # be sent via WhatsApp first, with automatic fallback to SMS if WhatsApp delivery
71
+ # is unavailable.
72
+ #
73
+ # Supported channels: `sms`, `rcs`, `whatsapp`.
74
+ sig do
75
+ returns(
76
+ T.nilable(
77
+ PreludeSDK::TransactionalSendParams::PreferredChannel::OrSymbol
78
+ )
79
+ )
80
+ end
81
+ attr_reader :preferred_channel
82
+
83
+ sig do
84
+ params(
85
+ preferred_channel:
86
+ PreludeSDK::TransactionalSendParams::PreferredChannel::OrSymbol
87
+ ).void
88
+ end
89
+ attr_writer :preferred_channel
90
+
63
91
  # The variables to be replaced in the template.
64
92
  sig { returns(T.nilable(T::Hash[Symbol, String])) }
65
93
  attr_reader :variables
@@ -76,6 +104,8 @@ module PreludeSDK
76
104
  expires_at: String,
77
105
  from: String,
78
106
  locale: String,
107
+ preferred_channel:
108
+ PreludeSDK::TransactionalSendParams::PreferredChannel::OrSymbol,
79
109
  variables: T::Hash[Symbol, String],
80
110
  request_options: PreludeSDK::RequestOptions::OrHash
81
111
  ).returns(T.attached_class)
@@ -87,7 +117,9 @@ module PreludeSDK
87
117
  to:,
88
118
  # The callback URL.
89
119
  callback_url: nil,
90
- # A unique, user-defined identifier that will be included in webhook events.
120
+ # A user-defined identifier to correlate this transactional message with. It is
121
+ # returned in the response and any webhook events that refer to this
122
+ # transactionalmessage.
91
123
  correlation_id: nil,
92
124
  # The message expiration date.
93
125
  expires_at: nil,
@@ -98,6 +130,16 @@ module PreludeSDK
98
130
  # code of the phone number. If the language specified doesn't exist, the default
99
131
  # set on the template will be used.
100
132
  locale: nil,
133
+ # The preferred delivery channel for the message. When specified, the system will
134
+ # prioritize sending via the requested channel if the template is configured for
135
+ # it.
136
+ #
137
+ # If not specified and the template is configured for WhatsApp, the message will
138
+ # be sent via WhatsApp first, with automatic fallback to SMS if WhatsApp delivery
139
+ # is unavailable.
140
+ #
141
+ # Supported channels: `sms`, `rcs`, `whatsapp`.
142
+ preferred_channel: nil,
101
143
  # The variables to be replaced in the template.
102
144
  variables: nil,
103
145
  request_options: {}
@@ -114,6 +156,8 @@ module PreludeSDK
114
156
  expires_at: String,
115
157
  from: String,
116
158
  locale: String,
159
+ preferred_channel:
160
+ PreludeSDK::TransactionalSendParams::PreferredChannel::OrSymbol,
117
161
  variables: T::Hash[Symbol, String],
118
162
  request_options: PreludeSDK::RequestOptions
119
163
  }
@@ -121,6 +165,51 @@ module PreludeSDK
121
165
  end
122
166
  def to_hash
123
167
  end
168
+
169
+ # The preferred delivery channel for the message. When specified, the system will
170
+ # prioritize sending via the requested channel if the template is configured for
171
+ # it.
172
+ #
173
+ # If not specified and the template is configured for WhatsApp, the message will
174
+ # be sent via WhatsApp first, with automatic fallback to SMS if WhatsApp delivery
175
+ # is unavailable.
176
+ #
177
+ # Supported channels: `sms`, `rcs`, `whatsapp`.
178
+ module PreferredChannel
179
+ extend PreludeSDK::Internal::Type::Enum
180
+
181
+ TaggedSymbol =
182
+ T.type_alias do
183
+ T.all(Symbol, PreludeSDK::TransactionalSendParams::PreferredChannel)
184
+ end
185
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
186
+
187
+ SMS =
188
+ T.let(
189
+ :sms,
190
+ PreludeSDK::TransactionalSendParams::PreferredChannel::TaggedSymbol
191
+ )
192
+ RCS =
193
+ T.let(
194
+ :rcs,
195
+ PreludeSDK::TransactionalSendParams::PreferredChannel::TaggedSymbol
196
+ )
197
+ WHATSAPP =
198
+ T.let(
199
+ :whatsapp,
200
+ PreludeSDK::TransactionalSendParams::PreferredChannel::TaggedSymbol
201
+ )
202
+
203
+ sig do
204
+ override.returns(
205
+ T::Array[
206
+ PreludeSDK::TransactionalSendParams::PreferredChannel::TaggedSymbol
207
+ ]
208
+ )
209
+ end
210
+ def self.values
211
+ end
212
+ end
124
213
  end
125
214
  end
126
215
  end
@@ -42,7 +42,9 @@ module PreludeSDK
42
42
  sig { params(callback_url: String).void }
43
43
  attr_writer :callback_url
44
44
 
45
- # A unique, user-defined identifier that will be included in webhook events.
45
+ # A user-defined identifier to correlate this transactional message with. It is
46
+ # returned in the response and any webhook events that refer to this transactional
47
+ # message.
46
48
  sig { returns(T.nilable(String)) }
47
49
  attr_reader :correlation_id
48
50
 
@@ -84,7 +86,9 @@ module PreludeSDK
84
86
  variables:,
85
87
  # The callback URL.
86
88
  callback_url: nil,
87
- # A unique, user-defined identifier that will be included in webhook events.
89
+ # A user-defined identifier to correlate this transactional message with. It is
90
+ # returned in the response and any webhook events that refer to this transactional
91
+ # message.
88
92
  correlation_id: nil,
89
93
  # The Sender ID.
90
94
  from: nil
@@ -129,6 +129,8 @@ module PreludeSDK
129
129
  )
130
130
  end
131
131
 
132
+ # A user-defined identifier to correlate this verification with. It is returned in
133
+ # the response and any webhook events that refer to this verification.
132
134
  sig { returns(T.nilable(String)) }
133
135
  attr_reader :correlation_id
134
136
 
@@ -137,7 +139,11 @@ module PreludeSDK
137
139
 
138
140
  # The metadata for this verification.
139
141
  sig { params(correlation_id: String).returns(T.attached_class) }
140
- def self.new(correlation_id: nil)
142
+ def self.new(
143
+ # A user-defined identifier to correlate this verification with. It is returned in
144
+ # the response and any webhook events that refer to this verification.
145
+ correlation_id: nil
146
+ )
141
147
  end
142
148
 
143
149
  sig { override.returns({ correlation_id: String }) }