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