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
@@ -0,0 +1,247 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Profiles
6
+ class BrandCampaign < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ #
9
+ # @return [String, nil]
10
+ optional :id, String
11
+
12
+ # @!attribute billed_date
13
+ #
14
+ # @return [Time, nil]
15
+ optional :billed_date, Time, api_name: :billedDate, nil?: true
16
+
17
+ # @!attribute brand_id
18
+ #
19
+ # @return [String, nil]
20
+ optional :brand_id, String, api_name: :brandId, nil?: true
21
+
22
+ # @!attribute cost
23
+ #
24
+ # @return [Float, nil]
25
+ optional :cost, Float, nil?: true
26
+
27
+ # @!attribute created_at
28
+ #
29
+ # @return [Time, nil]
30
+ optional :created_at, Time, api_name: :createdAt
31
+
32
+ # @!attribute customer_id
33
+ #
34
+ # @return [String, nil]
35
+ optional :customer_id, String, api_name: :customerId
36
+
37
+ # @!attribute dca_elections_complete
38
+ # True once every carrier has completed its DCA election and the campaign is
39
+ # operationally ready for traffic.
40
+ #
41
+ # @return [Boolean, nil]
42
+ optional :dca_elections_complete,
43
+ Sentdm::Internal::Type::Boolean,
44
+ api_name: :dcaElectionsComplete,
45
+ nil?: true
46
+
47
+ # @!attribute dca_elections_completed_at
48
+ #
49
+ # @return [Time, nil]
50
+ optional :dca_elections_completed_at, Time, api_name: :dcaElectionsCompletedAt, nil?: true
51
+
52
+ # @!attribute description
53
+ #
54
+ # @return [String, nil]
55
+ optional :description, String
56
+
57
+ # @!attribute has_submission_transaction
58
+ # True when the one-time campaign submission fee has already been charged.
59
+ #
60
+ # @return [Boolean, nil]
61
+ optional :has_submission_transaction,
62
+ Sentdm::Internal::Type::Boolean,
63
+ api_name: :hasSubmissionTransaction
64
+
65
+ # @!attribute help_keywords
66
+ #
67
+ # @return [String, nil]
68
+ optional :help_keywords, String, api_name: :helpKeywords, nil?: true
69
+
70
+ # @!attribute help_message
71
+ #
72
+ # @return [String, nil]
73
+ optional :help_message, String, api_name: :helpMessage, nil?: true
74
+
75
+ # @!attribute message_flow
76
+ #
77
+ # @return [String, nil]
78
+ optional :message_flow, String, api_name: :messageFlow, nil?: true
79
+
80
+ # @!attribute name
81
+ #
82
+ # @return [String, nil]
83
+ optional :name, String
84
+
85
+ # @!attribute optin_keywords
86
+ #
87
+ # @return [String, nil]
88
+ optional :optin_keywords, String, api_name: :optinKeywords, nil?: true
89
+
90
+ # @!attribute optin_message
91
+ #
92
+ # @return [String, nil]
93
+ optional :optin_message, String, api_name: :optinMessage, nil?: true
94
+
95
+ # @!attribute optout_keywords
96
+ #
97
+ # @return [String, nil]
98
+ optional :optout_keywords, String, api_name: :optoutKeywords, nil?: true
99
+
100
+ # @!attribute optout_message
101
+ #
102
+ # @return [String, nil]
103
+ optional :optout_message, String, api_name: :optoutMessage, nil?: true
104
+
105
+ # @!attribute privacy_policy_link
106
+ #
107
+ # @return [String, nil]
108
+ optional :privacy_policy_link, String, api_name: :privacyPolicyLink, nil?: true
109
+
110
+ # @!attribute status
111
+ #
112
+ # @return [Symbol, Sentdm::Models::Profiles::BrandCampaign::Status, nil]
113
+ optional :status, enum: -> { Sentdm::Profiles::BrandCampaign::Status }, nil?: true
114
+
115
+ # @!attribute submitted_at
116
+ #
117
+ # @return [Time, nil]
118
+ optional :submitted_at, Time, api_name: :submittedAt, nil?: true
119
+
120
+ # @!attribute submitted_to_tcr
121
+ #
122
+ # @return [Boolean, nil]
123
+ optional :submitted_to_tcr, Sentdm::Internal::Type::Boolean, api_name: :submittedToTCR
124
+
125
+ # @!attribute tcr_campaign_id
126
+ # The Campaign Registry identifier, once the campaign has been accepted.
127
+ #
128
+ # @return [String, nil]
129
+ optional :tcr_campaign_id, String, api_name: :tcrCampaignId, nil?: true
130
+
131
+ # @!attribute tcr_sync_error
132
+ # Surfaced so customers can see why a submission did not reach the registry.
133
+ #
134
+ # @return [String, nil]
135
+ optional :tcr_sync_error, String, api_name: :tcrSyncError, nil?: true
136
+
137
+ # @!attribute terms_and_conditions_link
138
+ #
139
+ # @return [String, nil]
140
+ optional :terms_and_conditions_link, String, api_name: :termsAndConditionsLink, nil?: true
141
+
142
+ # @!attribute type
143
+ # Campaign type (for example KYC or App).
144
+ #
145
+ # @return [String, nil]
146
+ optional :type, String
147
+
148
+ # @!attribute updated_at
149
+ #
150
+ # @return [Time, nil]
151
+ optional :updated_at, Time, api_name: :updatedAt, nil?: true
152
+
153
+ # @!attribute use_cases
154
+ #
155
+ # @return [Array<Sentdm::Models::Profiles::CampaignUseCase>, nil]
156
+ optional :use_cases,
157
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Profiles::CampaignUseCase] },
158
+ api_name: :useCases
159
+
160
+ # @!attribute volume
161
+ # Expected messaging volume for this campaign — customer-supplied on
162
+ # create/update, and the input to both the TCR usecase classification (LOW_VOLUME
163
+ # vs MIXED/specific) and the campaign fee tier. Surfaced so customers can read
164
+ # back the value they set.
165
+ #
166
+ # @return [String, nil]
167
+ optional :volume, String, nil?: true
168
+
169
+ # @!method initialize(id: nil, billed_date: nil, brand_id: nil, cost: nil, created_at: nil, customer_id: nil, dca_elections_complete: nil, dca_elections_completed_at: nil, description: nil, has_submission_transaction: nil, help_keywords: nil, help_message: nil, message_flow: nil, name: nil, optin_keywords: nil, optin_message: nil, optout_keywords: nil, optout_message: nil, privacy_policy_link: nil, status: nil, submitted_at: nil, submitted_to_tcr: nil, tcr_campaign_id: nil, tcr_sync_error: nil, terms_and_conditions_link: nil, type: nil, updated_at: nil, use_cases: nil, volume: nil)
170
+ # Some parameter documentations has been truncated, see
171
+ # {Sentdm::Models::Profiles::BrandCampaign} for more details.
172
+ #
173
+ # A 10DLC campaign registered for a brand.
174
+ #
175
+ # @param id [String]
176
+ #
177
+ # @param billed_date [Time, nil]
178
+ #
179
+ # @param brand_id [String, nil]
180
+ #
181
+ # @param cost [Float, nil]
182
+ #
183
+ # @param created_at [Time]
184
+ #
185
+ # @param customer_id [String]
186
+ #
187
+ # @param dca_elections_complete [Boolean, nil] True once every carrier has completed its DCA election and the campaign is
188
+ #
189
+ # @param dca_elections_completed_at [Time, nil]
190
+ #
191
+ # @param description [String]
192
+ #
193
+ # @param has_submission_transaction [Boolean] True when the one-time campaign submission fee has already been charged.
194
+ #
195
+ # @param help_keywords [String, nil]
196
+ #
197
+ # @param help_message [String, nil]
198
+ #
199
+ # @param message_flow [String, nil]
200
+ #
201
+ # @param name [String]
202
+ #
203
+ # @param optin_keywords [String, nil]
204
+ #
205
+ # @param optin_message [String, nil]
206
+ #
207
+ # @param optout_keywords [String, nil]
208
+ #
209
+ # @param optout_message [String, nil]
210
+ #
211
+ # @param privacy_policy_link [String, nil]
212
+ #
213
+ # @param status [Symbol, Sentdm::Models::Profiles::BrandCampaign::Status, nil]
214
+ #
215
+ # @param submitted_at [Time, nil]
216
+ #
217
+ # @param submitted_to_tcr [Boolean]
218
+ #
219
+ # @param tcr_campaign_id [String, nil] The Campaign Registry identifier, once the campaign has been accepted.
220
+ #
221
+ # @param tcr_sync_error [String, nil] Surfaced so customers can see why a submission did not reach the registry.
222
+ #
223
+ # @param terms_and_conditions_link [String, nil]
224
+ #
225
+ # @param type [String] Campaign type (for example KYC or App).
226
+ #
227
+ # @param updated_at [Time, nil]
228
+ #
229
+ # @param use_cases [Array<Sentdm::Models::Profiles::CampaignUseCase>]
230
+ #
231
+ # @param volume [String, nil] Expected messaging volume for this campaign — customer-supplied on create/update
232
+
233
+ # @see Sentdm::Models::Profiles::BrandCampaign#status
234
+ module Status
235
+ extend Sentdm::Internal::Type::Enum
236
+
237
+ SENT_CREATED = :SENT_CREATED
238
+ ACTIVE = :ACTIVE
239
+ EXPIRED = :EXPIRED
240
+
241
+ # @!method self.values
242
+ # @return [Array<Symbol>]
243
+ end
244
+ end
245
+ end
246
+ end
247
+ end
@@ -16,8 +16,8 @@ module Sentdm
16
16
  # @!attribute campaign
17
17
  # Campaign data for create or update operation
18
18
  #
19
- # @return [Sentdm::Models::Profiles::CampaignCreateParams::Campaign]
20
- required :campaign, -> { Sentdm::Profiles::CampaignCreateParams::Campaign }
19
+ # @return [Sentdm::Models::Profiles::CampaignData]
20
+ required :campaign, -> { Sentdm::Profiles::CampaignData }
21
21
 
22
22
  # @!attribute sandbox
23
23
  # Sandbox flag - when true, the operation is simulated without side effects Useful
@@ -42,7 +42,7 @@ module Sentdm
42
42
  #
43
43
  # @param profile_id [String]
44
44
  #
45
- # @param campaign [Sentdm::Models::Profiles::CampaignCreateParams::Campaign] Campaign data for create or update operation
45
+ # @param campaign [Sentdm::Models::Profiles::CampaignData] Campaign data for create or update operation
46
46
  #
47
47
  # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
48
48
  #
@@ -51,159 +51,6 @@ module Sentdm
51
51
  # @param x_profile_id [String]
52
52
  #
53
53
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
54
-
55
- class Campaign < Sentdm::Internal::Type::BaseModel
56
- # @!attribute description
57
- # Campaign description
58
- #
59
- # @return [String]
60
- required :description, String
61
-
62
- # @!attribute name
63
- # Campaign name
64
- #
65
- # @return [String]
66
- required :name, String
67
-
68
- # @!attribute type
69
- # Campaign type (e.g., "KYC", "App").
70
- #
71
- # Still required of a caller, and consulted by nothing. It named the signup path
72
- # that produced the campaign, was written to a column no query filters on, no TCR
73
- # payload carries and no fee or status decision reads, and is now defaulted at the
74
- # entity instead. It stays required so that a request which was valid before is
75
- # still valid — dropping it would be the client-visible change, not keeping it.
76
- #
77
- # @return [String]
78
- required :type, String
79
-
80
- # @!attribute use_cases
81
- # List of use cases with sample messages
82
- #
83
- # @return [Array<Sentdm::Models::Profiles::CampaignCreateParams::Campaign::UseCase>]
84
- required :use_cases,
85
- -> {
86
- Sentdm::Internal::Type::ArrayOf[Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase]
87
- },
88
- api_name: :useCases
89
-
90
- # @!attribute help_keywords
91
- # Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
92
- #
93
- # @return [String, nil]
94
- optional :help_keywords, String, api_name: :helpKeywords, nil?: true
95
-
96
- # @!attribute help_message
97
- # Message sent when user requests help
98
- #
99
- # @return [String, nil]
100
- optional :help_message, String, api_name: :helpMessage, nil?: true
101
-
102
- # @!attribute message_flow
103
- # Description of how messages flow in the campaign
104
- #
105
- # @return [String, nil]
106
- optional :message_flow, String, api_name: :messageFlow, nil?: true
107
-
108
- # @!attribute optin_keywords
109
- # Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
110
- #
111
- # @return [String, nil]
112
- optional :optin_keywords, String, api_name: :optinKeywords, nil?: true
113
-
114
- # @!attribute optin_message
115
- # Message sent when user opts in
116
- #
117
- # @return [String, nil]
118
- optional :optin_message, String, api_name: :optinMessage, nil?: true
119
-
120
- # @!attribute optout_keywords
121
- # Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
122
- #
123
- # @return [String, nil]
124
- optional :optout_keywords, String, api_name: :optoutKeywords, nil?: true
125
-
126
- # @!attribute optout_message
127
- # Message sent when user opts out
128
- #
129
- # @return [String, nil]
130
- optional :optout_message, String, api_name: :optoutMessage, nil?: true
131
-
132
- # @!attribute privacy_policy_link
133
- # URL to privacy policy
134
- #
135
- # @return [String, nil]
136
- optional :privacy_policy_link, String, api_name: :privacyPolicyLink, nil?: true
137
-
138
- # @!attribute terms_and_conditions_link
139
- # URL to terms and conditions
140
- #
141
- # @return [String, nil]
142
- optional :terms_and_conditions_link, String, api_name: :termsAndConditionsLink, nil?: true
143
-
144
- # @!attribute volume
145
- # Expected messaging volume for this campaign. Numeric string (e.g. "1999",
146
- # "5000"). Values below 2000 bill at the low-volume tier.
147
- #
148
- # @return [String, nil]
149
- optional :volume, String, nil?: true
150
-
151
- # @!method initialize(description:, name:, type:, use_cases:, help_keywords: nil, help_message: nil, message_flow: nil, optin_keywords: nil, optin_message: nil, optout_keywords: nil, optout_message: nil, privacy_policy_link: nil, terms_and_conditions_link: nil, volume: nil)
152
- # Some parameter documentations has been truncated, see
153
- # {Sentdm::Models::Profiles::CampaignCreateParams::Campaign} for more details.
154
- #
155
- # Campaign data for create or update operation
156
- #
157
- # @param description [String] Campaign description
158
- #
159
- # @param name [String] Campaign name
160
- #
161
- # @param type [String] Campaign type (e.g., "KYC", "App").
162
- #
163
- # @param use_cases [Array<Sentdm::Models::Profiles::CampaignCreateParams::Campaign::UseCase>] List of use cases with sample messages
164
- #
165
- # @param help_keywords [String, nil] Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
166
- #
167
- # @param help_message [String, nil] Message sent when user requests help
168
- #
169
- # @param message_flow [String, nil] Description of how messages flow in the campaign
170
- #
171
- # @param optin_keywords [String, nil] Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
172
- #
173
- # @param optin_message [String, nil] Message sent when user opts in
174
- #
175
- # @param optout_keywords [String, nil] Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
176
- #
177
- # @param optout_message [String, nil] Message sent when user opts out
178
- #
179
- # @param privacy_policy_link [String, nil] URL to privacy policy
180
- #
181
- # @param terms_and_conditions_link [String, nil] URL to terms and conditions
182
- #
183
- # @param volume [String, nil] Expected messaging volume for this campaign. Numeric string (e.g. "1999", "5000"
184
-
185
- class UseCase < Sentdm::Internal::Type::BaseModel
186
- # @!attribute messaging_use_case_us
187
- #
188
- # @return [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs]
189
- required :messaging_use_case_us,
190
- enum: -> { Sentdm::Profiles::MessagingUseCaseUs },
191
- api_name: :messagingUseCaseUs
192
-
193
- # @!attribute sample_messages
194
- # Sample messages for this use case (1-5 messages, max 1024 characters each)
195
- #
196
- # @return [Array<String>]
197
- required :sample_messages, Sentdm::Internal::Type::ArrayOf[String], api_name: :sampleMessages
198
-
199
- # @!method initialize(messaging_use_case_us:, sample_messages:)
200
- # Campaign use case with sample messages
201
- #
202
- # @param messaging_use_case_us [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs]
203
- #
204
- # @param sample_messages [Array<String>] Sample messages for this use case (1-5 messages, max 1024 characters each)
205
- end
206
- end
207
54
  end
208
55
  end
209
56
  end
@@ -0,0 +1,136 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Profiles
6
+ class CampaignData < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute description
8
+ # Campaign description
9
+ #
10
+ # @return [String]
11
+ required :description, String
12
+
13
+ # @!attribute name
14
+ # Campaign name
15
+ #
16
+ # @return [String]
17
+ required :name, String
18
+
19
+ # @!attribute type
20
+ # Campaign type (e.g., "KYC", "App").
21
+ #
22
+ # Still required of a caller, and consulted by nothing. It named the signup path
23
+ # that produced the campaign, was written to a column no query filters on, no TCR
24
+ # payload carries and no fee or status decision reads, and is now defaulted at the
25
+ # entity instead. It stays required so that a request which was valid before is
26
+ # still valid — dropping it would be the client-visible change, not keeping it.
27
+ #
28
+ # @return [String]
29
+ required :type, String
30
+
31
+ # @!attribute use_cases
32
+ # List of use cases with sample messages
33
+ #
34
+ # @return [Array<Sentdm::Models::Profiles::CampaignUseCaseData>]
35
+ required :use_cases,
36
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Profiles::CampaignUseCaseData] },
37
+ api_name: :useCases
38
+
39
+ # @!attribute help_keywords
40
+ # Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
41
+ #
42
+ # @return [String, nil]
43
+ optional :help_keywords, String, api_name: :helpKeywords, nil?: true
44
+
45
+ # @!attribute help_message
46
+ # Message sent when user requests help
47
+ #
48
+ # @return [String, nil]
49
+ optional :help_message, String, api_name: :helpMessage, nil?: true
50
+
51
+ # @!attribute message_flow
52
+ # Description of how messages flow in the campaign
53
+ #
54
+ # @return [String, nil]
55
+ optional :message_flow, String, api_name: :messageFlow, nil?: true
56
+
57
+ # @!attribute optin_keywords
58
+ # Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
59
+ #
60
+ # @return [String, nil]
61
+ optional :optin_keywords, String, api_name: :optinKeywords, nil?: true
62
+
63
+ # @!attribute optin_message
64
+ # Message sent when user opts in
65
+ #
66
+ # @return [String, nil]
67
+ optional :optin_message, String, api_name: :optinMessage, nil?: true
68
+
69
+ # @!attribute optout_keywords
70
+ # Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
71
+ #
72
+ # @return [String, nil]
73
+ optional :optout_keywords, String, api_name: :optoutKeywords, nil?: true
74
+
75
+ # @!attribute optout_message
76
+ # Message sent when user opts out
77
+ #
78
+ # @return [String, nil]
79
+ optional :optout_message, String, api_name: :optoutMessage, nil?: true
80
+
81
+ # @!attribute privacy_policy_link
82
+ # URL to privacy policy
83
+ #
84
+ # @return [String, nil]
85
+ optional :privacy_policy_link, String, api_name: :privacyPolicyLink, nil?: true
86
+
87
+ # @!attribute terms_and_conditions_link
88
+ # URL to terms and conditions
89
+ #
90
+ # @return [String, nil]
91
+ optional :terms_and_conditions_link, String, api_name: :termsAndConditionsLink, nil?: true
92
+
93
+ # @!attribute volume
94
+ # Expected messaging volume for this campaign. Numeric string (e.g. "1999",
95
+ # "5000"). Values below 2000 bill at the low-volume tier.
96
+ #
97
+ # @return [String, nil]
98
+ optional :volume, String, nil?: true
99
+
100
+ # @!method initialize(description:, name:, type:, use_cases:, help_keywords: nil, help_message: nil, message_flow: nil, optin_keywords: nil, optin_message: nil, optout_keywords: nil, optout_message: nil, privacy_policy_link: nil, terms_and_conditions_link: nil, volume: nil)
101
+ # Some parameter documentations has been truncated, see
102
+ # {Sentdm::Models::Profiles::CampaignData} for more details.
103
+ #
104
+ # Campaign data for create or update operation
105
+ #
106
+ # @param description [String] Campaign description
107
+ #
108
+ # @param name [String] Campaign name
109
+ #
110
+ # @param type [String] Campaign type (e.g., "KYC", "App").
111
+ #
112
+ # @param use_cases [Array<Sentdm::Models::Profiles::CampaignUseCaseData>] List of use cases with sample messages
113
+ #
114
+ # @param help_keywords [String, nil] Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
115
+ #
116
+ # @param help_message [String, nil] Message sent when user requests help
117
+ #
118
+ # @param message_flow [String, nil] Description of how messages flow in the campaign
119
+ #
120
+ # @param optin_keywords [String, nil] Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
121
+ #
122
+ # @param optin_message [String, nil] Message sent when user opts in
123
+ #
124
+ # @param optout_keywords [String, nil] Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
125
+ #
126
+ # @param optout_message [String, nil] Message sent when user opts out
127
+ #
128
+ # @param privacy_policy_link [String, nil] URL to privacy policy
129
+ #
130
+ # @param terms_and_conditions_link [String, nil] URL to terms and conditions
131
+ #
132
+ # @param volume [String, nil] Expected messaging volume for this campaign. Numeric string (e.g. "1999", "5000"
133
+ end
134
+ end
135
+ end
136
+ end
@@ -4,7 +4,7 @@ module Sentdm
4
4
  module Models
5
5
  module Profiles
6
6
  # @see Sentdm::Resources::Profiles::Campaigns#delete
7
- class CampaignDeleteParams < Sentdm::Internal::Type::BaseModel
7
+ class CampaignDeleteParams < Sentdm::Models::MutationRequest
8
8
  extend Sentdm::Internal::Type::RequestParameters::Converter
9
9
  include Sentdm::Internal::Type::RequestParameters
10
10
 
@@ -18,30 +18,15 @@ module Sentdm
18
18
  # @return [String]
19
19
  required :campaign_id, String
20
20
 
21
- # @!attribute sandbox
22
- # Sandbox flag - when true, the operation is simulated without side effects Useful
23
- # for testing integrations without actual execution
24
- #
25
- # @return [Boolean, nil]
26
- optional :sandbox, Sentdm::Internal::Type::Boolean
27
-
28
21
  # @!attribute x_profile_id
29
22
  #
30
23
  # @return [String, nil]
31
24
  optional :x_profile_id, String
32
25
 
33
- # @!method initialize(profile_id:, campaign_id:, sandbox: nil, x_profile_id: nil, request_options: {})
34
- # Some parameter documentations has been truncated, see
35
- # {Sentdm::Models::Profiles::CampaignDeleteParams} for more details.
36
- #
26
+ # @!method initialize(profile_id:, campaign_id:, x_profile_id: nil, request_options: {})
37
27
  # @param profile_id [String]
38
- #
39
28
  # @param campaign_id [String]
40
- #
41
- # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
42
- #
43
29
  # @param x_profile_id [String]
44
- #
45
30
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
46
31
  end
47
32
  end