sentdm 0.29.0 → 0.30.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 (265) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -0
  3. data/README.md +27 -1
  4. data/lib/sentdm/internal/type/base_model.rb +5 -5
  5. data/lib/sentdm/models/api_meta.rb +34 -0
  6. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  7. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
  8. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +43 -0
  9. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  10. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  11. data/lib/sentdm/models/api_response_template.rb +43 -0
  12. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  13. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  14. data/lib/sentdm/models/brand_business_info.rb +114 -0
  15. data/lib/sentdm/models/brand_compliance_info.rb +59 -0
  16. data/lib/sentdm/models/brand_contact_info.rb +58 -0
  17. data/lib/sentdm/models/brands_brand_data.rb +34 -0
  18. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  19. data/lib/sentdm/models/contact_list_response.rb +12 -295
  20. data/lib/sentdm/models/contact_message_summary.rb +76 -0
  21. data/lib/sentdm/models/contact_response.rb +139 -0
  22. data/lib/sentdm/models/conversation_messages_list.rb +245 -0
  23. data/lib/sentdm/models/error_detail.rb +42 -0
  24. data/lib/sentdm/models/me_retrieve_response.rb +12 -242
  25. data/lib/sentdm/models/message_retrieve_activities_response.rb +9 -159
  26. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  27. data/lib/sentdm/models/message_send_response.rb +6 -74
  28. data/lib/sentdm/models/mutation_request.rb +20 -0
  29. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  30. data/lib/sentdm/models/pagination_meta.rb +84 -0
  31. data/lib/sentdm/models/payment_details.rb +40 -0
  32. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  33. data/lib/sentdm/models/profile_create_params.rb +9 -345
  34. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  35. data/lib/sentdm/models/profile_detail.rb +650 -0
  36. data/lib/sentdm/models/profile_list_response.rb +12 -815
  37. data/lib/sentdm/models/profile_settings.rb +85 -0
  38. data/lib/sentdm/models/profile_update_params.rb +9 -345
  39. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +45 -0
  40. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +45 -0
  41. data/lib/sentdm/models/profiles/brand_campaign.rb +247 -0
  42. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -156
  43. data/lib/sentdm/models/profiles/campaign_data.rb +136 -0
  44. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  45. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -156
  46. data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
  47. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +29 -0
  48. data/lib/sentdm/models/template.rb +102 -0
  49. data/lib/sentdm/models/template_list_response.rb +12 -258
  50. data/lib/sentdm/models/user_list_response.rb +12 -249
  51. data/lib/sentdm/models/user_remove_params.rb +2 -16
  52. data/lib/sentdm/models/user_response.rb +94 -0
  53. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  54. data/lib/sentdm/models/webhook_list_event_types_response.rb +12 -203
  55. data/lib/sentdm/models/webhook_list_events_response.rb +9 -157
  56. data/lib/sentdm/models/webhook_list_response.rb +12 -276
  57. data/lib/sentdm/models/webhook_response.rb +120 -0
  58. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  59. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  60. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  61. data/lib/sentdm/models.rb +52 -0
  62. data/lib/sentdm/resources/contacts.rb +8 -8
  63. data/lib/sentdm/resources/conversations.rb +4 -4
  64. data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
  65. data/lib/sentdm/resources/profiles.rb +12 -12
  66. data/lib/sentdm/resources/templates.rb +6 -6
  67. data/lib/sentdm/resources/users.rb +6 -6
  68. data/lib/sentdm/resources/webhooks.rb +8 -8
  69. data/lib/sentdm/version.rb +1 -1
  70. data/lib/sentdm.rb +32 -22
  71. data/rbi/sentdm/models/api_meta.rbi +55 -0
  72. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  73. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
  74. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
  75. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  76. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  77. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  78. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  79. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  80. data/rbi/sentdm/models/brand_business_info.rbi +162 -0
  81. data/rbi/sentdm/models/brand_compliance_info.rbi +76 -0
  82. data/rbi/sentdm/models/brand_contact_info.rbi +78 -0
  83. data/rbi/sentdm/models/brands_brand_data.rbi +65 -0
  84. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  85. data/rbi/sentdm/models/contact_list_response.rbi +16 -522
  86. data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
  87. data/rbi/sentdm/models/contact_response.rbi +200 -0
  88. data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
  89. data/rbi/sentdm/models/error_detail.rbi +66 -0
  90. data/rbi/sentdm/models/me_retrieve_response.rbi +16 -367
  91. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +12 -325
  92. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  93. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  94. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  95. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  96. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  97. data/rbi/sentdm/models/payment_details.rbi +56 -0
  98. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  99. data/rbi/sentdm/models/profile_create_params.rbi +12 -546
  100. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  101. data/rbi/sentdm/models/profile_detail.rbi +918 -0
  102. data/rbi/sentdm/models/profile_list_response.rbi +16 -1347
  103. data/rbi/sentdm/models/profile_settings.rbi +102 -0
  104. data/rbi/sentdm/models/profile_update_params.rbi +12 -546
  105. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +81 -0
  106. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +76 -0
  107. data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
  108. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -218
  109. data/rbi/sentdm/models/profiles/campaign_data.rbi +158 -0
  110. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  111. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -218
  112. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
  113. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +51 -0
  114. data/rbi/sentdm/models/template.rbi +139 -0
  115. data/rbi/sentdm/models/template_list_response.rbi +16 -464
  116. data/rbi/sentdm/models/user_list_response.rbi +16 -444
  117. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  118. data/rbi/sentdm/models/user_response.rbi +131 -0
  119. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  120. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +16 -414
  121. data/rbi/sentdm/models/webhook_list_events_response.rbi +12 -314
  122. data/rbi/sentdm/models/webhook_list_response.rbi +16 -475
  123. data/rbi/sentdm/models/webhook_response.rbi +153 -0
  124. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  125. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  126. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  127. data/rbi/sentdm/models.rbi +54 -0
  128. data/rbi/sentdm/resources/contacts.rbi +4 -4
  129. data/rbi/sentdm/resources/conversations.rbi +2 -2
  130. data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
  131. data/rbi/sentdm/resources/profiles.rbi +9 -13
  132. data/rbi/sentdm/resources/templates.rbi +3 -3
  133. data/rbi/sentdm/resources/users.rbi +3 -3
  134. data/rbi/sentdm/resources/webhooks.rbi +4 -4
  135. data/sig/sentdm/models/api_meta.rbs +27 -0
  136. data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
  137. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
  138. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
  139. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  140. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  141. data/sig/sentdm/models/api_response_template.rbs +39 -0
  142. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  143. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  144. data/sig/sentdm/models/brand_business_info.rbs +89 -0
  145. data/sig/sentdm/models/brand_compliance_info.rbs +45 -0
  146. data/sig/sentdm/models/brand_contact_info.rbs +45 -0
  147. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  148. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  149. data/sig/sentdm/models/contact_list_response.rbs +20 -263
  150. data/sig/sentdm/models/contact_message_summary.rbs +84 -0
  151. data/sig/sentdm/models/contact_response.rbs +118 -0
  152. data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
  153. data/sig/sentdm/models/error_detail.rbs +39 -0
  154. data/sig/sentdm/models/me_retrieve_response.rbs +18 -176
  155. data/sig/sentdm/models/message_retrieve_activities_response.rbs +14 -142
  156. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  157. data/sig/sentdm/models/message_send_response.rbs +9 -71
  158. data/sig/sentdm/models/mutation_request.rbs +15 -0
  159. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  160. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  161. data/sig/sentdm/models/payment_details.rbs +30 -0
  162. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  163. data/sig/sentdm/models/profile_create_params.rbs +12 -263
  164. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  165. data/sig/sentdm/models/profile_detail.rbs +461 -0
  166. data/sig/sentdm/models/profile_list_response.rbs +20 -606
  167. data/sig/sentdm/models/profile_settings.rbs +50 -0
  168. data/sig/sentdm/models/profile_update_params.rbs +12 -263
  169. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +41 -0
  170. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +41 -0
  171. data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
  172. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -108
  173. data/sig/sentdm/models/profiles/campaign_data.rbs +87 -0
  174. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  175. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -108
  176. data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
  177. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +27 -0
  178. data/sig/sentdm/models/template.rbs +84 -0
  179. data/sig/sentdm/models/template_list_response.rbs +19 -230
  180. data/sig/sentdm/models/user_list_response.rbs +20 -224
  181. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  182. data/sig/sentdm/models/user_response.rbs +79 -0
  183. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  184. data/sig/sentdm/models/webhook_list_event_types_response.rbs +20 -196
  185. data/sig/sentdm/models/webhook_list_events_response.rbs +14 -142
  186. data/sig/sentdm/models/webhook_list_response.rbs +20 -255
  187. data/sig/sentdm/models/webhook_response.rbs +110 -0
  188. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  189. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  190. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  191. data/sig/sentdm/models.rbs +52 -0
  192. data/sig/sentdm/resources/contacts.rbs +4 -4
  193. data/sig/sentdm/resources/conversations.rbs +2 -2
  194. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  195. data/sig/sentdm/resources/profiles.rbs +9 -9
  196. data/sig/sentdm/resources/templates.rbs +3 -3
  197. data/sig/sentdm/resources/users.rbs +3 -3
  198. data/sig/sentdm/resources/webhooks.rbs +4 -4
  199. metadata +98 -68
  200. data/lib/sentdm/models/contact_create_response.rb +0 -249
  201. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +0 -186
  202. data/lib/sentdm/models/contact_retrieve_response.rb +0 -249
  203. data/lib/sentdm/models/contact_update_response.rb +0 -249
  204. data/lib/sentdm/models/conversation_list_messages_response.rb +0 -436
  205. data/lib/sentdm/models/conversation_list_response.rb +0 -433
  206. data/lib/sentdm/models/profile_create_response.rb +0 -760
  207. data/lib/sentdm/models/profile_retrieve_response.rb +0 -762
  208. data/lib/sentdm/models/profile_update_response.rb +0 -760
  209. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -420
  210. data/lib/sentdm/models/profiles/campaign_list_response.rb +0 -421
  211. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -420
  212. data/lib/sentdm/models/template_create_response.rb +0 -209
  213. data/lib/sentdm/models/template_retrieve_response.rb +0 -209
  214. data/lib/sentdm/models/template_update_response.rb +0 -209
  215. data/lib/sentdm/models/user_invite_response.rb +0 -201
  216. data/lib/sentdm/models/user_retrieve_response.rb +0 -201
  217. data/lib/sentdm/models/user_update_role_response.rb +0 -201
  218. data/lib/sentdm/models/webhook_create_response.rb +0 -229
  219. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -229
  220. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -229
  221. data/lib/sentdm/models/webhook_update_response.rb +0 -229
  222. data/rbi/sentdm/models/contact_create_response.rbi +0 -407
  223. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +0 -397
  224. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -409
  225. data/rbi/sentdm/models/contact_update_response.rbi +0 -407
  226. data/rbi/sentdm/models/conversation_list_messages_response.rbi +0 -843
  227. data/rbi/sentdm/models/conversation_list_response.rbi +0 -819
  228. data/rbi/sentdm/models/profile_create_response.rbi +0 -1226
  229. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1230
  230. data/rbi/sentdm/models/profile_update_response.rbi +0 -1226
  231. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -674
  232. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +0 -667
  233. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -674
  234. data/rbi/sentdm/models/template_create_response.rbi +0 -349
  235. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -355
  236. data/rbi/sentdm/models/template_update_response.rbi +0 -349
  237. data/rbi/sentdm/models/user_invite_response.rbi +0 -336
  238. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -336
  239. data/rbi/sentdm/models/user_update_role_response.rbi +0 -341
  240. data/rbi/sentdm/models/webhook_create_response.rbi +0 -361
  241. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -363
  242. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -379
  243. data/rbi/sentdm/models/webhook_update_response.rbi +0 -361
  244. data/sig/sentdm/models/contact_create_response.rbs +0 -216
  245. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +0 -182
  246. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -216
  247. data/sig/sentdm/models/contact_update_response.rbs +0 -216
  248. data/sig/sentdm/models/conversation_list_messages_response.rbs +0 -404
  249. data/sig/sentdm/models/conversation_list_response.rbs +0 -404
  250. data/sig/sentdm/models/profile_create_response.rbs +0 -559
  251. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -559
  252. data/sig/sentdm/models/profile_update_response.rbs +0 -559
  253. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -357
  254. data/sig/sentdm/models/profiles/campaign_list_response.rbs +0 -357
  255. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -357
  256. data/sig/sentdm/models/template_create_response.rbs +0 -182
  257. data/sig/sentdm/models/template_retrieve_response.rbs +0 -182
  258. data/sig/sentdm/models/template_update_response.rbs +0 -182
  259. data/sig/sentdm/models/user_invite_response.rbs +0 -177
  260. data/sig/sentdm/models/user_retrieve_response.rbs +0 -177
  261. data/sig/sentdm/models/user_update_role_response.rbs +0 -177
  262. data/sig/sentdm/models/webhook_create_response.rbs +0 -208
  263. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -208
  264. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -208
  265. data/sig/sentdm/models/webhook_update_response.rbs +0 -208
@@ -1,667 +0,0 @@
1
- # typed: strong
2
-
3
- module Sentdm
4
- module Models
5
- module Profiles
6
- class CampaignListResponse < Sentdm::Internal::Type::BaseModel
7
- OrHash =
8
- T.type_alias do
9
- T.any(
10
- Sentdm::Models::Profiles::CampaignListResponse,
11
- Sentdm::Internal::AnyHash
12
- )
13
- end
14
-
15
- # The response data (null if error)
16
- sig do
17
- returns(
18
- T.nilable(
19
- T::Array[Sentdm::Models::Profiles::CampaignListResponse::Data]
20
- )
21
- )
22
- end
23
- attr_accessor :data
24
-
25
- # Error information
26
- sig do
27
- returns(
28
- T.nilable(Sentdm::Models::Profiles::CampaignListResponse::Error)
29
- )
30
- end
31
- attr_reader :error
32
-
33
- sig do
34
- params(
35
- error:
36
- T.nilable(
37
- Sentdm::Models::Profiles::CampaignListResponse::Error::OrHash
38
- )
39
- ).void
40
- end
41
- attr_writer :error
42
-
43
- # Request and response metadata
44
- sig do
45
- returns(
46
- T.nilable(Sentdm::Models::Profiles::CampaignListResponse::Meta)
47
- )
48
- end
49
- attr_reader :meta
50
-
51
- sig do
52
- params(
53
- meta: Sentdm::Models::Profiles::CampaignListResponse::Meta::OrHash
54
- ).void
55
- end
56
- attr_writer :meta
57
-
58
- # Indicates whether the request was successful
59
- sig { returns(T.nilable(T::Boolean)) }
60
- attr_reader :success
61
-
62
- sig { params(success: T::Boolean).void }
63
- attr_writer :success
64
-
65
- # Standard API response envelope for all v3 endpoints
66
- sig do
67
- params(
68
- data:
69
- T.nilable(
70
- T::Array[
71
- Sentdm::Models::Profiles::CampaignListResponse::Data::OrHash
72
- ]
73
- ),
74
- error:
75
- T.nilable(
76
- Sentdm::Models::Profiles::CampaignListResponse::Error::OrHash
77
- ),
78
- meta: Sentdm::Models::Profiles::CampaignListResponse::Meta::OrHash,
79
- success: T::Boolean
80
- ).returns(T.attached_class)
81
- end
82
- def self.new(
83
- # The response data (null if error)
84
- data: nil,
85
- # Error information
86
- error: nil,
87
- # Request and response metadata
88
- meta: nil,
89
- # Indicates whether the request was successful
90
- success: nil
91
- )
92
- end
93
-
94
- sig do
95
- override.returns(
96
- {
97
- data:
98
- T.nilable(
99
- T::Array[Sentdm::Models::Profiles::CampaignListResponse::Data]
100
- ),
101
- error:
102
- T.nilable(
103
- Sentdm::Models::Profiles::CampaignListResponse::Error
104
- ),
105
- meta: Sentdm::Models::Profiles::CampaignListResponse::Meta,
106
- success: T::Boolean
107
- }
108
- )
109
- end
110
- def to_hash
111
- end
112
-
113
- class Data < Sentdm::Internal::Type::BaseModel
114
- OrHash =
115
- T.type_alias do
116
- T.any(
117
- Sentdm::Models::Profiles::CampaignListResponse::Data,
118
- Sentdm::Internal::AnyHash
119
- )
120
- end
121
-
122
- sig { returns(T.nilable(String)) }
123
- attr_reader :id
124
-
125
- sig { params(id: String).void }
126
- attr_writer :id
127
-
128
- sig { returns(T.nilable(Time)) }
129
- attr_accessor :billed_date
130
-
131
- sig { returns(T.nilable(String)) }
132
- attr_accessor :brand_id
133
-
134
- sig { returns(T.nilable(Float)) }
135
- attr_accessor :cost
136
-
137
- sig { returns(T.nilable(Time)) }
138
- attr_reader :created_at
139
-
140
- sig { params(created_at: Time).void }
141
- attr_writer :created_at
142
-
143
- sig { returns(T.nilable(String)) }
144
- attr_reader :customer_id
145
-
146
- sig { params(customer_id: String).void }
147
- attr_writer :customer_id
148
-
149
- # True once every carrier has completed its DCA election and the campaign is
150
- # operationally ready for traffic.
151
- sig { returns(T.nilable(T::Boolean)) }
152
- attr_accessor :dca_elections_complete
153
-
154
- sig { returns(T.nilable(Time)) }
155
- attr_accessor :dca_elections_completed_at
156
-
157
- sig { returns(T.nilable(String)) }
158
- attr_reader :description
159
-
160
- sig { params(description: String).void }
161
- attr_writer :description
162
-
163
- # True when the one-time campaign submission fee has already been charged.
164
- sig { returns(T.nilable(T::Boolean)) }
165
- attr_reader :has_submission_transaction
166
-
167
- sig { params(has_submission_transaction: T::Boolean).void }
168
- attr_writer :has_submission_transaction
169
-
170
- sig { returns(T.nilable(String)) }
171
- attr_accessor :help_keywords
172
-
173
- sig { returns(T.nilable(String)) }
174
- attr_accessor :help_message
175
-
176
- sig { returns(T.nilable(String)) }
177
- attr_accessor :message_flow
178
-
179
- sig { returns(T.nilable(String)) }
180
- attr_reader :name
181
-
182
- sig { params(name: String).void }
183
- attr_writer :name
184
-
185
- sig { returns(T.nilable(String)) }
186
- attr_accessor :optin_keywords
187
-
188
- sig { returns(T.nilable(String)) }
189
- attr_accessor :optin_message
190
-
191
- sig { returns(T.nilable(String)) }
192
- attr_accessor :optout_keywords
193
-
194
- sig { returns(T.nilable(String)) }
195
- attr_accessor :optout_message
196
-
197
- sig { returns(T.nilable(String)) }
198
- attr_accessor :privacy_policy_link
199
-
200
- sig do
201
- returns(
202
- T.nilable(
203
- Sentdm::Models::Profiles::CampaignListResponse::Data::Status::TaggedSymbol
204
- )
205
- )
206
- end
207
- attr_accessor :status
208
-
209
- sig { returns(T.nilable(Time)) }
210
- attr_accessor :submitted_at
211
-
212
- sig { returns(T.nilable(T::Boolean)) }
213
- attr_reader :submitted_to_tcr
214
-
215
- sig { params(submitted_to_tcr: T::Boolean).void }
216
- attr_writer :submitted_to_tcr
217
-
218
- # The Campaign Registry identifier, once the campaign has been accepted.
219
- sig { returns(T.nilable(String)) }
220
- attr_accessor :tcr_campaign_id
221
-
222
- # Surfaced so customers can see why a submission did not reach the registry.
223
- sig { returns(T.nilable(String)) }
224
- attr_accessor :tcr_sync_error
225
-
226
- sig { returns(T.nilable(String)) }
227
- attr_accessor :terms_and_conditions_link
228
-
229
- # Campaign type (for example KYC or App).
230
- sig { returns(T.nilable(String)) }
231
- attr_reader :type
232
-
233
- sig { params(type: String).void }
234
- attr_writer :type
235
-
236
- sig { returns(T.nilable(Time)) }
237
- attr_accessor :updated_at
238
-
239
- sig do
240
- returns(
241
- T.nilable(
242
- T::Array[
243
- Sentdm::Models::Profiles::CampaignListResponse::Data::UseCase
244
- ]
245
- )
246
- )
247
- end
248
- attr_reader :use_cases
249
-
250
- sig do
251
- params(
252
- use_cases:
253
- T::Array[
254
- Sentdm::Models::Profiles::CampaignListResponse::Data::UseCase::OrHash
255
- ]
256
- ).void
257
- end
258
- attr_writer :use_cases
259
-
260
- # Expected messaging volume for this campaign — customer-supplied on
261
- # create/update, and the input to both the TCR usecase classification (LOW_VOLUME
262
- # vs MIXED/specific) and the campaign fee tier. Surfaced so customers can read
263
- # back the value they set.
264
- sig { returns(T.nilable(String)) }
265
- attr_accessor :volume
266
-
267
- # A 10DLC campaign registered for a brand.
268
- sig do
269
- params(
270
- id: String,
271
- billed_date: T.nilable(Time),
272
- brand_id: T.nilable(String),
273
- cost: T.nilable(Float),
274
- created_at: Time,
275
- customer_id: String,
276
- dca_elections_complete: T.nilable(T::Boolean),
277
- dca_elections_completed_at: T.nilable(Time),
278
- description: String,
279
- has_submission_transaction: T::Boolean,
280
- help_keywords: T.nilable(String),
281
- help_message: T.nilable(String),
282
- message_flow: T.nilable(String),
283
- name: String,
284
- optin_keywords: T.nilable(String),
285
- optin_message: T.nilable(String),
286
- optout_keywords: T.nilable(String),
287
- optout_message: T.nilable(String),
288
- privacy_policy_link: T.nilable(String),
289
- status:
290
- T.nilable(
291
- Sentdm::Models::Profiles::CampaignListResponse::Data::Status::OrSymbol
292
- ),
293
- submitted_at: T.nilable(Time),
294
- submitted_to_tcr: T::Boolean,
295
- tcr_campaign_id: T.nilable(String),
296
- tcr_sync_error: T.nilable(String),
297
- terms_and_conditions_link: T.nilable(String),
298
- type: String,
299
- updated_at: T.nilable(Time),
300
- use_cases:
301
- T::Array[
302
- Sentdm::Models::Profiles::CampaignListResponse::Data::UseCase::OrHash
303
- ],
304
- volume: T.nilable(String)
305
- ).returns(T.attached_class)
306
- end
307
- def self.new(
308
- id: nil,
309
- billed_date: nil,
310
- brand_id: nil,
311
- cost: nil,
312
- created_at: nil,
313
- customer_id: nil,
314
- # True once every carrier has completed its DCA election and the campaign is
315
- # operationally ready for traffic.
316
- dca_elections_complete: nil,
317
- dca_elections_completed_at: nil,
318
- description: nil,
319
- # True when the one-time campaign submission fee has already been charged.
320
- has_submission_transaction: nil,
321
- help_keywords: nil,
322
- help_message: nil,
323
- message_flow: nil,
324
- name: nil,
325
- optin_keywords: nil,
326
- optin_message: nil,
327
- optout_keywords: nil,
328
- optout_message: nil,
329
- privacy_policy_link: nil,
330
- status: nil,
331
- submitted_at: nil,
332
- submitted_to_tcr: nil,
333
- # The Campaign Registry identifier, once the campaign has been accepted.
334
- tcr_campaign_id: nil,
335
- # Surfaced so customers can see why a submission did not reach the registry.
336
- tcr_sync_error: nil,
337
- terms_and_conditions_link: nil,
338
- # Campaign type (for example KYC or App).
339
- type: nil,
340
- updated_at: nil,
341
- use_cases: nil,
342
- # Expected messaging volume for this campaign — customer-supplied on
343
- # create/update, and the input to both the TCR usecase classification (LOW_VOLUME
344
- # vs MIXED/specific) and the campaign fee tier. Surfaced so customers can read
345
- # back the value they set.
346
- volume: nil
347
- )
348
- end
349
-
350
- sig do
351
- override.returns(
352
- {
353
- id: String,
354
- billed_date: T.nilable(Time),
355
- brand_id: T.nilable(String),
356
- cost: T.nilable(Float),
357
- created_at: Time,
358
- customer_id: String,
359
- dca_elections_complete: T.nilable(T::Boolean),
360
- dca_elections_completed_at: T.nilable(Time),
361
- description: String,
362
- has_submission_transaction: T::Boolean,
363
- help_keywords: T.nilable(String),
364
- help_message: T.nilable(String),
365
- message_flow: T.nilable(String),
366
- name: String,
367
- optin_keywords: T.nilable(String),
368
- optin_message: T.nilable(String),
369
- optout_keywords: T.nilable(String),
370
- optout_message: T.nilable(String),
371
- privacy_policy_link: T.nilable(String),
372
- status:
373
- T.nilable(
374
- Sentdm::Models::Profiles::CampaignListResponse::Data::Status::TaggedSymbol
375
- ),
376
- submitted_at: T.nilable(Time),
377
- submitted_to_tcr: T::Boolean,
378
- tcr_campaign_id: T.nilable(String),
379
- tcr_sync_error: T.nilable(String),
380
- terms_and_conditions_link: T.nilable(String),
381
- type: String,
382
- updated_at: T.nilable(Time),
383
- use_cases:
384
- T::Array[
385
- Sentdm::Models::Profiles::CampaignListResponse::Data::UseCase
386
- ],
387
- volume: T.nilable(String)
388
- }
389
- )
390
- end
391
- def to_hash
392
- end
393
-
394
- module Status
395
- extend Sentdm::Internal::Type::Enum
396
-
397
- TaggedSymbol =
398
- T.type_alias do
399
- T.all(
400
- Symbol,
401
- Sentdm::Models::Profiles::CampaignListResponse::Data::Status
402
- )
403
- end
404
- OrSymbol = T.type_alias { T.any(Symbol, String) }
405
-
406
- SENT_CREATED =
407
- T.let(
408
- :SENT_CREATED,
409
- Sentdm::Models::Profiles::CampaignListResponse::Data::Status::TaggedSymbol
410
- )
411
- ACTIVE =
412
- T.let(
413
- :ACTIVE,
414
- Sentdm::Models::Profiles::CampaignListResponse::Data::Status::TaggedSymbol
415
- )
416
- EXPIRED =
417
- T.let(
418
- :EXPIRED,
419
- Sentdm::Models::Profiles::CampaignListResponse::Data::Status::TaggedSymbol
420
- )
421
-
422
- sig do
423
- override.returns(
424
- T::Array[
425
- Sentdm::Models::Profiles::CampaignListResponse::Data::Status::TaggedSymbol
426
- ]
427
- )
428
- end
429
- def self.values
430
- end
431
- end
432
-
433
- class UseCase < Sentdm::Internal::Type::BaseModel
434
- OrHash =
435
- T.type_alias do
436
- T.any(
437
- Sentdm::Models::Profiles::CampaignListResponse::Data::UseCase,
438
- Sentdm::Internal::AnyHash
439
- )
440
- end
441
-
442
- sig { returns(T.nilable(String)) }
443
- attr_reader :id
444
-
445
- sig { params(id: String).void }
446
- attr_writer :id
447
-
448
- sig { returns(T.nilable(String)) }
449
- attr_reader :campaign_id
450
-
451
- sig { params(campaign_id: String).void }
452
- attr_writer :campaign_id
453
-
454
- sig { returns(T.nilable(Time)) }
455
- attr_reader :created_at
456
-
457
- sig { params(created_at: Time).void }
458
- attr_writer :created_at
459
-
460
- sig { returns(T.nilable(String)) }
461
- attr_reader :customer_id
462
-
463
- sig { params(customer_id: String).void }
464
- attr_writer :customer_id
465
-
466
- sig do
467
- returns(
468
- T.nilable(Sentdm::Profiles::MessagingUseCaseUs::TaggedSymbol)
469
- )
470
- end
471
- attr_reader :messaging_use_case_us
472
-
473
- sig do
474
- params(
475
- messaging_use_case_us:
476
- Sentdm::Profiles::MessagingUseCaseUs::OrSymbol
477
- ).void
478
- end
479
- attr_writer :messaging_use_case_us
480
-
481
- # Sample messages submitted to the registry for this use case.
482
- sig { returns(T.nilable(T::Array[String])) }
483
- attr_reader :sample_messages
484
-
485
- sig { params(sample_messages: T::Array[String]).void }
486
- attr_writer :sample_messages
487
-
488
- sig { returns(T.nilable(Time)) }
489
- attr_accessor :updated_at
490
-
491
- # Customer-facing use-case representation for the public v3 campaign contract.
492
- # Exists for the same reason as BrandCampaignV3Response: nesting the
493
- # TcrCampaignUseCase database entity in a public response means any column added
494
- # to that table silently becomes part of the customer-facing contract. This DTO is
495
- # an explicit allowlist, so a new column stays invisible until it is added here on
496
- # purpose. This mirrors exactly the fields the entity already serialized, so it
497
- # removes nothing from the current response shape. It only closes the future-leak
498
- # path.
499
- sig do
500
- params(
501
- id: String,
502
- campaign_id: String,
503
- created_at: Time,
504
- customer_id: String,
505
- messaging_use_case_us:
506
- Sentdm::Profiles::MessagingUseCaseUs::OrSymbol,
507
- sample_messages: T::Array[String],
508
- updated_at: T.nilable(Time)
509
- ).returns(T.attached_class)
510
- end
511
- def self.new(
512
- id: nil,
513
- campaign_id: nil,
514
- created_at: nil,
515
- customer_id: nil,
516
- messaging_use_case_us: nil,
517
- # Sample messages submitted to the registry for this use case.
518
- sample_messages: nil,
519
- updated_at: nil
520
- )
521
- end
522
-
523
- sig do
524
- override.returns(
525
- {
526
- id: String,
527
- campaign_id: String,
528
- created_at: Time,
529
- customer_id: String,
530
- messaging_use_case_us:
531
- Sentdm::Profiles::MessagingUseCaseUs::TaggedSymbol,
532
- sample_messages: T::Array[String],
533
- updated_at: T.nilable(Time)
534
- }
535
- )
536
- end
537
- def to_hash
538
- end
539
- end
540
- end
541
-
542
- class Error < Sentdm::Internal::Type::BaseModel
543
- OrHash =
544
- T.type_alias do
545
- T.any(
546
- Sentdm::Models::Profiles::CampaignListResponse::Error,
547
- Sentdm::Internal::AnyHash
548
- )
549
- end
550
-
551
- # Machine-readable error code (e.g., "RESOURCE_001")
552
- sig { returns(T.nilable(String)) }
553
- attr_reader :code
554
-
555
- sig { params(code: String).void }
556
- attr_writer :code
557
-
558
- # Additional validation error details (field-level errors)
559
- sig { returns(T.nilable(T::Hash[Symbol, T::Array[String]])) }
560
- attr_accessor :details
561
-
562
- # URL to documentation about this error
563
- sig { returns(T.nilable(String)) }
564
- attr_accessor :doc_url
565
-
566
- # Human-readable error message
567
- sig { returns(T.nilable(String)) }
568
- attr_reader :message
569
-
570
- sig { params(message: String).void }
571
- attr_writer :message
572
-
573
- # Error information
574
- sig do
575
- params(
576
- code: String,
577
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
578
- doc_url: T.nilable(String),
579
- message: String
580
- ).returns(T.attached_class)
581
- end
582
- def self.new(
583
- # Machine-readable error code (e.g., "RESOURCE_001")
584
- code: nil,
585
- # Additional validation error details (field-level errors)
586
- details: nil,
587
- # URL to documentation about this error
588
- doc_url: nil,
589
- # Human-readable error message
590
- message: nil
591
- )
592
- end
593
-
594
- sig do
595
- override.returns(
596
- {
597
- code: String,
598
- details: T.nilable(T::Hash[Symbol, T::Array[String]]),
599
- doc_url: T.nilable(String),
600
- message: String
601
- }
602
- )
603
- end
604
- def to_hash
605
- end
606
- end
607
-
608
- class Meta < Sentdm::Internal::Type::BaseModel
609
- OrHash =
610
- T.type_alias do
611
- T.any(
612
- Sentdm::Models::Profiles::CampaignListResponse::Meta,
613
- Sentdm::Internal::AnyHash
614
- )
615
- end
616
-
617
- # Unique identifier for this request (for tracing and support)
618
- sig { returns(T.nilable(String)) }
619
- attr_reader :request_id
620
-
621
- sig { params(request_id: String).void }
622
- attr_writer :request_id
623
-
624
- # Server timestamp when the response was generated
625
- sig { returns(T.nilable(Time)) }
626
- attr_reader :timestamp
627
-
628
- sig { params(timestamp: Time).void }
629
- attr_writer :timestamp
630
-
631
- # API version used for this request
632
- sig { returns(T.nilable(String)) }
633
- attr_reader :version
634
-
635
- sig { params(version: String).void }
636
- attr_writer :version
637
-
638
- # Request and response metadata
639
- sig do
640
- params(
641
- request_id: String,
642
- timestamp: Time,
643
- version: String
644
- ).returns(T.attached_class)
645
- end
646
- def self.new(
647
- # Unique identifier for this request (for tracing and support)
648
- request_id: nil,
649
- # Server timestamp when the response was generated
650
- timestamp: nil,
651
- # API version used for this request
652
- version: nil
653
- )
654
- end
655
-
656
- sig do
657
- override.returns(
658
- { request_id: String, timestamp: Time, version: String }
659
- )
660
- end
661
- def to_hash
662
- end
663
- end
664
- end
665
- end
666
- end
667
- end