sentdm 0.29.0 → 0.31.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 (298) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +55 -1
  4. data/lib/sentdm/internal/contacts_page.rb +115 -0
  5. data/lib/sentdm/internal/conversations_page.rb +115 -0
  6. data/lib/sentdm/internal/templates_page.rb +115 -0
  7. data/lib/sentdm/internal/type/base_model.rb +5 -5
  8. data/lib/sentdm/internal/webhook_events_page.rb +115 -0
  9. data/lib/sentdm/internal/webhooks_page.rb +115 -0
  10. data/lib/sentdm/models/api_meta.rb +34 -0
  11. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  12. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
  13. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +42 -0
  14. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  15. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  16. data/lib/sentdm/models/api_response_template.rb +43 -0
  17. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  18. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  19. data/lib/sentdm/models/brand_business_info.rb +114 -0
  20. data/lib/sentdm/models/brand_compliance_info.rb +59 -0
  21. data/lib/sentdm/models/brand_contact_info.rb +58 -0
  22. data/lib/sentdm/models/brands_brand_data.rb +34 -0
  23. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  24. data/lib/sentdm/models/contact_list_params.rb +13 -13
  25. data/lib/sentdm/models/contact_message_summary.rb +76 -0
  26. data/lib/sentdm/models/contact_response.rb +140 -0
  27. data/lib/sentdm/models/conversation_list_messages_params.rb +5 -5
  28. data/lib/sentdm/models/conversation_list_params.rb +5 -5
  29. data/lib/sentdm/models/conversation_messages_list.rb +245 -0
  30. data/lib/sentdm/models/error_detail.rb +42 -0
  31. data/lib/sentdm/models/me_retrieve_response.rb +12 -242
  32. data/lib/sentdm/models/message_retrieve_activities_response.rb +9 -159
  33. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  34. data/lib/sentdm/models/message_send_response.rb +6 -74
  35. data/lib/sentdm/models/mutation_request.rb +20 -0
  36. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  37. data/lib/sentdm/models/pagination_meta.rb +84 -0
  38. data/lib/sentdm/models/payment_details.rb +40 -0
  39. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  40. data/lib/sentdm/models/profile_create_params.rb +9 -345
  41. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  42. data/lib/sentdm/models/profile_detail.rb +650 -0
  43. data/lib/sentdm/models/profile_list_response.rb +12 -815
  44. data/lib/sentdm/models/profile_settings.rb +85 -0
  45. data/lib/sentdm/models/profile_update_params.rb +9 -345
  46. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +45 -0
  47. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +45 -0
  48. data/lib/sentdm/models/profiles/brand_campaign.rb +247 -0
  49. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -156
  50. data/lib/sentdm/models/profiles/campaign_data.rb +136 -0
  51. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  52. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -156
  53. data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
  54. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +29 -0
  55. data/lib/sentdm/models/template.rb +103 -0
  56. data/lib/sentdm/models/template_list_params.rb +17 -17
  57. data/lib/sentdm/models/user_list_response.rb +12 -249
  58. data/lib/sentdm/models/user_remove_params.rb +2 -16
  59. data/lib/sentdm/models/user_response.rb +94 -0
  60. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  61. data/lib/sentdm/models/webhook_list_event_types_response.rb +12 -203
  62. data/lib/sentdm/models/webhook_list_events_params.rb +5 -5
  63. data/lib/sentdm/models/webhook_list_events_response.rb +87 -295
  64. data/lib/sentdm/models/webhook_list_params.rb +11 -11
  65. data/lib/sentdm/models/webhook_response.rb +121 -0
  66. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  67. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  68. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  69. data/lib/sentdm/models.rb +52 -0
  70. data/lib/sentdm/resources/contacts.rb +16 -15
  71. data/lib/sentdm/resources/conversations.rb +10 -8
  72. data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
  73. data/lib/sentdm/resources/profiles.rb +12 -12
  74. data/lib/sentdm/resources/templates.rb +16 -15
  75. data/lib/sentdm/resources/users.rb +6 -6
  76. data/lib/sentdm/resources/webhooks.rb +20 -18
  77. data/lib/sentdm/version.rb +1 -1
  78. data/lib/sentdm.rb +37 -25
  79. data/rbi/sentdm/internal/contacts_page.rbi +71 -0
  80. data/rbi/sentdm/internal/conversations_page.rbi +71 -0
  81. data/rbi/sentdm/internal/templates_page.rbi +71 -0
  82. data/rbi/sentdm/internal/webhook_events_page.rbi +71 -0
  83. data/rbi/sentdm/internal/webhooks_page.rbi +71 -0
  84. data/rbi/sentdm/models/api_meta.rbi +55 -0
  85. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  86. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
  87. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
  88. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  89. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  90. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  91. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  92. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  93. data/rbi/sentdm/models/brand_business_info.rbi +162 -0
  94. data/rbi/sentdm/models/brand_compliance_info.rbi +76 -0
  95. data/rbi/sentdm/models/brand_contact_info.rbi +78 -0
  96. data/rbi/sentdm/models/brands_brand_data.rbi +65 -0
  97. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  98. data/rbi/sentdm/models/contact_list_params.rbi +19 -13
  99. data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
  100. data/rbi/sentdm/models/contact_response.rbi +200 -0
  101. data/rbi/sentdm/models/conversation_list_messages_params.rbi +12 -6
  102. data/rbi/sentdm/models/conversation_list_params.rbi +16 -5
  103. data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
  104. data/rbi/sentdm/models/error_detail.rbi +66 -0
  105. data/rbi/sentdm/models/me_retrieve_response.rbi +16 -367
  106. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +12 -325
  107. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  108. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  109. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  110. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  111. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  112. data/rbi/sentdm/models/payment_details.rbi +56 -0
  113. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  114. data/rbi/sentdm/models/profile_create_params.rbi +12 -546
  115. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  116. data/rbi/sentdm/models/profile_detail.rbi +918 -0
  117. data/rbi/sentdm/models/profile_list_response.rbi +16 -1347
  118. data/rbi/sentdm/models/profile_settings.rbi +102 -0
  119. data/rbi/sentdm/models/profile_update_params.rbi +12 -546
  120. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +81 -0
  121. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +76 -0
  122. data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
  123. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -218
  124. data/rbi/sentdm/models/profiles/campaign_data.rbi +158 -0
  125. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  126. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -218
  127. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
  128. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +51 -0
  129. data/rbi/sentdm/models/template.rbi +139 -0
  130. data/rbi/sentdm/models/template_list_params.rbi +22 -16
  131. data/rbi/sentdm/models/user_list_response.rbi +16 -444
  132. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  133. data/rbi/sentdm/models/user_response.rbi +131 -0
  134. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  135. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +16 -414
  136. data/rbi/sentdm/models/webhook_list_events_params.rbi +12 -6
  137. data/rbi/sentdm/models/webhook_list_events_response.rbi +113 -564
  138. data/rbi/sentdm/models/webhook_list_params.rbi +16 -10
  139. data/rbi/sentdm/models/webhook_response.rbi +153 -0
  140. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  141. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  142. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  143. data/rbi/sentdm/models.rbi +54 -0
  144. data/rbi/sentdm/resources/contacts.rbi +10 -10
  145. data/rbi/sentdm/resources/conversations.rbi +14 -6
  146. data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
  147. data/rbi/sentdm/resources/profiles.rbi +9 -13
  148. data/rbi/sentdm/resources/templates.rbi +10 -10
  149. data/rbi/sentdm/resources/users.rbi +3 -3
  150. data/rbi/sentdm/resources/webhooks.rbi +16 -12
  151. data/sig/sentdm/internal/contacts_page.rbs +41 -0
  152. data/sig/sentdm/internal/conversations_page.rbs +41 -0
  153. data/sig/sentdm/internal/templates_page.rbs +44 -0
  154. data/sig/sentdm/internal/webhook_events_page.rbs +41 -0
  155. data/sig/sentdm/internal/webhooks_page.rbs +41 -0
  156. data/sig/sentdm/models/api_meta.rbs +27 -0
  157. data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
  158. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
  159. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
  160. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  161. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  162. data/sig/sentdm/models/api_response_template.rbs +39 -0
  163. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  164. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  165. data/sig/sentdm/models/brand_business_info.rbs +89 -0
  166. data/sig/sentdm/models/brand_compliance_info.rbs +45 -0
  167. data/sig/sentdm/models/brand_contact_info.rbs +45 -0
  168. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  169. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  170. data/sig/sentdm/models/contact_list_params.rbs +11 -7
  171. data/sig/sentdm/models/contact_message_summary.rbs +84 -0
  172. data/sig/sentdm/models/contact_response.rbs +118 -0
  173. data/sig/sentdm/models/conversation_list_messages_params.rbs +8 -4
  174. data/sig/sentdm/models/conversation_list_params.rbs +8 -4
  175. data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
  176. data/sig/sentdm/models/error_detail.rbs +39 -0
  177. data/sig/sentdm/models/me_retrieve_response.rbs +18 -176
  178. data/sig/sentdm/models/message_retrieve_activities_response.rbs +14 -142
  179. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  180. data/sig/sentdm/models/message_send_response.rbs +9 -71
  181. data/sig/sentdm/models/mutation_request.rbs +15 -0
  182. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  183. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  184. data/sig/sentdm/models/payment_details.rbs +30 -0
  185. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  186. data/sig/sentdm/models/profile_create_params.rbs +12 -263
  187. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  188. data/sig/sentdm/models/profile_detail.rbs +461 -0
  189. data/sig/sentdm/models/profile_list_response.rbs +20 -606
  190. data/sig/sentdm/models/profile_settings.rbs +50 -0
  191. data/sig/sentdm/models/profile_update_params.rbs +12 -263
  192. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +41 -0
  193. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +41 -0
  194. data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
  195. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -108
  196. data/sig/sentdm/models/profiles/campaign_data.rbs +87 -0
  197. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  198. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -108
  199. data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
  200. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +27 -0
  201. data/sig/sentdm/models/template.rbs +84 -0
  202. data/sig/sentdm/models/template_list_params.rbs +14 -10
  203. data/sig/sentdm/models/user_list_response.rbs +20 -224
  204. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  205. data/sig/sentdm/models/user_response.rbs +79 -0
  206. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  207. data/sig/sentdm/models/webhook_list_event_types_response.rbs +20 -196
  208. data/sig/sentdm/models/webhook_list_events_params.rbs +8 -4
  209. data/sig/sentdm/models/webhook_list_events_response.rbs +63 -255
  210. data/sig/sentdm/models/webhook_list_params.rbs +11 -7
  211. data/sig/sentdm/models/webhook_response.rbs +110 -0
  212. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  213. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  214. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  215. data/sig/sentdm/models.rbs +52 -0
  216. data/sig/sentdm/resources/contacts.rbs +7 -7
  217. data/sig/sentdm/resources/conversations.rbs +6 -6
  218. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  219. data/sig/sentdm/resources/profiles.rbs +9 -9
  220. data/sig/sentdm/resources/templates.rbs +6 -6
  221. data/sig/sentdm/resources/users.rbs +3 -3
  222. data/sig/sentdm/resources/webhooks.rbs +10 -10
  223. metadata +113 -77
  224. data/lib/sentdm/models/contact_create_response.rb +0 -249
  225. data/lib/sentdm/models/contact_list_response.rb +0 -348
  226. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +0 -186
  227. data/lib/sentdm/models/contact_retrieve_response.rb +0 -249
  228. data/lib/sentdm/models/contact_update_response.rb +0 -249
  229. data/lib/sentdm/models/conversation_list_messages_response.rb +0 -436
  230. data/lib/sentdm/models/conversation_list_response.rb +0 -433
  231. data/lib/sentdm/models/profile_create_response.rb +0 -760
  232. data/lib/sentdm/models/profile_retrieve_response.rb +0 -762
  233. data/lib/sentdm/models/profile_update_response.rb +0 -760
  234. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -420
  235. data/lib/sentdm/models/profiles/campaign_list_response.rb +0 -421
  236. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -420
  237. data/lib/sentdm/models/template_create_response.rb +0 -209
  238. data/lib/sentdm/models/template_list_response.rb +0 -311
  239. data/lib/sentdm/models/template_retrieve_response.rb +0 -209
  240. data/lib/sentdm/models/template_update_response.rb +0 -209
  241. data/lib/sentdm/models/user_invite_response.rb +0 -201
  242. data/lib/sentdm/models/user_retrieve_response.rb +0 -201
  243. data/lib/sentdm/models/user_update_role_response.rb +0 -201
  244. data/lib/sentdm/models/webhook_create_response.rb +0 -229
  245. data/lib/sentdm/models/webhook_list_response.rb +0 -329
  246. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -229
  247. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -229
  248. data/lib/sentdm/models/webhook_update_response.rb +0 -229
  249. data/rbi/sentdm/models/contact_create_response.rbi +0 -407
  250. data/rbi/sentdm/models/contact_list_response.rbi +0 -634
  251. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +0 -397
  252. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -409
  253. data/rbi/sentdm/models/contact_update_response.rbi +0 -407
  254. data/rbi/sentdm/models/conversation_list_messages_response.rbi +0 -843
  255. data/rbi/sentdm/models/conversation_list_response.rbi +0 -819
  256. data/rbi/sentdm/models/profile_create_response.rbi +0 -1226
  257. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1230
  258. data/rbi/sentdm/models/profile_update_response.rbi +0 -1226
  259. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -674
  260. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +0 -667
  261. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -674
  262. data/rbi/sentdm/models/template_create_response.rbi +0 -349
  263. data/rbi/sentdm/models/template_list_response.rbi +0 -576
  264. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -355
  265. data/rbi/sentdm/models/template_update_response.rbi +0 -349
  266. data/rbi/sentdm/models/user_invite_response.rbi +0 -336
  267. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -336
  268. data/rbi/sentdm/models/user_update_role_response.rbi +0 -341
  269. data/rbi/sentdm/models/webhook_create_response.rbi +0 -361
  270. data/rbi/sentdm/models/webhook_list_response.rbi +0 -587
  271. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -363
  272. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -379
  273. data/rbi/sentdm/models/webhook_update_response.rbi +0 -361
  274. data/sig/sentdm/models/contact_create_response.rbs +0 -216
  275. data/sig/sentdm/models/contact_list_response.rbs +0 -310
  276. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +0 -182
  277. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -216
  278. data/sig/sentdm/models/contact_update_response.rbs +0 -216
  279. data/sig/sentdm/models/conversation_list_messages_response.rbs +0 -404
  280. data/sig/sentdm/models/conversation_list_response.rbs +0 -404
  281. data/sig/sentdm/models/profile_create_response.rbs +0 -559
  282. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -559
  283. data/sig/sentdm/models/profile_update_response.rbs +0 -559
  284. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -357
  285. data/sig/sentdm/models/profiles/campaign_list_response.rbs +0 -357
  286. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -357
  287. data/sig/sentdm/models/template_create_response.rbs +0 -182
  288. data/sig/sentdm/models/template_list_response.rbs +0 -276
  289. data/sig/sentdm/models/template_retrieve_response.rbs +0 -182
  290. data/sig/sentdm/models/template_update_response.rbs +0 -182
  291. data/sig/sentdm/models/user_invite_response.rbs +0 -177
  292. data/sig/sentdm/models/user_retrieve_response.rbs +0 -177
  293. data/sig/sentdm/models/user_update_role_response.rbs +0 -177
  294. data/sig/sentdm/models/webhook_create_response.rbs +0 -208
  295. data/sig/sentdm/models/webhook_list_response.rbs +0 -302
  296. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -208
  297. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -208
  298. 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 CampaignUpdateResponse < Sentdm::Internal::Type::BaseModel
7
- OrHash =
8
- T.type_alias do
9
- T.any(
10
- Sentdm::Models::Profiles::CampaignUpdateResponse,
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::CampaignUpdateResponse::Data)
19
- )
20
- end
21
- attr_reader :data
22
-
23
- sig do
24
- params(
25
- data:
26
- T.nilable(
27
- Sentdm::Models::Profiles::CampaignUpdateResponse::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::CampaignUpdateResponse::Error)
37
- )
38
- end
39
- attr_reader :error
40
-
41
- sig do
42
- params(
43
- error:
44
- T.nilable(
45
- Sentdm::Models::Profiles::CampaignUpdateResponse::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::CampaignUpdateResponse::Meta)
55
- )
56
- end
57
- attr_reader :meta
58
-
59
- sig do
60
- params(
61
- meta: Sentdm::Models::Profiles::CampaignUpdateResponse::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::CampaignUpdateResponse::Data::OrHash
79
- ),
80
- error:
81
- T.nilable(
82
- Sentdm::Models::Profiles::CampaignUpdateResponse::Error::OrHash
83
- ),
84
- meta:
85
- Sentdm::Models::Profiles::CampaignUpdateResponse::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::CampaignUpdateResponse::Data
107
- ),
108
- error:
109
- T.nilable(
110
- Sentdm::Models::Profiles::CampaignUpdateResponse::Error
111
- ),
112
- meta: Sentdm::Models::Profiles::CampaignUpdateResponse::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::CampaignUpdateResponse::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::CampaignUpdateResponse::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::CampaignUpdateResponse::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::CampaignUpdateResponse::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::CampaignUpdateResponse::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::CampaignUpdateResponse::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::CampaignUpdateResponse::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::CampaignUpdateResponse::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::CampaignUpdateResponse::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::CampaignUpdateResponse::Data::Status::TaggedSymbol
417
- )
418
- ACTIVE =
419
- T.let(
420
- :ACTIVE,
421
- Sentdm::Models::Profiles::CampaignUpdateResponse::Data::Status::TaggedSymbol
422
- )
423
- EXPIRED =
424
- T.let(
425
- :EXPIRED,
426
- Sentdm::Models::Profiles::CampaignUpdateResponse::Data::Status::TaggedSymbol
427
- )
428
-
429
- sig do
430
- override.returns(
431
- T::Array[
432
- Sentdm::Models::Profiles::CampaignUpdateResponse::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::CampaignUpdateResponse::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::CampaignUpdateResponse::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::CampaignUpdateResponse::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