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
@@ -21,8 +21,8 @@ module Sentdm
21
21
  # @!attribute campaign
22
22
  # Campaign data for create or update operation
23
23
  #
24
- # @return [Sentdm::Models::Profiles::CampaignUpdateParams::Campaign]
25
- required :campaign, -> { Sentdm::Profiles::CampaignUpdateParams::Campaign }
24
+ # @return [Sentdm::Models::Profiles::CampaignData]
25
+ required :campaign, -> { Sentdm::Profiles::CampaignData }
26
26
 
27
27
  # @!attribute sandbox
28
28
  # Sandbox flag - when true, the operation is simulated without side effects Useful
@@ -49,7 +49,7 @@ module Sentdm
49
49
  #
50
50
  # @param campaign_id [String]
51
51
  #
52
- # @param campaign [Sentdm::Models::Profiles::CampaignUpdateParams::Campaign] Campaign data for create or update operation
52
+ # @param campaign [Sentdm::Models::Profiles::CampaignData] Campaign data for create or update operation
53
53
  #
54
54
  # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
55
55
  #
@@ -58,159 +58,6 @@ module Sentdm
58
58
  # @param x_profile_id [String]
59
59
  #
60
60
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
61
-
62
- class Campaign < Sentdm::Internal::Type::BaseModel
63
- # @!attribute description
64
- # Campaign description
65
- #
66
- # @return [String]
67
- required :description, String
68
-
69
- # @!attribute name
70
- # Campaign name
71
- #
72
- # @return [String]
73
- required :name, String
74
-
75
- # @!attribute type
76
- # Campaign type (e.g., "KYC", "App").
77
- #
78
- # Still required of a caller, and consulted by nothing. It named the signup path
79
- # that produced the campaign, was written to a column no query filters on, no TCR
80
- # payload carries and no fee or status decision reads, and is now defaulted at the
81
- # entity instead. It stays required so that a request which was valid before is
82
- # still valid — dropping it would be the client-visible change, not keeping it.
83
- #
84
- # @return [String]
85
- required :type, String
86
-
87
- # @!attribute use_cases
88
- # List of use cases with sample messages
89
- #
90
- # @return [Array<Sentdm::Models::Profiles::CampaignUpdateParams::Campaign::UseCase>]
91
- required :use_cases,
92
- -> {
93
- Sentdm::Internal::Type::ArrayOf[Sentdm::Profiles::CampaignUpdateParams::Campaign::UseCase]
94
- },
95
- api_name: :useCases
96
-
97
- # @!attribute help_keywords
98
- # Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
99
- #
100
- # @return [String, nil]
101
- optional :help_keywords, String, api_name: :helpKeywords, nil?: true
102
-
103
- # @!attribute help_message
104
- # Message sent when user requests help
105
- #
106
- # @return [String, nil]
107
- optional :help_message, String, api_name: :helpMessage, nil?: true
108
-
109
- # @!attribute message_flow
110
- # Description of how messages flow in the campaign
111
- #
112
- # @return [String, nil]
113
- optional :message_flow, String, api_name: :messageFlow, nil?: true
114
-
115
- # @!attribute optin_keywords
116
- # Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
117
- #
118
- # @return [String, nil]
119
- optional :optin_keywords, String, api_name: :optinKeywords, nil?: true
120
-
121
- # @!attribute optin_message
122
- # Message sent when user opts in
123
- #
124
- # @return [String, nil]
125
- optional :optin_message, String, api_name: :optinMessage, nil?: true
126
-
127
- # @!attribute optout_keywords
128
- # Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
129
- #
130
- # @return [String, nil]
131
- optional :optout_keywords, String, api_name: :optoutKeywords, nil?: true
132
-
133
- # @!attribute optout_message
134
- # Message sent when user opts out
135
- #
136
- # @return [String, nil]
137
- optional :optout_message, String, api_name: :optoutMessage, nil?: true
138
-
139
- # @!attribute privacy_policy_link
140
- # URL to privacy policy
141
- #
142
- # @return [String, nil]
143
- optional :privacy_policy_link, String, api_name: :privacyPolicyLink, nil?: true
144
-
145
- # @!attribute terms_and_conditions_link
146
- # URL to terms and conditions
147
- #
148
- # @return [String, nil]
149
- optional :terms_and_conditions_link, String, api_name: :termsAndConditionsLink, nil?: true
150
-
151
- # @!attribute volume
152
- # Expected messaging volume for this campaign. Numeric string (e.g. "1999",
153
- # "5000"). Values below 2000 bill at the low-volume tier.
154
- #
155
- # @return [String, nil]
156
- optional :volume, String, nil?: true
157
-
158
- # @!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)
159
- # Some parameter documentations has been truncated, see
160
- # {Sentdm::Models::Profiles::CampaignUpdateParams::Campaign} for more details.
161
- #
162
- # Campaign data for create or update operation
163
- #
164
- # @param description [String] Campaign description
165
- #
166
- # @param name [String] Campaign name
167
- #
168
- # @param type [String] Campaign type (e.g., "KYC", "App").
169
- #
170
- # @param use_cases [Array<Sentdm::Models::Profiles::CampaignUpdateParams::Campaign::UseCase>] List of use cases with sample messages
171
- #
172
- # @param help_keywords [String, nil] Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
173
- #
174
- # @param help_message [String, nil] Message sent when user requests help
175
- #
176
- # @param message_flow [String, nil] Description of how messages flow in the campaign
177
- #
178
- # @param optin_keywords [String, nil] Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
179
- #
180
- # @param optin_message [String, nil] Message sent when user opts in
181
- #
182
- # @param optout_keywords [String, nil] Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
183
- #
184
- # @param optout_message [String, nil] Message sent when user opts out
185
- #
186
- # @param privacy_policy_link [String, nil] URL to privacy policy
187
- #
188
- # @param terms_and_conditions_link [String, nil] URL to terms and conditions
189
- #
190
- # @param volume [String, nil] Expected messaging volume for this campaign. Numeric string (e.g. "1999", "5000"
191
-
192
- class UseCase < Sentdm::Internal::Type::BaseModel
193
- # @!attribute messaging_use_case_us
194
- #
195
- # @return [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs]
196
- required :messaging_use_case_us,
197
- enum: -> { Sentdm::Profiles::MessagingUseCaseUs },
198
- api_name: :messagingUseCaseUs
199
-
200
- # @!attribute sample_messages
201
- # Sample messages for this use case (1-5 messages, max 1024 characters each)
202
- #
203
- # @return [Array<String>]
204
- required :sample_messages, Sentdm::Internal::Type::ArrayOf[String], api_name: :sampleMessages
205
-
206
- # @!method initialize(messaging_use_case_us:, sample_messages:)
207
- # Campaign use case with sample messages
208
- #
209
- # @param messaging_use_case_us [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs]
210
- #
211
- # @param sample_messages [Array<String>] Sample messages for this use case (1-5 messages, max 1024 characters each)
212
- end
213
- end
214
61
  end
215
62
  end
216
63
  end
@@ -0,0 +1,71 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Profiles
6
+ class CampaignUseCase < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute id
8
+ #
9
+ # @return [String, nil]
10
+ optional :id, String
11
+
12
+ # @!attribute campaign_id
13
+ #
14
+ # @return [String, nil]
15
+ optional :campaign_id, String, api_name: :campaignId
16
+
17
+ # @!attribute created_at
18
+ #
19
+ # @return [Time, nil]
20
+ optional :created_at, Time, api_name: :createdAt
21
+
22
+ # @!attribute customer_id
23
+ #
24
+ # @return [String, nil]
25
+ optional :customer_id, String, api_name: :customerId
26
+
27
+ # @!attribute messaging_use_case_us
28
+ #
29
+ # @return [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs, nil]
30
+ optional :messaging_use_case_us,
31
+ enum: -> { Sentdm::Profiles::MessagingUseCaseUs },
32
+ api_name: :messagingUseCaseUs
33
+
34
+ # @!attribute sample_messages
35
+ # Sample messages submitted to the registry for this use case.
36
+ #
37
+ # @return [Array<String>, nil]
38
+ optional :sample_messages, Sentdm::Internal::Type::ArrayOf[String], api_name: :sampleMessages
39
+
40
+ # @!attribute updated_at
41
+ #
42
+ # @return [Time, nil]
43
+ optional :updated_at, Time, api_name: :updatedAt, nil?: true
44
+
45
+ # @!method initialize(id: nil, campaign_id: nil, created_at: nil, customer_id: nil, messaging_use_case_us: nil, sample_messages: nil, updated_at: nil)
46
+ # Customer-facing use-case representation for the public v3 campaign contract.
47
+ # Exists for the same reason as BrandCampaignV3Response: nesting the
48
+ # TcrCampaignUseCase database entity in a public response means any column added
49
+ # to that table silently becomes part of the customer-facing contract. This DTO is
50
+ # an explicit allowlist, so a new column stays invisible until it is added here on
51
+ # purpose. This mirrors exactly the fields the entity already serialized, so it
52
+ # removes nothing from the current response shape. It only closes the future-leak
53
+ # path.
54
+ #
55
+ # @param id [String]
56
+ #
57
+ # @param campaign_id [String]
58
+ #
59
+ # @param created_at [Time]
60
+ #
61
+ # @param customer_id [String]
62
+ #
63
+ # @param messaging_use_case_us [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs]
64
+ #
65
+ # @param sample_messages [Array<String>] Sample messages submitted to the registry for this use case.
66
+ #
67
+ # @param updated_at [Time, nil]
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,29 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Profiles
6
+ class CampaignUseCaseData < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute messaging_use_case_us
8
+ #
9
+ # @return [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs]
10
+ required :messaging_use_case_us,
11
+ enum: -> { Sentdm::Profiles::MessagingUseCaseUs },
12
+ api_name: :messagingUseCaseUs
13
+
14
+ # @!attribute sample_messages
15
+ # Sample messages for this use case (1-5 messages, max 1024 characters each)
16
+ #
17
+ # @return [Array<String>]
18
+ required :sample_messages, Sentdm::Internal::Type::ArrayOf[String], api_name: :sampleMessages
19
+
20
+ # @!method initialize(messaging_use_case_us:, sample_messages:)
21
+ # Campaign use case with sample messages
22
+ #
23
+ # @param messaging_use_case_us [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs]
24
+ #
25
+ # @param sample_messages [Array<String>] Sample messages for this use case (1-5 messages, max 1024 characters each)
26
+ end
27
+ end
28
+ end
29
+ end
@@ -0,0 +1,103 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Templates#list
6
+ class Template < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute customer_id
8
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
9
+ # Says whose resource this is, which the resource's own id does not.
10
+ #
11
+ # @return [String]
12
+ required :customer_id, String
13
+
14
+ # @!attribute id
15
+ # Unique template identifier
16
+ #
17
+ # @return [String, nil]
18
+ optional :id, String
19
+
20
+ # @!attribute category
21
+ # Template category: MARKETING, UTILITY, AUTHENTICATION
22
+ #
23
+ # @return [String, nil]
24
+ optional :category, String
25
+
26
+ # @!attribute channels
27
+ # Supported channels: sms, whatsapp
28
+ #
29
+ # @return [Array<String>, nil]
30
+ optional :channels, Sentdm::Internal::Type::ArrayOf[String], nil?: true
31
+
32
+ # @!attribute created_at
33
+ # When the template was created
34
+ #
35
+ # @return [Time, nil]
36
+ optional :created_at, Time
37
+
38
+ # @!attribute is_published
39
+ # Whether the template is published and active
40
+ #
41
+ # @return [Boolean, nil]
42
+ optional :is_published, Sentdm::Internal::Type::Boolean
43
+
44
+ # @!attribute language
45
+ # Template language code (e.g., en_US)
46
+ #
47
+ # @return [String, nil]
48
+ optional :language, String
49
+
50
+ # @!attribute name
51
+ # Template display name
52
+ #
53
+ # @return [String, nil]
54
+ optional :name, String
55
+
56
+ # @!attribute status
57
+ # Template status: APPROVED, PENDING, REJECTED
58
+ #
59
+ # @return [String, nil]
60
+ optional :status, String
61
+
62
+ # @!attribute updated_at
63
+ # When the template was last updated
64
+ #
65
+ # @return [Time, nil]
66
+ optional :updated_at, Time, nil?: true
67
+
68
+ # @!attribute variables
69
+ # Template variables for personalization
70
+ #
71
+ # @return [Array<String>, nil]
72
+ optional :variables, Sentdm::Internal::Type::ArrayOf[String], nil?: true
73
+
74
+ # @!method initialize(customer_id:, id: nil, category: nil, channels: nil, created_at: nil, is_published: nil, language: nil, name: nil, status: nil, updated_at: nil, variables: nil)
75
+ # Some parameter documentations has been truncated, see {Sentdm::Models::Template}
76
+ # for more details.
77
+ #
78
+ # Template response for v3 API
79
+ #
80
+ # @param customer_id [String] Which customer owns this — the key's own, or the profile named in x-profile-id.
81
+ #
82
+ # @param id [String] Unique template identifier
83
+ #
84
+ # @param category [String] Template category: MARKETING, UTILITY, AUTHENTICATION
85
+ #
86
+ # @param channels [Array<String>, nil] Supported channels: sms, whatsapp
87
+ #
88
+ # @param created_at [Time] When the template was created
89
+ #
90
+ # @param is_published [Boolean] Whether the template is published and active
91
+ #
92
+ # @param language [String] Template language code (e.g., en_US)
93
+ #
94
+ # @param name [String] Template display name
95
+ #
96
+ # @param status [String] Template status: APPROVED, PENDING, REJECTED
97
+ #
98
+ # @param updated_at [Time, nil] When the template was last updated
99
+ #
100
+ # @param variables [Array<String>, nil] Template variables for personalization
101
+ end
102
+ end
103
+ end
@@ -7,18 +7,6 @@ module Sentdm
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
- # @!attribute page
11
- # Page number (1-indexed)
12
- #
13
- # @return [Integer]
14
- required :page, Integer
15
-
16
- # @!attribute page_size
17
- # Number of items per page
18
- #
19
- # @return [Integer]
20
- required :page_size, Integer
21
-
22
10
  # @!attribute category
23
11
  # Optional category filter: MARKETING, UTILITY, AUTHENTICATION
24
12
  #
@@ -35,6 +23,18 @@ module Sentdm
35
23
  # @return [Boolean, nil]
36
24
  optional :is_welcome_playground, Sentdm::Internal::Type::Boolean, nil?: true
37
25
 
26
+ # @!attribute page
27
+ # Page number (1-indexed)
28
+ #
29
+ # @return [Integer, nil]
30
+ optional :page, Integer
31
+
32
+ # @!attribute page_size
33
+ # Number of items per page
34
+ #
35
+ # @return [Integer, nil]
36
+ optional :page_size, Integer
37
+
38
38
  # @!attribute search
39
39
  # Optional search term for filtering templates
40
40
  #
@@ -52,18 +52,18 @@ module Sentdm
52
52
  # @return [String, nil]
53
53
  optional :x_profile_id, String
54
54
 
55
- # @!method initialize(page:, page_size:, category: nil, is_welcome_playground: nil, search: nil, status: nil, x_profile_id: nil, request_options: {})
55
+ # @!method initialize(category: nil, is_welcome_playground: nil, page: nil, page_size: nil, search: nil, status: nil, x_profile_id: nil, request_options: {})
56
56
  # Some parameter documentations has been truncated, see
57
57
  # {Sentdm::Models::TemplateListParams} for more details.
58
58
  #
59
- # @param page [Integer] Page number (1-indexed)
60
- #
61
- # @param page_size [Integer] Number of items per page
62
- #
63
59
  # @param category [String, nil] Optional category filter: MARKETING, UTILITY, AUTHENTICATION
64
60
  #
65
61
  # @param is_welcome_playground [Boolean, nil] Accepted and ignored. It used to filter on the welcome-playground marker inside
66
62
  #
63
+ # @param page [Integer] Page number (1-indexed)
64
+ #
65
+ # @param page_size [Integer] Number of items per page
66
+ #
67
67
  # @param search [String, nil] Optional search term for filtering templates
68
68
  #
69
69
  # @param status [String, nil] Optional status filter: APPROVED, PENDING, REJECTED