sentdm 0.25.0 → 0.26.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 (110) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +12 -0
  3. data/README.md +7 -11
  4. data/lib/sentdm/client.rb +4 -0
  5. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
  6. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +43 -0
  7. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_authentication_config.rb → authentication_config.rb} +2 -3
  8. data/lib/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rb → brand_business_info.rb} +5 -7
  9. data/lib/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rb → brand_compliance_info.rb} +2 -10
  10. data/lib/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rb → brand_contact_info.rb} +1 -1
  11. data/lib/sentdm/models/brands_brand_data.rb +9 -13
  12. data/lib/sentdm/models/contact_message_summary.rb +76 -0
  13. data/lib/sentdm/models/contact_retrieve_message_summary_params.rb +26 -0
  14. data/lib/sentdm/models/conversation_list_messages_params.rb +38 -0
  15. data/lib/sentdm/models/conversation_list_params.rb +32 -0
  16. data/lib/sentdm/models/conversation_messages_list.rb +245 -0
  17. data/lib/sentdm/models/message_send_response.rb +2 -6
  18. data/lib/sentdm/models/profile_detail.rb +3 -11
  19. data/lib/sentdm/models/profile_update_params.rb +2 -2
  20. data/lib/sentdm/models/profiles/{api_response_of_tcr_campaign_with_use_cases.rb → api_response_of_brand_campaign.rb} +5 -5
  21. data/lib/sentdm/models/profiles/{campaign_list_response.rb → api_response_of_list_of_brand_campaign.rb} +4 -6
  22. data/lib/sentdm/models/profiles/{tcr_campaign_with_use_cases.rb → brand_campaign.rb} +63 -111
  23. data/lib/sentdm/models/profiles/campaign_data.rb +13 -6
  24. data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
  25. data/lib/sentdm/models/profiles/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb → campaign_use_case_data.rb} +1 -1
  26. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_body.rb → template_body.rb} +2 -3
  27. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button.rb → template_button.rb} +5 -6
  28. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button_props.rb → template_button_props.rb} +2 -3
  29. data/lib/sentdm/models/template_definition.rb +15 -19
  30. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_footer.rb → template_footer.rb} +1 -1
  31. data/lib/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_header.rb → template_header.rb} +2 -3
  32. data/lib/sentdm/models.rb +32 -27
  33. data/lib/sentdm/resources/contacts.rb +30 -0
  34. data/lib/sentdm/resources/conversations.rb +82 -0
  35. data/lib/sentdm/resources/messages.rb +4 -1
  36. data/lib/sentdm/resources/profiles/campaigns.rb +6 -6
  37. data/lib/sentdm/resources/profiles.rb +31 -19
  38. data/lib/sentdm/version.rb +1 -1
  39. data/lib/sentdm.rb +22 -14
  40. data/rbi/sentdm/client.rbi +3 -0
  41. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
  42. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
  43. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_authentication_config.rbi → authentication_config.rbi} +2 -5
  44. data/rbi/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbi → brand_business_info.rbi} +12 -30
  45. data/rbi/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbi → brand_compliance_info.rbi} +2 -13
  46. data/rbi/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbi → brand_contact_info.rbi} +2 -5
  47. data/rbi/sentdm/models/brands_brand_data.rbi +12 -51
  48. data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
  49. data/rbi/sentdm/models/contact_retrieve_message_summary_params.rbi +49 -0
  50. data/rbi/sentdm/models/conversation_list_messages_params.rbi +65 -0
  51. data/rbi/sentdm/models/conversation_list_params.rbi +51 -0
  52. data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
  53. data/rbi/sentdm/models/message_send_response.rbi +2 -4
  54. data/rbi/sentdm/models/profile_detail.rbi +2 -10
  55. data/rbi/sentdm/models/profile_update_params.rbi +2 -2
  56. data/rbi/sentdm/models/profiles/{api_response_of_tcr_campaign_with_use_cases.rbi → api_response_of_brand_campaign.rbi} +8 -10
  57. data/rbi/sentdm/models/profiles/{campaign_list_response.rbi → api_response_of_list_of_brand_campaign.rbi} +5 -13
  58. data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
  59. data/rbi/sentdm/models/profiles/campaign_data.rbi +16 -18
  60. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
  61. data/rbi/sentdm/models/profiles/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi → campaign_use_case_data.rbi} +2 -2
  62. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_body.rbi → template_body.rbi} +2 -7
  63. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button.rbi → template_button.rbi} +6 -22
  64. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button_props.rbi → template_button_props.rbi} +2 -5
  65. data/rbi/sentdm/models/template_definition.rbi +19 -87
  66. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_footer.rbi → template_footer.rbi} +2 -5
  67. data/rbi/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_header.rbi → template_header.rbi} +2 -5
  68. data/rbi/sentdm/models.rbi +36 -27
  69. data/rbi/sentdm/resources/contacts.rbi +20 -0
  70. data/rbi/sentdm/resources/conversations.rbi +61 -0
  71. data/rbi/sentdm/resources/messages.rbi +4 -1
  72. data/rbi/sentdm/resources/profiles/campaigns.rbi +3 -3
  73. data/rbi/sentdm/resources/profiles.rbi +29 -18
  74. data/sig/sentdm/client.rbs +2 -0
  75. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
  76. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
  77. data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_authentication_config.rbs → authentication_config.rbs} +2 -2
  78. data/sig/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbs → brand_business_info.rbs} +7 -7
  79. data/sig/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbs → brand_compliance_info.rbs} +2 -7
  80. data/sig/sentdm/models/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbs → brand_contact_info.rbs} +2 -2
  81. data/sig/sentdm/models/brands_brand_data.rbs +12 -12
  82. data/sig/sentdm/models/contact_message_summary.rbs +84 -0
  83. data/sig/sentdm/models/contact_retrieve_message_summary_params.rbs +30 -0
  84. data/sig/sentdm/models/conversation_list_messages_params.rbs +38 -0
  85. data/sig/sentdm/models/conversation_list_params.rbs +34 -0
  86. data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
  87. data/sig/sentdm/models/profile_detail.rbs +0 -5
  88. data/sig/sentdm/models/profiles/{campaign_list_response.rbs → api_response_of_brand_campaign.rbs} +6 -6
  89. data/sig/sentdm/models/profiles/{api_response_of_tcr_campaign_with_use_cases.rbs → api_response_of_list_of_brand_campaign.rbs} +6 -6
  90. data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
  91. data/sig/sentdm/models/profiles/campaign_data.rbs +12 -7
  92. data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
  93. data/sig/sentdm/models/profiles/{sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs → campaign_use_case_data.rbs} +2 -2
  94. data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_body.rbs → template_body.rbs} +2 -2
  95. data/sig/sentdm/models/template_button.rbs +28 -0
  96. data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_button_props.rbs → template_button_props.rbs} +2 -2
  97. data/sig/sentdm/models/template_definition.rbs +20 -20
  98. data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_footer.rbs → template_footer.rbs} +2 -2
  99. data/sig/sentdm/models/{sent_dm_services_common_contracts_poc_os_template_header.rbs → template_header.rbs} +2 -2
  100. data/sig/sentdm/models.rbs +32 -18
  101. data/sig/sentdm/resources/contacts.rbs +6 -0
  102. data/sig/sentdm/resources/conversations.rbs +22 -0
  103. data/sig/sentdm/resources/profiles/campaigns.rbs +3 -3
  104. metadata +68 -44
  105. data/lib/sentdm/models/profiles/base_dto.rb +0 -32
  106. data/rbi/sentdm/models/profiles/base_dto.rbi +0 -53
  107. data/rbi/sentdm/models/profiles/tcr_campaign_with_use_cases.rbi +0 -425
  108. data/sig/sentdm/models/profiles/base_dto.rbs +0 -27
  109. data/sig/sentdm/models/profiles/tcr_campaign_with_use_cases.rbs +0 -306
  110. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +0 -32
@@ -0,0 +1,419 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ConversationMessagesList < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::ConversationMessagesList, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # The messages on this page, most recent first.
12
+ sig do
13
+ returns(T.nilable(T::Array[Sentdm::ConversationMessagesList::Message]))
14
+ end
15
+ attr_reader :messages
16
+
17
+ sig do
18
+ params(
19
+ messages: T::Array[Sentdm::ConversationMessagesList::Message::OrHash]
20
+ ).void
21
+ end
22
+ attr_writer :messages
23
+
24
+ # Pagination metadata for list responses
25
+ sig { returns(T.nilable(Sentdm::PaginationMeta)) }
26
+ attr_reader :pagination
27
+
28
+ sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
29
+ attr_writer :pagination
30
+
31
+ # A paginated list of messages — used by both conversation read endpoints.
32
+ sig do
33
+ params(
34
+ messages: T::Array[Sentdm::ConversationMessagesList::Message::OrHash],
35
+ pagination: Sentdm::PaginationMeta::OrHash
36
+ ).returns(T.attached_class)
37
+ end
38
+ def self.new(
39
+ # The messages on this page, most recent first.
40
+ messages: nil,
41
+ # Pagination metadata for list responses
42
+ pagination: nil
43
+ )
44
+ end
45
+
46
+ sig do
47
+ override.returns(
48
+ {
49
+ messages: T::Array[Sentdm::ConversationMessagesList::Message],
50
+ pagination: Sentdm::PaginationMeta
51
+ }
52
+ )
53
+ end
54
+ def to_hash
55
+ end
56
+
57
+ class Message < Sentdm::Internal::Type::BaseModel
58
+ OrHash =
59
+ T.type_alias do
60
+ T.any(
61
+ Sentdm::ConversationMessagesList::Message,
62
+ Sentdm::Internal::AnyHash
63
+ )
64
+ end
65
+
66
+ sig { returns(T.nilable(String)) }
67
+ attr_reader :id
68
+
69
+ sig { params(id: String).void }
70
+ attr_writer :id
71
+
72
+ sig { returns(T.nilable(Float)) }
73
+ attr_accessor :active_contact_price
74
+
75
+ sig { returns(T.nilable(String)) }
76
+ attr_reader :channel
77
+
78
+ sig { params(channel: String).void }
79
+ attr_writer :channel
80
+
81
+ sig { returns(T.nilable(String)) }
82
+ attr_reader :contact_id
83
+
84
+ sig { params(contact_id: String).void }
85
+ attr_writer :contact_id
86
+
87
+ sig { returns(T.nilable(Time)) }
88
+ attr_reader :created_at
89
+
90
+ sig { params(created_at: Time).void }
91
+ attr_writer :created_at
92
+
93
+ sig { returns(T.nilable(String)) }
94
+ attr_reader :customer_id
95
+
96
+ sig { params(customer_id: String).void }
97
+ attr_writer :customer_id
98
+
99
+ sig { returns(T.nilable(String)) }
100
+ attr_reader :direction
101
+
102
+ sig { params(direction: String).void }
103
+ attr_writer :direction
104
+
105
+ sig do
106
+ returns(
107
+ T.nilable(
108
+ T::Array[Sentdm::ConversationMessagesList::Message::Event]
109
+ )
110
+ )
111
+ end
112
+ attr_accessor :events
113
+
114
+ # Structured message body format for database storage. Preserves channel-specific
115
+ # components (header, body, footer, buttons).
116
+ sig do
117
+ returns(
118
+ T.nilable(Sentdm::ConversationMessagesList::Message::MessageBody)
119
+ )
120
+ end
121
+ attr_reader :message_body
122
+
123
+ sig do
124
+ params(
125
+ message_body:
126
+ T.nilable(
127
+ Sentdm::ConversationMessagesList::Message::MessageBody::OrHash
128
+ )
129
+ ).void
130
+ end
131
+ attr_writer :message_body
132
+
133
+ sig { returns(T.nilable(String)) }
134
+ attr_reader :phone
135
+
136
+ sig { params(phone: String).void }
137
+ attr_writer :phone
138
+
139
+ sig { returns(T.nilable(String)) }
140
+ attr_reader :phone_international
141
+
142
+ sig { params(phone_international: String).void }
143
+ attr_writer :phone_international
144
+
145
+ sig { returns(T.nilable(Float)) }
146
+ attr_accessor :price
147
+
148
+ sig { returns(T.nilable(String)) }
149
+ attr_reader :region_code
150
+
151
+ sig { params(region_code: String).void }
152
+ attr_writer :region_code
153
+
154
+ sig { returns(T.nilable(String)) }
155
+ attr_reader :status
156
+
157
+ sig { params(status: String).void }
158
+ attr_writer :status
159
+
160
+ sig { returns(T.nilable(String)) }
161
+ attr_accessor :template_category
162
+
163
+ sig { returns(T.nilable(String)) }
164
+ attr_accessor :template_id
165
+
166
+ sig { returns(T.nilable(String)) }
167
+ attr_accessor :template_name
168
+
169
+ # Message response for v3 API — same shape as v2 with snake_case JSON conventions
170
+ sig do
171
+ params(
172
+ id: String,
173
+ active_contact_price: T.nilable(Float),
174
+ channel: String,
175
+ contact_id: String,
176
+ created_at: Time,
177
+ customer_id: String,
178
+ direction: String,
179
+ events:
180
+ T.nilable(
181
+ T::Array[
182
+ Sentdm::ConversationMessagesList::Message::Event::OrHash
183
+ ]
184
+ ),
185
+ message_body:
186
+ T.nilable(
187
+ Sentdm::ConversationMessagesList::Message::MessageBody::OrHash
188
+ ),
189
+ phone: String,
190
+ phone_international: String,
191
+ price: T.nilable(Float),
192
+ region_code: String,
193
+ status: String,
194
+ template_category: T.nilable(String),
195
+ template_id: T.nilable(String),
196
+ template_name: T.nilable(String)
197
+ ).returns(T.attached_class)
198
+ end
199
+ def self.new(
200
+ id: nil,
201
+ active_contact_price: nil,
202
+ channel: nil,
203
+ contact_id: nil,
204
+ created_at: nil,
205
+ customer_id: nil,
206
+ direction: nil,
207
+ events: nil,
208
+ # Structured message body format for database storage. Preserves channel-specific
209
+ # components (header, body, footer, buttons).
210
+ message_body: nil,
211
+ phone: nil,
212
+ phone_international: nil,
213
+ price: nil,
214
+ region_code: nil,
215
+ status: nil,
216
+ template_category: nil,
217
+ template_id: nil,
218
+ template_name: nil
219
+ )
220
+ end
221
+
222
+ sig do
223
+ override.returns(
224
+ {
225
+ id: String,
226
+ active_contact_price: T.nilable(Float),
227
+ channel: String,
228
+ contact_id: String,
229
+ created_at: Time,
230
+ customer_id: String,
231
+ direction: String,
232
+ events:
233
+ T.nilable(
234
+ T::Array[Sentdm::ConversationMessagesList::Message::Event]
235
+ ),
236
+ message_body:
237
+ T.nilable(
238
+ Sentdm::ConversationMessagesList::Message::MessageBody
239
+ ),
240
+ phone: String,
241
+ phone_international: String,
242
+ price: T.nilable(Float),
243
+ region_code: String,
244
+ status: String,
245
+ template_category: T.nilable(String),
246
+ template_id: T.nilable(String),
247
+ template_name: T.nilable(String)
248
+ }
249
+ )
250
+ end
251
+ def to_hash
252
+ end
253
+
254
+ class Event < Sentdm::Internal::Type::BaseModel
255
+ OrHash =
256
+ T.type_alias do
257
+ T.any(
258
+ Sentdm::ConversationMessagesList::Message::Event,
259
+ Sentdm::Internal::AnyHash
260
+ )
261
+ end
262
+
263
+ sig { returns(String) }
264
+ attr_accessor :status
265
+
266
+ sig { returns(Time) }
267
+ attr_accessor :timestamp
268
+
269
+ sig { returns(T.nilable(String)) }
270
+ attr_accessor :description
271
+
272
+ # Represents a status change event in a message's lifecycle (v3)
273
+ sig do
274
+ params(
275
+ status: String,
276
+ timestamp: Time,
277
+ description: T.nilable(String)
278
+ ).returns(T.attached_class)
279
+ end
280
+ def self.new(status:, timestamp:, description: nil)
281
+ end
282
+
283
+ sig do
284
+ override.returns(
285
+ {
286
+ status: String,
287
+ timestamp: Time,
288
+ description: T.nilable(String)
289
+ }
290
+ )
291
+ end
292
+ def to_hash
293
+ end
294
+ end
295
+
296
+ class MessageBody < Sentdm::Internal::Type::BaseModel
297
+ OrHash =
298
+ T.type_alias do
299
+ T.any(
300
+ Sentdm::ConversationMessagesList::Message::MessageBody,
301
+ Sentdm::Internal::AnyHash
302
+ )
303
+ end
304
+
305
+ sig do
306
+ returns(
307
+ T.nilable(
308
+ T::Array[
309
+ Sentdm::ConversationMessagesList::Message::MessageBody::Button
310
+ ]
311
+ )
312
+ )
313
+ end
314
+ attr_accessor :buttons
315
+
316
+ sig { returns(T.nilable(String)) }
317
+ attr_reader :content
318
+
319
+ sig { params(content: String).void }
320
+ attr_writer :content
321
+
322
+ sig { returns(T.nilable(String)) }
323
+ attr_accessor :footer
324
+
325
+ sig { returns(T.nilable(String)) }
326
+ attr_accessor :header
327
+
328
+ # Structured message body format for database storage. Preserves channel-specific
329
+ # components (header, body, footer, buttons).
330
+ sig do
331
+ params(
332
+ buttons:
333
+ T.nilable(
334
+ T::Array[
335
+ Sentdm::ConversationMessagesList::Message::MessageBody::Button::OrHash
336
+ ]
337
+ ),
338
+ content: String,
339
+ footer: T.nilable(String),
340
+ header: T.nilable(String)
341
+ ).returns(T.attached_class)
342
+ end
343
+ def self.new(buttons: nil, content: nil, footer: nil, header: nil)
344
+ end
345
+
346
+ sig do
347
+ override.returns(
348
+ {
349
+ buttons:
350
+ T.nilable(
351
+ T::Array[
352
+ Sentdm::ConversationMessagesList::Message::MessageBody::Button
353
+ ]
354
+ ),
355
+ content: String,
356
+ footer: T.nilable(String),
357
+ header: T.nilable(String)
358
+ }
359
+ )
360
+ end
361
+ def to_hash
362
+ end
363
+
364
+ class Button < Sentdm::Internal::Type::BaseModel
365
+ OrHash =
366
+ T.type_alias do
367
+ T.any(
368
+ Sentdm::ConversationMessagesList::Message::MessageBody::Button,
369
+ Sentdm::Internal::AnyHash
370
+ )
371
+ end
372
+
373
+ sig { returns(T.nilable(String)) }
374
+ attr_accessor :postback_data
375
+
376
+ sig { returns(T.nilable(String)) }
377
+ attr_accessor :text
378
+
379
+ sig { returns(T.nilable(String)) }
380
+ attr_reader :type
381
+
382
+ sig { params(type: String).void }
383
+ attr_writer :type
384
+
385
+ sig { returns(T.nilable(String)) }
386
+ attr_reader :value
387
+
388
+ sig { params(value: String).void }
389
+ attr_writer :value
390
+
391
+ sig do
392
+ params(
393
+ postback_data: T.nilable(String),
394
+ text: T.nilable(String),
395
+ type: String,
396
+ value: String
397
+ ).returns(T.attached_class)
398
+ end
399
+ def self.new(postback_data: nil, text: nil, type: nil, value: nil)
400
+ end
401
+
402
+ sig do
403
+ override.returns(
404
+ {
405
+ postback_data: T.nilable(String),
406
+ text: T.nilable(String),
407
+ type: String,
408
+ value: String
409
+ }
410
+ )
411
+ end
412
+ def to_hash
413
+ end
414
+ end
415
+ end
416
+ end
417
+ end
418
+ end
419
+ end
@@ -103,8 +103,7 @@ module Sentdm
103
103
  end
104
104
  attr_writer :recipients
105
105
 
106
- # Overall request status: "QUEUED" when the batch has been accepted and published
107
- # to Kafka.
106
+ # Overall request status: "QUEUED" when the batch has been accepted for delivery.
108
107
  sig { returns(T.nilable(String)) }
109
108
  attr_reader :status
110
109
 
@@ -140,8 +139,7 @@ module Sentdm
140
139
  def self.new(
141
140
  # Per-recipient message results
142
141
  recipients: nil,
143
- # Overall request status: "QUEUED" when the batch has been accepted and published
144
- # to Kafka.
142
+ # Overall request status: "QUEUED" when the batch has been accepted for delivery.
145
143
  status: nil,
146
144
  # Template ID that was used
147
145
  template_id: nil,
@@ -122,7 +122,7 @@ module Sentdm
122
122
  sig { returns(T.nilable(String)) }
123
123
  attr_accessor :sending_phone_number
124
124
 
125
- # Reference to another profile for SMS/Telnyx configuration
125
+ # Reference to another profile whose SMS configuration this profile uses
126
126
  sig { returns(T.nilable(String)) }
127
127
  attr_accessor :sending_phone_number_profile_id
128
128
 
@@ -224,7 +224,7 @@ module Sentdm
224
224
  organization_id: nil,
225
225
  # Direct SMS phone number
226
226
  sending_phone_number: nil,
227
- # Reference to another profile for SMS/Telnyx configuration
227
+ # Reference to another profile whose SMS configuration this profile uses
228
228
  sending_phone_number_profile_id: nil,
229
229
  # Reference to another profile for WhatsApp configuration
230
230
  sending_whatsapp_number_profile_id: nil,
@@ -645,10 +645,6 @@ module Sentdm
645
645
  end
646
646
  attr_writer :destination_countries
647
647
 
648
- # Expected daily messaging volume
649
- sig { returns(T.nilable(String)) }
650
- attr_accessor :expected_messaging_volume
651
-
652
648
  # Whether this is a TCR (Campaign Registry) application
653
649
  sig { returns(T.nilable(T::Boolean)) }
654
650
  attr_reader :is_tcr_application
@@ -678,7 +674,6 @@ module Sentdm
678
674
  T.nilable(Sentdm::TcrBrandRelationship::OrSymbol),
679
675
  destination_countries:
680
676
  T::Array[Sentdm::DestinationCountry::OrHash],
681
- expected_messaging_volume: T.nilable(String),
682
677
  is_tcr_application: T::Boolean,
683
678
  notes: T.nilable(String),
684
679
  phone_number_prefix: T.nilable(String),
@@ -690,8 +685,6 @@ module Sentdm
690
685
  brand_relationship: nil,
691
686
  # List of destination countries for messaging
692
687
  destination_countries: nil,
693
- # Expected daily messaging volume
694
- expected_messaging_volume: nil,
695
688
  # Whether this is a TCR (Campaign Registry) application
696
689
  is_tcr_application: nil,
697
690
  # Additional notes about the business or use case
@@ -710,7 +703,6 @@ module Sentdm
710
703
  brand_relationship:
711
704
  T.nilable(Sentdm::TcrBrandRelationship::TaggedSymbol),
712
705
  destination_countries: T::Array[Sentdm::DestinationCountry],
713
- expected_messaging_volume: T.nilable(String),
714
706
  is_tcr_application: T::Boolean,
715
707
  notes: T.nilable(String),
716
708
  phone_number_prefix: T.nilable(String),
@@ -106,7 +106,7 @@ module Sentdm
106
106
  sig { returns(T.nilable(String)) }
107
107
  attr_accessor :sending_phone_number
108
108
 
109
- # Reference to another profile to use for SMS/Telnyx configuration (optional)
109
+ # Reference to another profile to use for SMS configuration (optional)
110
110
  sig { returns(T.nilable(String)) }
111
111
  attr_accessor :sending_phone_number_profile_id
112
112
 
@@ -208,7 +208,7 @@ module Sentdm
208
208
  sandbox: nil,
209
209
  # Direct phone number for SMS sending (optional)
210
210
  sending_phone_number: nil,
211
- # Reference to another profile to use for SMS/Telnyx configuration (optional)
211
+ # Reference to another profile to use for SMS configuration (optional)
212
212
  sending_phone_number_profile_id: nil,
213
213
  # Reference to another profile to use for WhatsApp configuration (optional)
214
214
  sending_whatsapp_number_profile_id: nil,
@@ -3,23 +3,21 @@
3
3
  module Sentdm
4
4
  module Models
5
5
  module Profiles
6
- class APIResponseOfTcrCampaignWithUseCases < Sentdm::Internal::Type::BaseModel
6
+ class APIResponseOfBrandCampaign < Sentdm::Internal::Type::BaseModel
7
7
  OrHash =
8
8
  T.type_alias do
9
9
  T.any(
10
- Sentdm::Profiles::APIResponseOfTcrCampaignWithUseCases,
10
+ Sentdm::Profiles::APIResponseOfBrandCampaign,
11
11
  Sentdm::Internal::AnyHash
12
12
  )
13
13
  end
14
14
 
15
- # The response data (null if error)
16
- sig { returns(T.nilable(Sentdm::Profiles::TcrCampaignWithUseCases)) }
15
+ # A 10DLC campaign registered for a brand.
16
+ sig { returns(T.nilable(Sentdm::Profiles::BrandCampaign)) }
17
17
  attr_reader :data
18
18
 
19
19
  sig do
20
- params(
21
- data: T.nilable(Sentdm::Profiles::TcrCampaignWithUseCases::OrHash)
22
- ).void
20
+ params(data: T.nilable(Sentdm::Profiles::BrandCampaign::OrHash)).void
23
21
  end
24
22
  attr_writer :data
25
23
 
@@ -47,14 +45,14 @@ module Sentdm
47
45
  # Standard API response envelope for all v3 endpoints
48
46
  sig do
49
47
  params(
50
- data: T.nilable(Sentdm::Profiles::TcrCampaignWithUseCases::OrHash),
48
+ data: T.nilable(Sentdm::Profiles::BrandCampaign::OrHash),
51
49
  error: T.nilable(Sentdm::ErrorDetail::OrHash),
52
50
  meta: Sentdm::APIMeta::OrHash,
53
51
  success: T::Boolean
54
52
  ).returns(T.attached_class)
55
53
  end
56
54
  def self.new(
57
- # The response data (null if error)
55
+ # A 10DLC campaign registered for a brand.
58
56
  data: nil,
59
57
  # Error information
60
58
  error: nil,
@@ -68,7 +66,7 @@ module Sentdm
68
66
  sig do
69
67
  override.returns(
70
68
  {
71
- data: T.nilable(Sentdm::Profiles::TcrCampaignWithUseCases),
69
+ data: T.nilable(Sentdm::Profiles::BrandCampaign),
72
70
  error: T.nilable(Sentdm::ErrorDetail),
73
71
  meta: Sentdm::APIMeta,
74
72
  success: T::Boolean
@@ -3,21 +3,17 @@
3
3
  module Sentdm
4
4
  module Models
5
5
  module Profiles
6
- class CampaignListResponse < Sentdm::Internal::Type::BaseModel
6
+ class APIResponseOfListOfBrandCampaign < Sentdm::Internal::Type::BaseModel
7
7
  OrHash =
8
8
  T.type_alias do
9
9
  T.any(
10
- Sentdm::Models::Profiles::CampaignListResponse,
10
+ Sentdm::Profiles::APIResponseOfListOfBrandCampaign,
11
11
  Sentdm::Internal::AnyHash
12
12
  )
13
13
  end
14
14
 
15
15
  # The response data (null if error)
16
- sig do
17
- returns(
18
- T.nilable(T::Array[Sentdm::Profiles::TcrCampaignWithUseCases])
19
- )
20
- end
16
+ sig { returns(T.nilable(T::Array[Sentdm::Profiles::BrandCampaign])) }
21
17
  attr_accessor :data
22
18
 
23
19
  # Error information
@@ -44,10 +40,7 @@ module Sentdm
44
40
  # Standard API response envelope for all v3 endpoints
45
41
  sig do
46
42
  params(
47
- data:
48
- T.nilable(
49
- T::Array[Sentdm::Profiles::TcrCampaignWithUseCases::OrHash]
50
- ),
43
+ data: T.nilable(T::Array[Sentdm::Profiles::BrandCampaign::OrHash]),
51
44
  error: T.nilable(Sentdm::ErrorDetail::OrHash),
52
45
  meta: Sentdm::APIMeta::OrHash,
53
46
  success: T::Boolean
@@ -68,8 +61,7 @@ module Sentdm
68
61
  sig do
69
62
  override.returns(
70
63
  {
71
- data:
72
- T.nilable(T::Array[Sentdm::Profiles::TcrCampaignWithUseCases]),
64
+ data: T.nilable(T::Array[Sentdm::Profiles::BrandCampaign]),
73
65
  error: T.nilable(Sentdm::ErrorDetail),
74
66
  meta: Sentdm::APIMeta,
75
67
  success: T::Boolean