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,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