sentdm 0.23.0 → 0.24.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7de2ae5f93acc9c03c351ef4fc1d6487d9ab880f67fc880889a5e5096067cf53
4
- data.tar.gz: 84fb4f71d2605c3d8dfe03c8547b0b25d754b653365790f3df65c254c194102f
3
+ metadata.gz: 8884fa0a9f6d71c778113cb80657e43caa4727e91ae57b854e1d717ffefa0462
4
+ data.tar.gz: 812c1f43243e1245b0974d67457a4351f23a932ded8ef983ab641e1669204ed0
5
5
  SHA512:
6
- metadata.gz: 759a8365e867009c3efbeaaa8782b0099e5f3dec827d484a2ba1aa0ab669d804483269876c12aa598329a96e871d1e53f6f67fe087fd5ece14ebc3a0e3025b1d
7
- data.tar.gz: f82cea6ba64ea3ed3112e6da04db12febd9101687330f91f8f48171e5a362c4eee9e96a4ad7ea0cc9071afeefa08ff11da985c9f6c5e44a06265698268bdcc8a
6
+ metadata.gz: bcc73e1cabe61550d77d82b27475395c44c3f353da9e65ab393ef7e93b98789c93fe54e01753e1b07e3d1142fd2da686141fb06e78ed1a58745f54b9be2e7d24
7
+ data.tar.gz: ff608802ccd9179c8266345353c006ee7f1797ff1e79cc6a6172b63ddac0e644d73fb9dc0af0ba5531620ea541f31fbecfa976d4007081fa92cd375aef18b536
data/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.24.0 (2026-07-02)
4
+
5
+ Full Changelog: [v0.23.0...v0.24.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.23.0...v0.24.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([d00bd3a](https://github.com/sentdm/sent-dm-ruby/commit/d00bd3a7ab4b86431bde9f69cd95b66cf549316f))
10
+
3
11
  ## 0.23.0 (2026-06-30)
4
12
 
5
13
  Full Changelog: [v0.22.1...v0.23.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.22.1...v0.23.0)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "sentdm", "~> 0.23.0"
20
+ gem "sentdm", "~> 0.24.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -10,8 +10,8 @@ module Sentdm
10
10
  # @!attribute phone_number
11
11
  # Phone number of the contact to create
12
12
  #
13
- # @return [String, nil]
14
- optional :phone_number, String
13
+ # @return [String]
14
+ required :phone_number, String
15
15
 
16
16
  # @!attribute sandbox
17
17
  # Sandbox flag - when true, the operation is simulated without side effects Useful
@@ -30,7 +30,7 @@ module Sentdm
30
30
  # @return [String, nil]
31
31
  optional :x_profile_id, String
32
32
 
33
- # @!method initialize(phone_number: nil, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
33
+ # @!method initialize(phone_number:, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
34
34
  # Some parameter documentations has been truncated, see
35
35
  # {Sentdm::Models::ContactCreateParams} for more details.
36
36
  #
@@ -173,27 +173,27 @@ module Sentdm
173
173
  # @param template_name [String, nil]
174
174
 
175
175
  class Event < Sentdm::Internal::Type::BaseModel
176
- # @!attribute description
177
- #
178
- # @return [String, nil]
179
- optional :description, String, nil?: true
180
-
181
176
  # @!attribute status
182
177
  #
183
- # @return [String, nil]
184
- optional :status, String
178
+ # @return [String]
179
+ required :status, String
185
180
 
186
181
  # @!attribute timestamp
187
182
  #
188
- # @return [Time, nil]
189
- optional :timestamp, Time
183
+ # @return [Time]
184
+ required :timestamp, Time
190
185
 
191
- # @!method initialize(description: nil, status: nil, timestamp: nil)
186
+ # @!attribute description
187
+ #
188
+ # @return [String, nil]
189
+ optional :description, String, nil?: true
190
+
191
+ # @!method initialize(status:, timestamp:, description: nil)
192
192
  # Represents a status change event in a message's lifecycle (v3)
193
193
  #
194
- # @param description [String, nil]
195
194
  # @param status [String]
196
195
  # @param timestamp [Time]
196
+ # @param description [String, nil]
197
197
  end
198
198
 
199
199
  # @see Sentdm::Models::MessageRetrieveStatusResponse::Data#message_body
@@ -4,6 +4,21 @@ module Sentdm
4
4
  module Models
5
5
  module Profiles
6
6
  class TcrCampaignWithUseCases < Sentdm::Models::Profiles::BaseDto
7
+ # @!attribute description
8
+ #
9
+ # @return [String]
10
+ required :description, String
11
+
12
+ # @!attribute name
13
+ #
14
+ # @return [String]
15
+ required :name, String
16
+
17
+ # @!attribute type
18
+ #
19
+ # @return [String]
20
+ required :type, String
21
+
7
22
  # @!attribute billed_date
8
23
  #
9
24
  # @return [Time, nil]
@@ -42,11 +57,6 @@ module Sentdm
42
57
  # @return [Time, nil]
43
58
  optional :dca_elections_completed_at, Time, api_name: :dcaElectionsCompletedAt, nil?: true
44
59
 
45
- # @!attribute description
46
- #
47
- # @return [String, nil]
48
- optional :description, String
49
-
50
60
  # @!attribute has_submission_transaction
51
61
  # True when this campaign already has a billing transaction of reference type
52
62
  # TCR_CAMPAIGN_SUBMISSION (the one-time submission fee was charged). Populated
@@ -77,11 +87,6 @@ module Sentdm
77
87
  # @return [String, nil]
78
88
  optional :message_flow, String, api_name: :messageFlow, nil?: true
79
89
 
80
- # @!attribute name
81
- #
82
- # @return [String, nil]
83
- optional :name, String
84
-
85
90
  # @!attribute optin_keywords
86
91
  #
87
92
  # @return [String, nil]
@@ -155,11 +160,6 @@ module Sentdm
155
160
  # @return [String, nil]
156
161
  optional :terms_and_conditions_link, String, api_name: :termsAndConditionsLink, nil?: true
157
162
 
158
- # @!attribute type
159
- #
160
- # @return [String, nil]
161
- optional :type, String
162
-
163
163
  # @!attribute upstream_cnp_id
164
164
  #
165
165
  # @return [String, nil]
@@ -172,10 +172,16 @@ module Sentdm
172
172
  -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Profiles::TcrCampaignWithUseCases::UseCase] },
173
173
  api_name: :useCases
174
174
 
175
- # @!method initialize(billed_date: nil, brand_id: nil, cost: nil, csp_id: nil, customer_id: nil, dca_elections_complete: nil, dca_elections_completed_at: nil, description: nil, has_submission_transaction: nil, help_keywords: nil, help_message: nil, kyc_submission_form_id: nil, message_flow: nil, name: nil, optin_keywords: nil, optin_message: nil, optout_keywords: nil, optout_message: nil, privacy_policy_link: nil, reseller_id: nil, sharing_status: nil, status: nil, submitted_at: nil, submitted_to_tcr: nil, tcr_campaign_id: nil, tcr_sync_error: nil, telnyx_campaign_id: nil, terms_and_conditions_link: nil, type: nil, upstream_cnp_id: nil, use_cases: nil)
175
+ # @!method initialize(description:, name:, type:, billed_date: nil, brand_id: nil, cost: nil, csp_id: nil, customer_id: nil, dca_elections_complete: nil, dca_elections_completed_at: nil, has_submission_transaction: nil, help_keywords: nil, help_message: nil, kyc_submission_form_id: nil, message_flow: nil, optin_keywords: nil, optin_message: nil, optout_keywords: nil, optout_message: nil, privacy_policy_link: nil, reseller_id: nil, sharing_status: nil, status: nil, submitted_at: nil, submitted_to_tcr: nil, tcr_campaign_id: nil, tcr_sync_error: nil, telnyx_campaign_id: nil, terms_and_conditions_link: nil, upstream_cnp_id: nil, use_cases: nil)
176
176
  # Some parameter documentations has been truncated, see
177
177
  # {Sentdm::Models::Profiles::TcrCampaignWithUseCases} for more details.
178
178
  #
179
+ # @param description [String]
180
+ #
181
+ # @param name [String]
182
+ #
183
+ # @param type [String]
184
+ #
179
185
  # @param billed_date [Time, nil]
180
186
  #
181
187
  # @param brand_id [String, nil]
@@ -190,8 +196,6 @@ module Sentdm
190
196
  #
191
197
  # @param dca_elections_completed_at [Time, nil]
192
198
  #
193
- # @param description [String]
194
- #
195
199
  # @param has_submission_transaction [Boolean] True when this campaign already has a billing transaction of reference type
196
200
  #
197
201
  # @param help_keywords [String, nil]
@@ -202,8 +206,6 @@ module Sentdm
202
206
  #
203
207
  # @param message_flow [String, nil]
204
208
  #
205
- # @param name [String]
206
- #
207
209
  # @param optin_keywords [String, nil]
208
210
  #
209
211
  # @param optin_message [String, nil]
@@ -232,8 +234,6 @@ module Sentdm
232
234
  #
233
235
  # @param terms_and_conditions_link [String, nil]
234
236
  #
235
- # @param type [String]
236
- #
237
237
  # @param upstream_cnp_id [String, nil]
238
238
  #
239
239
  # @param use_cases [Array<Sentdm::Models::Profiles::TcrCampaignWithUseCases::UseCase>]
@@ -261,6 +261,11 @@ module Sentdm
261
261
  end
262
262
 
263
263
  class UseCase < Sentdm::Models::Profiles::BaseDto
264
+ # @!attribute sample_messages
265
+ #
266
+ # @return [Array<String>]
267
+ required :sample_messages, Sentdm::Internal::Type::ArrayOf[String], api_name: :sampleMessages
268
+
264
269
  # @!attribute campaign_id
265
270
  #
266
271
  # @return [String, nil]
@@ -278,16 +283,11 @@ module Sentdm
278
283
  enum: -> { Sentdm::Profiles::MessagingUseCaseUs },
279
284
  api_name: :messagingUseCaseUs
280
285
 
281
- # @!attribute sample_messages
282
- #
283
- # @return [Array<String>, nil]
284
- optional :sample_messages, Sentdm::Internal::Type::ArrayOf[String], api_name: :sampleMessages
285
-
286
- # @!method initialize(campaign_id: nil, customer_id: nil, messaging_use_case_us: nil, sample_messages: nil)
286
+ # @!method initialize(sample_messages:, campaign_id: nil, customer_id: nil, messaging_use_case_us: nil)
287
+ # @param sample_messages [Array<String>]
287
288
  # @param campaign_id [String]
288
289
  # @param customer_id [String]
289
290
  # @param messaging_use_case_us [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs]
290
- # @param sample_messages [Array<String>]
291
291
  end
292
292
  end
293
293
  end
@@ -10,7 +10,7 @@ module Sentdm
10
10
  # Creates a new contact by phone number and associates it with the authenticated
11
11
  # customer.
12
12
  #
13
- # @overload create(phone_number: nil, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
13
+ # @overload create(phone_number:, sandbox: nil, idempotency_key: nil, x_profile_id: nil, request_options: {})
14
14
  #
15
15
  # @param phone_number [String] Body param: Phone number of the contact to create
16
16
  #
@@ -25,7 +25,7 @@ module Sentdm
25
25
  # @return [Sentdm::Models::APIResponseOfContact]
26
26
  #
27
27
  # @see Sentdm::Models::ContactCreateParams
28
- def create(params = {})
28
+ def create(params)
29
29
  parsed, options = Sentdm::ContactCreateParams.dump_request(params)
30
30
  header_params = {idempotency_key: "idempotency-key", x_profile_id: "x-profile-id"}
31
31
  @client.request(
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Sentdm
4
- VERSION = "0.23.0"
4
+ VERSION = "0.24.0"
5
5
  end
@@ -12,11 +12,8 @@ module Sentdm
12
12
  end
13
13
 
14
14
  # Phone number of the contact to create
15
- sig { returns(T.nilable(String)) }
16
- attr_reader :phone_number
17
-
18
- sig { params(phone_number: String).void }
19
- attr_writer :phone_number
15
+ sig { returns(String) }
16
+ attr_accessor :phone_number
20
17
 
21
18
  # Sandbox flag - when true, the operation is simulated without side effects Useful
22
19
  # for testing integrations without actual execution
@@ -49,7 +46,7 @@ module Sentdm
49
46
  end
50
47
  def self.new(
51
48
  # Phone number of the contact to create
52
- phone_number: nil,
49
+ phone_number:,
53
50
  # Sandbox flag - when true, the operation is simulated without side effects Useful
54
51
  # for testing integrations without actual execution
55
52
  sandbox: nil,
@@ -298,38 +298,32 @@ module Sentdm
298
298
  )
299
299
  end
300
300
 
301
- sig { returns(T.nilable(String)) }
302
- attr_accessor :description
303
-
304
- sig { returns(T.nilable(String)) }
305
- attr_reader :status
301
+ sig { returns(String) }
302
+ attr_accessor :status
306
303
 
307
- sig { params(status: String).void }
308
- attr_writer :status
304
+ sig { returns(Time) }
305
+ attr_accessor :timestamp
309
306
 
310
- sig { returns(T.nilable(Time)) }
311
- attr_reader :timestamp
312
-
313
- sig { params(timestamp: Time).void }
314
- attr_writer :timestamp
307
+ sig { returns(T.nilable(String)) }
308
+ attr_accessor :description
315
309
 
316
310
  # Represents a status change event in a message's lifecycle (v3)
317
311
  sig do
318
312
  params(
319
- description: T.nilable(String),
320
313
  status: String,
321
- timestamp: Time
314
+ timestamp: Time,
315
+ description: T.nilable(String)
322
316
  ).returns(T.attached_class)
323
317
  end
324
- def self.new(description: nil, status: nil, timestamp: nil)
318
+ def self.new(status:, timestamp:, description: nil)
325
319
  end
326
320
 
327
321
  sig do
328
322
  override.returns(
329
323
  {
330
- description: T.nilable(String),
331
324
  status: String,
332
- timestamp: Time
325
+ timestamp: Time,
326
+ description: T.nilable(String)
333
327
  }
334
328
  )
335
329
  end
@@ -12,6 +12,15 @@ module Sentdm
12
12
  )
13
13
  end
14
14
 
15
+ sig { returns(String) }
16
+ attr_accessor :description
17
+
18
+ sig { returns(String) }
19
+ attr_accessor :name
20
+
21
+ sig { returns(String) }
22
+ attr_accessor :type
23
+
15
24
  sig { returns(T.nilable(Time)) }
16
25
  attr_accessor :billed_date
17
26
 
@@ -36,12 +45,6 @@ module Sentdm
36
45
  sig { returns(T.nilable(Time)) }
37
46
  attr_accessor :dca_elections_completed_at
38
47
 
39
- sig { returns(T.nilable(String)) }
40
- attr_reader :description
41
-
42
- sig { params(description: String).void }
43
- attr_writer :description
44
-
45
48
  # True when this campaign already has a billing transaction of reference type
46
49
  # TCR_CAMPAIGN_SUBMISSION (the one-time submission fee was charged). Populated
47
50
  # only by the campaigns-list path; defaults false on other responses.
@@ -63,12 +66,6 @@ module Sentdm
63
66
  sig { returns(T.nilable(String)) }
64
67
  attr_accessor :message_flow
65
68
 
66
- sig { returns(T.nilable(String)) }
67
- attr_reader :name
68
-
69
- sig { params(name: String).void }
70
- attr_writer :name
71
-
72
69
  sig { returns(T.nilable(String)) }
73
70
  attr_accessor :optin_keywords
74
71
 
@@ -126,12 +123,6 @@ module Sentdm
126
123
  sig { returns(T.nilable(String)) }
127
124
  attr_accessor :terms_and_conditions_link
128
125
 
129
- sig { returns(T.nilable(String)) }
130
- attr_reader :type
131
-
132
- sig { params(type: String).void }
133
- attr_writer :type
134
-
135
126
  sig { returns(T.nilable(String)) }
136
127
  attr_accessor :upstream_cnp_id
137
128
 
@@ -156,6 +147,9 @@ module Sentdm
156
147
 
157
148
  sig do
158
149
  params(
150
+ description: String,
151
+ name: String,
152
+ type: String,
159
153
  billed_date: T.nilable(Time),
160
154
  brand_id: T.nilable(String),
161
155
  cost: T.nilable(Float),
@@ -163,13 +157,11 @@ module Sentdm
163
157
  customer_id: String,
164
158
  dca_elections_complete: T.nilable(T::Boolean),
165
159
  dca_elections_completed_at: T.nilable(Time),
166
- description: String,
167
160
  has_submission_transaction: T::Boolean,
168
161
  help_keywords: T.nilable(String),
169
162
  help_message: T.nilable(String),
170
163
  kyc_submission_form_id: T.nilable(String),
171
164
  message_flow: T.nilable(String),
172
- name: String,
173
165
  optin_keywords: T.nilable(String),
174
166
  optin_message: T.nilable(String),
175
167
  optout_keywords: T.nilable(String),
@@ -190,7 +182,6 @@ module Sentdm
190
182
  tcr_sync_error: T.nilable(String),
191
183
  telnyx_campaign_id: T.nilable(String),
192
184
  terms_and_conditions_link: T.nilable(String),
193
- type: String,
194
185
  upstream_cnp_id: T.nilable(String),
195
186
  use_cases:
196
187
  T::Array[
@@ -199,6 +190,9 @@ module Sentdm
199
190
  ).returns(T.attached_class)
200
191
  end
201
192
  def self.new(
193
+ description:,
194
+ name:,
195
+ type:,
202
196
  billed_date: nil,
203
197
  brand_id: nil,
204
198
  cost: nil,
@@ -206,7 +200,6 @@ module Sentdm
206
200
  customer_id: nil,
207
201
  dca_elections_complete: nil,
208
202
  dca_elections_completed_at: nil,
209
- description: nil,
210
203
  # True when this campaign already has a billing transaction of reference type
211
204
  # TCR_CAMPAIGN_SUBMISSION (the one-time submission fee was charged). Populated
212
205
  # only by the campaigns-list path; defaults false on other responses.
@@ -215,7 +208,6 @@ module Sentdm
215
208
  help_message: nil,
216
209
  kyc_submission_form_id: nil,
217
210
  message_flow: nil,
218
- name: nil,
219
211
  optin_keywords: nil,
220
212
  optin_message: nil,
221
213
  optout_keywords: nil,
@@ -230,7 +222,6 @@ module Sentdm
230
222
  tcr_sync_error: nil,
231
223
  telnyx_campaign_id: nil,
232
224
  terms_and_conditions_link: nil,
233
- type: nil,
234
225
  upstream_cnp_id: nil,
235
226
  use_cases: nil
236
227
  )
@@ -239,6 +230,9 @@ module Sentdm
239
230
  sig do
240
231
  override.returns(
241
232
  {
233
+ description: String,
234
+ name: String,
235
+ type: String,
242
236
  billed_date: T.nilable(Time),
243
237
  brand_id: T.nilable(String),
244
238
  cost: T.nilable(Float),
@@ -246,13 +240,11 @@ module Sentdm
246
240
  customer_id: String,
247
241
  dca_elections_complete: T.nilable(T::Boolean),
248
242
  dca_elections_completed_at: T.nilable(Time),
249
- description: String,
250
243
  has_submission_transaction: T::Boolean,
251
244
  help_keywords: T.nilable(String),
252
245
  help_message: T.nilable(String),
253
246
  kyc_submission_form_id: T.nilable(String),
254
247
  message_flow: T.nilable(String),
255
- name: String,
256
248
  optin_keywords: T.nilable(String),
257
249
  optin_message: T.nilable(String),
258
250
  optout_keywords: T.nilable(String),
@@ -273,7 +265,6 @@ module Sentdm
273
265
  tcr_sync_error: T.nilable(String),
274
266
  telnyx_campaign_id: T.nilable(String),
275
267
  terms_and_conditions_link: T.nilable(String),
276
- type: String,
277
268
  upstream_cnp_id: T.nilable(String),
278
269
  use_cases:
279
270
  T::Array[Sentdm::Profiles::TcrCampaignWithUseCases::UseCase]
@@ -367,6 +358,9 @@ module Sentdm
367
358
  )
368
359
  end
369
360
 
361
+ sig { returns(T::Array[String]) }
362
+ attr_accessor :sample_messages
363
+
370
364
  sig { returns(T.nilable(String)) }
371
365
  attr_reader :campaign_id
372
366
 
@@ -394,37 +388,31 @@ module Sentdm
394
388
  end
395
389
  attr_writer :messaging_use_case_us
396
390
 
397
- sig { returns(T.nilable(T::Array[String])) }
398
- attr_reader :sample_messages
399
-
400
- sig { params(sample_messages: T::Array[String]).void }
401
- attr_writer :sample_messages
402
-
403
391
  sig do
404
392
  params(
393
+ sample_messages: T::Array[String],
405
394
  campaign_id: String,
406
395
  customer_id: String,
407
396
  messaging_use_case_us:
408
- Sentdm::Profiles::MessagingUseCaseUs::OrSymbol,
409
- sample_messages: T::Array[String]
397
+ Sentdm::Profiles::MessagingUseCaseUs::OrSymbol
410
398
  ).returns(T.attached_class)
411
399
  end
412
400
  def self.new(
401
+ sample_messages:,
413
402
  campaign_id: nil,
414
403
  customer_id: nil,
415
- messaging_use_case_us: nil,
416
- sample_messages: nil
404
+ messaging_use_case_us: nil
417
405
  )
418
406
  end
419
407
 
420
408
  sig do
421
409
  override.returns(
422
410
  {
411
+ sample_messages: T::Array[String],
423
412
  campaign_id: String,
424
413
  customer_id: String,
425
414
  messaging_use_case_us:
426
- Sentdm::Profiles::MessagingUseCaseUs::TaggedSymbol,
427
- sample_messages: T::Array[String]
415
+ Sentdm::Profiles::MessagingUseCaseUs::TaggedSymbol
428
416
  }
429
417
  )
430
418
  end
@@ -17,7 +17,7 @@ module Sentdm
17
17
  end
18
18
  def create(
19
19
  # Body param: Phone number of the contact to create
20
- phone_number: nil,
20
+ phone_number:,
21
21
  # Body param: Sandbox flag - when true, the operation is simulated without side
22
22
  # effects Useful for testing integrations without actual execution
23
23
  sandbox: nil,
@@ -13,9 +13,7 @@ module Sentdm
13
13
  extend Sentdm::Internal::Type::RequestParameters::Converter
14
14
  include Sentdm::Internal::Type::RequestParameters
15
15
 
16
- attr_reader phone_number: String?
17
-
18
- def phone_number=: (String) -> String
16
+ attr_accessor phone_number: String
19
17
 
20
18
  attr_reader sandbox: bool?
21
19
 
@@ -30,7 +28,7 @@ module Sentdm
30
28
  def x_profile_id=: (String) -> String
31
29
 
32
30
  def initialize: (
33
- ?phone_number: String,
31
+ phone_number: String,
34
32
  ?sandbox: bool,
35
33
  ?idempotency_key: String,
36
34
  ?x_profile_id: String,
@@ -151,29 +151,25 @@ module Sentdm
151
151
  template_name: String?
152
152
  }
153
153
 
154
- type event = { description: String?, status: String, timestamp: Time }
154
+ type event = { status: String, timestamp: Time, description: String? }
155
155
 
156
156
  class Event < Sentdm::Internal::Type::BaseModel
157
- attr_accessor description: String?
158
-
159
- attr_reader status: String?
160
-
161
- def status=: (String) -> String
157
+ attr_accessor status: String
162
158
 
163
- attr_reader timestamp: Time?
159
+ attr_accessor timestamp: Time
164
160
 
165
- def timestamp=: (Time) -> Time
161
+ attr_accessor description: String?
166
162
 
167
163
  def initialize: (
168
- ?description: String?,
169
- ?status: String,
170
- ?timestamp: Time
164
+ status: String,
165
+ timestamp: Time,
166
+ ?description: String?
171
167
  ) -> void
172
168
 
173
169
  def to_hash: -> {
174
- description: String?,
175
170
  status: String,
176
- timestamp: Time
171
+ timestamp: Time,
172
+ description: String?
177
173
  }
178
174
  end
179
175
 
@@ -3,6 +3,9 @@ module Sentdm
3
3
  module Profiles
4
4
  type tcr_campaign_with_use_cases =
5
5
  {
6
+ description: String,
7
+ name: String,
8
+ type: String,
6
9
  billed_date: Time?,
7
10
  brand_id: String?,
8
11
  cost: Float?,
@@ -10,13 +13,11 @@ module Sentdm
10
13
  customer_id: String,
11
14
  dca_elections_complete: bool?,
12
15
  dca_elections_completed_at: Time?,
13
- description: String,
14
16
  has_submission_transaction: bool,
15
17
  help_keywords: String?,
16
18
  help_message: String?,
17
19
  kyc_submission_form_id: String?,
18
20
  message_flow: String?,
19
- name: String,
20
21
  optin_keywords: String?,
21
22
  optin_message: String?,
22
23
  optout_keywords: String?,
@@ -31,12 +32,23 @@ module Sentdm
31
32
  tcr_sync_error: String?,
32
33
  telnyx_campaign_id: String?,
33
34
  terms_and_conditions_link: String?,
34
- type: String,
35
35
  upstream_cnp_id: String?,
36
36
  use_cases: ::Array[Sentdm::Profiles::TcrCampaignWithUseCases::UseCase]
37
37
  }
38
38
 
39
39
  class TcrCampaignWithUseCases < Sentdm::Models::Profiles::BaseDto
40
+ def description: -> String
41
+
42
+ def description=: (String _) -> String
43
+
44
+ def name: -> String
45
+
46
+ def name=: (String _) -> String
47
+
48
+ def `type`: -> String
49
+
50
+ def type=: (String _) -> String
51
+
40
52
  def billed_date: -> Time?
41
53
 
42
54
  def billed_date=: (Time? _) -> Time?
@@ -65,10 +77,6 @@ module Sentdm
65
77
 
66
78
  def dca_elections_completed_at=: (Time? _) -> Time?
67
79
 
68
- def description: -> String?
69
-
70
- def description=: (String _) -> String
71
-
72
80
  def has_submission_transaction: -> bool?
73
81
 
74
82
  def has_submission_transaction=: (bool _) -> bool
@@ -89,10 +97,6 @@ module Sentdm
89
97
 
90
98
  def message_flow=: (String? _) -> String?
91
99
 
92
- def name: -> String?
93
-
94
- def name=: (String _) -> String
95
-
96
100
  def optin_keywords: -> String?
97
101
 
98
102
  def optin_keywords=: (String? _) -> String?
@@ -153,10 +157,6 @@ module Sentdm
153
157
 
154
158
  def terms_and_conditions_link=: (String? _) -> String?
155
159
 
156
- def `type`: -> String?
157
-
158
- def type=: (String _) -> String
159
-
160
160
  def upstream_cnp_id: -> String?
161
161
 
162
162
  def upstream_cnp_id=: (String? _) -> String?
@@ -168,6 +168,9 @@ module Sentdm
168
168
  ) -> ::Array[Sentdm::Profiles::TcrCampaignWithUseCases::UseCase]
169
169
 
170
170
  def initialize: (
171
+ description: String,
172
+ name: String,
173
+ type: String,
171
174
  ?billed_date: Time?,
172
175
  ?brand_id: String?,
173
176
  ?cost: Float?,
@@ -175,13 +178,11 @@ module Sentdm
175
178
  ?customer_id: String,
176
179
  ?dca_elections_complete: bool?,
177
180
  ?dca_elections_completed_at: Time?,
178
- ?description: String,
179
181
  ?has_submission_transaction: bool,
180
182
  ?help_keywords: String?,
181
183
  ?help_message: String?,
182
184
  ?kyc_submission_form_id: String?,
183
185
  ?message_flow: String?,
184
- ?name: String,
185
186
  ?optin_keywords: String?,
186
187
  ?optin_message: String?,
187
188
  ?optout_keywords: String?,
@@ -196,12 +197,14 @@ module Sentdm
196
197
  ?tcr_sync_error: String?,
197
198
  ?telnyx_campaign_id: String?,
198
199
  ?terms_and_conditions_link: String?,
199
- ?type: String,
200
200
  ?upstream_cnp_id: String?,
201
201
  ?use_cases: ::Array[Sentdm::Profiles::TcrCampaignWithUseCases::UseCase]
202
202
  ) -> void
203
203
 
204
204
  def to_hash: -> {
205
+ description: String,
206
+ name: String,
207
+ type: String,
205
208
  billed_date: Time?,
206
209
  brand_id: String?,
207
210
  cost: Float?,
@@ -209,13 +212,11 @@ module Sentdm
209
212
  customer_id: String,
210
213
  dca_elections_complete: bool?,
211
214
  dca_elections_completed_at: Time?,
212
- description: String,
213
215
  has_submission_transaction: bool,
214
216
  help_keywords: String?,
215
217
  help_message: String?,
216
218
  kyc_submission_form_id: String?,
217
219
  message_flow: String?,
218
- name: String,
219
220
  optin_keywords: String?,
220
221
  optin_message: String?,
221
222
  optout_keywords: String?,
@@ -230,7 +231,6 @@ module Sentdm
230
231
  tcr_sync_error: String?,
231
232
  telnyx_campaign_id: String?,
232
233
  terms_and_conditions_link: String?,
233
- type: String,
234
234
  upstream_cnp_id: String?,
235
235
  use_cases: ::Array[Sentdm::Profiles::TcrCampaignWithUseCases::UseCase]
236
236
  }
@@ -261,13 +261,17 @@ module Sentdm
261
261
 
262
262
  type use_case =
263
263
  {
264
+ sample_messages: ::Array[String],
264
265
  campaign_id: String,
265
266
  customer_id: String,
266
- messaging_use_case_us: Sentdm::Models::Profiles::messaging_use_case_us,
267
- sample_messages: ::Array[String]
267
+ messaging_use_case_us: Sentdm::Models::Profiles::messaging_use_case_us
268
268
  }
269
269
 
270
270
  class UseCase < Sentdm::Models::Profiles::BaseDto
271
+ def sample_messages: -> ::Array[String]
272
+
273
+ def sample_messages=: (::Array[String] _) -> ::Array[String]
274
+
271
275
  def campaign_id: -> String?
272
276
 
273
277
  def campaign_id=: (String _) -> String
@@ -282,22 +286,18 @@ module Sentdm
282
286
  Sentdm::Models::Profiles::messaging_use_case_us _
283
287
  ) -> Sentdm::Models::Profiles::messaging_use_case_us
284
288
 
285
- def sample_messages: -> ::Array[String]?
286
-
287
- def sample_messages=: (::Array[String] _) -> ::Array[String]
288
-
289
289
  def initialize: (
290
+ sample_messages: ::Array[String],
290
291
  ?campaign_id: String,
291
292
  ?customer_id: String,
292
- ?messaging_use_case_us: Sentdm::Models::Profiles::messaging_use_case_us,
293
- ?sample_messages: ::Array[String]
293
+ ?messaging_use_case_us: Sentdm::Models::Profiles::messaging_use_case_us
294
294
  ) -> void
295
295
 
296
296
  def to_hash: -> {
297
+ sample_messages: ::Array[String],
297
298
  campaign_id: String,
298
299
  customer_id: String,
299
- messaging_use_case_us: Sentdm::Models::Profiles::messaging_use_case_us,
300
- sample_messages: ::Array[String]
300
+ messaging_use_case_us: Sentdm::Models::Profiles::messaging_use_case_us
301
301
  }
302
302
  end
303
303
  end
@@ -2,7 +2,7 @@ module Sentdm
2
2
  module Resources
3
3
  class Contacts
4
4
  def create: (
5
- ?phone_number: String,
5
+ phone_number: String,
6
6
  ?sandbox: bool,
7
7
  ?idempotency_key: String,
8
8
  ?x_profile_id: String,
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sentdm
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.23.0
4
+ version: 0.24.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sent
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2026-06-30 00:00:00.000000000 Z
11
+ date: 2026-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: cgi