sentdm 0.28.0 → 0.30.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (276) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +19 -0
  3. data/README.md +27 -1
  4. data/lib/sentdm/internal/type/base_model.rb +5 -5
  5. data/lib/sentdm/models/api_meta.rb +34 -0
  6. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  7. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +43 -0
  8. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +43 -0
  9. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  10. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  11. data/lib/sentdm/models/api_response_template.rb +43 -0
  12. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  13. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  14. data/lib/sentdm/models/brand_business_info.rb +114 -0
  15. data/lib/sentdm/models/brand_compliance_info.rb +59 -0
  16. data/lib/sentdm/models/brand_contact_info.rb +58 -0
  17. data/lib/sentdm/models/brands_brand_data.rb +34 -0
  18. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  19. data/lib/sentdm/models/contact_list_response.rb +12 -295
  20. data/lib/sentdm/models/contact_message_summary.rb +76 -0
  21. data/lib/sentdm/models/contact_response.rb +139 -0
  22. data/lib/sentdm/models/conversation_messages_list.rb +245 -0
  23. data/lib/sentdm/models/error_detail.rb +42 -0
  24. data/lib/sentdm/models/inbound_message_event_payload.rb +17 -17
  25. data/lib/sentdm/models/me_retrieve_response.rb +43 -243
  26. data/lib/sentdm/models/message_event_payload.rb +11 -11
  27. data/lib/sentdm/models/message_retrieve_activities_response.rb +9 -159
  28. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  29. data/lib/sentdm/models/message_send_response.rb +6 -74
  30. data/lib/sentdm/models/mutation_request.rb +20 -0
  31. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  32. data/lib/sentdm/models/pagination_meta.rb +84 -0
  33. data/lib/sentdm/models/payment_details.rb +40 -0
  34. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  35. data/lib/sentdm/models/profile_create_params.rb +9 -345
  36. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  37. data/lib/sentdm/models/profile_detail.rb +650 -0
  38. data/lib/sentdm/models/profile_list_response.rb +12 -815
  39. data/lib/sentdm/models/profile_settings.rb +85 -0
  40. data/lib/sentdm/models/profile_update_params.rb +9 -345
  41. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +45 -0
  42. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +45 -0
  43. data/lib/sentdm/models/profiles/brand_campaign.rb +247 -0
  44. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -156
  45. data/lib/sentdm/models/profiles/campaign_data.rb +136 -0
  46. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  47. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -156
  48. data/lib/sentdm/models/profiles/campaign_use_case.rb +71 -0
  49. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +29 -0
  50. data/lib/sentdm/models/template.rb +102 -0
  51. data/lib/sentdm/models/template_event_payload.rb +18 -18
  52. data/lib/sentdm/models/template_list_response.rb +12 -258
  53. data/lib/sentdm/models/user_list_response.rb +12 -249
  54. data/lib/sentdm/models/user_remove_params.rb +2 -16
  55. data/lib/sentdm/models/user_response.rb +94 -0
  56. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  57. data/lib/sentdm/models/webhook_list_event_types_response.rb +12 -203
  58. data/lib/sentdm/models/webhook_list_events_response.rb +9 -157
  59. data/lib/sentdm/models/webhook_list_response.rb +12 -276
  60. data/lib/sentdm/models/webhook_response.rb +120 -0
  61. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  62. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  63. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  64. data/lib/sentdm/models.rb +52 -0
  65. data/lib/sentdm/resources/contacts.rb +8 -8
  66. data/lib/sentdm/resources/conversations.rb +4 -4
  67. data/lib/sentdm/resources/me.rb +11 -0
  68. data/lib/sentdm/resources/profiles/campaigns.rb +8 -8
  69. data/lib/sentdm/resources/profiles.rb +12 -12
  70. data/lib/sentdm/resources/templates.rb +6 -6
  71. data/lib/sentdm/resources/users.rb +6 -6
  72. data/lib/sentdm/resources/webhooks.rb +8 -8
  73. data/lib/sentdm/version.rb +1 -1
  74. data/lib/sentdm.rb +32 -22
  75. data/rbi/sentdm/models/api_meta.rbi +55 -0
  76. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  77. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +79 -0
  78. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +79 -0
  79. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  80. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  81. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  82. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  83. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  84. data/rbi/sentdm/models/brand_business_info.rbi +162 -0
  85. data/rbi/sentdm/models/brand_compliance_info.rbi +76 -0
  86. data/rbi/sentdm/models/brand_contact_info.rbi +78 -0
  87. data/rbi/sentdm/models/brands_brand_data.rbi +65 -0
  88. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  89. data/rbi/sentdm/models/contact_list_response.rbi +16 -522
  90. data/rbi/sentdm/models/contact_message_summary.rbi +144 -0
  91. data/rbi/sentdm/models/contact_response.rbi +200 -0
  92. data/rbi/sentdm/models/conversation_messages_list.rbi +419 -0
  93. data/rbi/sentdm/models/error_detail.rbi +66 -0
  94. data/rbi/sentdm/models/inbound_message_event_payload.rbi +16 -22
  95. data/rbi/sentdm/models/me_retrieve_response.rbi +60 -367
  96. data/rbi/sentdm/models/message_event_payload.rbi +12 -15
  97. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +12 -325
  98. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  99. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  100. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  101. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  102. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  103. data/rbi/sentdm/models/payment_details.rbi +56 -0
  104. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  105. data/rbi/sentdm/models/profile_create_params.rbi +12 -546
  106. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  107. data/rbi/sentdm/models/profile_detail.rbi +918 -0
  108. data/rbi/sentdm/models/profile_list_response.rbi +16 -1347
  109. data/rbi/sentdm/models/profile_settings.rbi +102 -0
  110. data/rbi/sentdm/models/profile_update_params.rbi +12 -546
  111. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +81 -0
  112. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +76 -0
  113. data/rbi/sentdm/models/profiles/brand_campaign.rbi +299 -0
  114. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -218
  115. data/rbi/sentdm/models/profiles/campaign_data.rbi +158 -0
  116. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  117. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -218
  118. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +110 -0
  119. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +51 -0
  120. data/rbi/sentdm/models/template.rbi +139 -0
  121. data/rbi/sentdm/models/template_event_payload.rbi +21 -27
  122. data/rbi/sentdm/models/template_list_response.rbi +16 -464
  123. data/rbi/sentdm/models/user_list_response.rbi +16 -444
  124. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  125. data/rbi/sentdm/models/user_response.rbi +131 -0
  126. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  127. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +16 -414
  128. data/rbi/sentdm/models/webhook_list_events_response.rbi +12 -314
  129. data/rbi/sentdm/models/webhook_list_response.rbi +16 -475
  130. data/rbi/sentdm/models/webhook_response.rbi +153 -0
  131. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  132. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  133. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  134. data/rbi/sentdm/models.rbi +54 -0
  135. data/rbi/sentdm/resources/contacts.rbi +4 -4
  136. data/rbi/sentdm/resources/conversations.rbi +2 -2
  137. data/rbi/sentdm/resources/me.rbi +11 -0
  138. data/rbi/sentdm/resources/profiles/campaigns.rbi +5 -5
  139. data/rbi/sentdm/resources/profiles.rbi +9 -13
  140. data/rbi/sentdm/resources/templates.rbi +3 -3
  141. data/rbi/sentdm/resources/users.rbi +3 -3
  142. data/rbi/sentdm/resources/webhooks.rbi +4 -4
  143. data/sig/sentdm/models/api_meta.rbs +27 -0
  144. data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
  145. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +39 -0
  146. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +39 -0
  147. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  148. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  149. data/sig/sentdm/models/api_response_template.rbs +39 -0
  150. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  151. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  152. data/sig/sentdm/models/brand_business_info.rbs +89 -0
  153. data/sig/sentdm/models/brand_compliance_info.rbs +45 -0
  154. data/sig/sentdm/models/brand_contact_info.rbs +45 -0
  155. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  156. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  157. data/sig/sentdm/models/contact_list_response.rbs +20 -263
  158. data/sig/sentdm/models/contact_message_summary.rbs +84 -0
  159. data/sig/sentdm/models/contact_response.rbs +118 -0
  160. data/sig/sentdm/models/conversation_messages_list.rbs +240 -0
  161. data/sig/sentdm/models/error_detail.rbs +39 -0
  162. data/sig/sentdm/models/inbound_message_event_payload.rbs +10 -14
  163. data/sig/sentdm/models/me_retrieve_response.rbs +28 -176
  164. data/sig/sentdm/models/message_event_payload.rbs +5 -7
  165. data/sig/sentdm/models/message_retrieve_activities_response.rbs +14 -142
  166. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  167. data/sig/sentdm/models/message_send_response.rbs +9 -71
  168. data/sig/sentdm/models/mutation_request.rbs +15 -0
  169. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  170. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  171. data/sig/sentdm/models/payment_details.rbs +30 -0
  172. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  173. data/sig/sentdm/models/profile_create_params.rbs +12 -263
  174. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  175. data/sig/sentdm/models/profile_detail.rbs +461 -0
  176. data/sig/sentdm/models/profile_list_response.rbs +20 -606
  177. data/sig/sentdm/models/profile_settings.rbs +50 -0
  178. data/sig/sentdm/models/profile_update_params.rbs +12 -263
  179. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +41 -0
  180. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +41 -0
  181. data/sig/sentdm/models/profiles/brand_campaign.rbs +194 -0
  182. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -108
  183. data/sig/sentdm/models/profiles/campaign_data.rbs +87 -0
  184. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  185. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -108
  186. data/sig/sentdm/models/profiles/campaign_use_case.rbs +66 -0
  187. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +27 -0
  188. data/sig/sentdm/models/template.rbs +84 -0
  189. data/sig/sentdm/models/template_event_payload.rbs +13 -17
  190. data/sig/sentdm/models/template_list_response.rbs +19 -230
  191. data/sig/sentdm/models/user_list_response.rbs +20 -224
  192. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  193. data/sig/sentdm/models/user_response.rbs +79 -0
  194. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  195. data/sig/sentdm/models/webhook_list_event_types_response.rbs +20 -196
  196. data/sig/sentdm/models/webhook_list_events_response.rbs +14 -142
  197. data/sig/sentdm/models/webhook_list_response.rbs +20 -255
  198. data/sig/sentdm/models/webhook_response.rbs +110 -0
  199. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  200. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  201. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  202. data/sig/sentdm/models.rbs +52 -0
  203. data/sig/sentdm/resources/contacts.rbs +4 -4
  204. data/sig/sentdm/resources/conversations.rbs +2 -2
  205. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  206. data/sig/sentdm/resources/profiles.rbs +9 -9
  207. data/sig/sentdm/resources/templates.rbs +3 -3
  208. data/sig/sentdm/resources/users.rbs +3 -3
  209. data/sig/sentdm/resources/webhooks.rbs +4 -4
  210. metadata +98 -68
  211. data/lib/sentdm/models/contact_create_response.rb +0 -249
  212. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +0 -186
  213. data/lib/sentdm/models/contact_retrieve_response.rb +0 -249
  214. data/lib/sentdm/models/contact_update_response.rb +0 -249
  215. data/lib/sentdm/models/conversation_list_messages_response.rb +0 -436
  216. data/lib/sentdm/models/conversation_list_response.rb +0 -433
  217. data/lib/sentdm/models/profile_create_response.rb +0 -760
  218. data/lib/sentdm/models/profile_retrieve_response.rb +0 -762
  219. data/lib/sentdm/models/profile_update_response.rb +0 -760
  220. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -420
  221. data/lib/sentdm/models/profiles/campaign_list_response.rb +0 -421
  222. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -420
  223. data/lib/sentdm/models/template_create_response.rb +0 -209
  224. data/lib/sentdm/models/template_retrieve_response.rb +0 -209
  225. data/lib/sentdm/models/template_update_response.rb +0 -209
  226. data/lib/sentdm/models/user_invite_response.rb +0 -201
  227. data/lib/sentdm/models/user_retrieve_response.rb +0 -201
  228. data/lib/sentdm/models/user_update_role_response.rb +0 -201
  229. data/lib/sentdm/models/webhook_create_response.rb +0 -229
  230. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -229
  231. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -229
  232. data/lib/sentdm/models/webhook_update_response.rb +0 -229
  233. data/rbi/sentdm/models/contact_create_response.rbi +0 -407
  234. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +0 -397
  235. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -409
  236. data/rbi/sentdm/models/contact_update_response.rbi +0 -407
  237. data/rbi/sentdm/models/conversation_list_messages_response.rbi +0 -843
  238. data/rbi/sentdm/models/conversation_list_response.rbi +0 -819
  239. data/rbi/sentdm/models/profile_create_response.rbi +0 -1226
  240. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1230
  241. data/rbi/sentdm/models/profile_update_response.rbi +0 -1226
  242. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -674
  243. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +0 -667
  244. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -674
  245. data/rbi/sentdm/models/template_create_response.rbi +0 -349
  246. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -355
  247. data/rbi/sentdm/models/template_update_response.rbi +0 -349
  248. data/rbi/sentdm/models/user_invite_response.rbi +0 -336
  249. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -336
  250. data/rbi/sentdm/models/user_update_role_response.rbi +0 -341
  251. data/rbi/sentdm/models/webhook_create_response.rbi +0 -361
  252. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -363
  253. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -379
  254. data/rbi/sentdm/models/webhook_update_response.rbi +0 -361
  255. data/sig/sentdm/models/contact_create_response.rbs +0 -216
  256. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +0 -182
  257. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -216
  258. data/sig/sentdm/models/contact_update_response.rbs +0 -216
  259. data/sig/sentdm/models/conversation_list_messages_response.rbs +0 -404
  260. data/sig/sentdm/models/conversation_list_response.rbs +0 -404
  261. data/sig/sentdm/models/profile_create_response.rbs +0 -559
  262. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -559
  263. data/sig/sentdm/models/profile_update_response.rbs +0 -559
  264. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -357
  265. data/sig/sentdm/models/profiles/campaign_list_response.rbs +0 -357
  266. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -357
  267. data/sig/sentdm/models/template_create_response.rbs +0 -182
  268. data/sig/sentdm/models/template_retrieve_response.rbs +0 -182
  269. data/sig/sentdm/models/template_update_response.rbs +0 -182
  270. data/sig/sentdm/models/user_invite_response.rbs +0 -177
  271. data/sig/sentdm/models/user_retrieve_response.rbs +0 -177
  272. data/sig/sentdm/models/user_update_role_response.rbs +0 -177
  273. data/sig/sentdm/models/webhook_create_response.rbs +0 -208
  274. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -208
  275. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -208
  276. data/sig/sentdm/models/webhook_update_response.rbs +0 -208
@@ -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,102 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class Template < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute customer_id
7
+ # Which customer owns this — the key's own, or the profile named in x-profile-id.
8
+ # Says whose resource this is, which the resource's own id does not.
9
+ #
10
+ # @return [String]
11
+ required :customer_id, String
12
+
13
+ # @!attribute id
14
+ # Unique template identifier
15
+ #
16
+ # @return [String, nil]
17
+ optional :id, String
18
+
19
+ # @!attribute category
20
+ # Template category: MARKETING, UTILITY, AUTHENTICATION
21
+ #
22
+ # @return [String, nil]
23
+ optional :category, String
24
+
25
+ # @!attribute channels
26
+ # Supported channels: sms, whatsapp
27
+ #
28
+ # @return [Array<String>, nil]
29
+ optional :channels, Sentdm::Internal::Type::ArrayOf[String], nil?: true
30
+
31
+ # @!attribute created_at
32
+ # When the template was created
33
+ #
34
+ # @return [Time, nil]
35
+ optional :created_at, Time
36
+
37
+ # @!attribute is_published
38
+ # Whether the template is published and active
39
+ #
40
+ # @return [Boolean, nil]
41
+ optional :is_published, Sentdm::Internal::Type::Boolean
42
+
43
+ # @!attribute language
44
+ # Template language code (e.g., en_US)
45
+ #
46
+ # @return [String, nil]
47
+ optional :language, String
48
+
49
+ # @!attribute name
50
+ # Template display name
51
+ #
52
+ # @return [String, nil]
53
+ optional :name, String
54
+
55
+ # @!attribute status
56
+ # Template status: APPROVED, PENDING, REJECTED
57
+ #
58
+ # @return [String, nil]
59
+ optional :status, String
60
+
61
+ # @!attribute updated_at
62
+ # When the template was last updated
63
+ #
64
+ # @return [Time, nil]
65
+ optional :updated_at, Time, nil?: true
66
+
67
+ # @!attribute variables
68
+ # Template variables for personalization
69
+ #
70
+ # @return [Array<String>, nil]
71
+ optional :variables, Sentdm::Internal::Type::ArrayOf[String], nil?: true
72
+
73
+ # @!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)
74
+ # Some parameter documentations has been truncated, see {Sentdm::Models::Template}
75
+ # for more details.
76
+ #
77
+ # Template response for v3 API
78
+ #
79
+ # @param customer_id [String] Which customer owns this — the key's own, or the profile named in x-profile-id.
80
+ #
81
+ # @param id [String] Unique template identifier
82
+ #
83
+ # @param category [String] Template category: MARKETING, UTILITY, AUTHENTICATION
84
+ #
85
+ # @param channels [Array<String>, nil] Supported channels: sms, whatsapp
86
+ #
87
+ # @param created_at [Time] When the template was created
88
+ #
89
+ # @param is_published [Boolean] Whether the template is published and active
90
+ #
91
+ # @param language [String] Template language code (e.g., en_US)
92
+ #
93
+ # @param name [String] Template display name
94
+ #
95
+ # @param status [String] Template status: APPROVED, PENDING, REJECTED
96
+ #
97
+ # @param updated_at [Time, nil] When the template was last updated
98
+ #
99
+ # @param variables [Array<String>, nil] Template variables for personalization
100
+ end
101
+ end
102
+ end
@@ -3,6 +3,19 @@
3
3
  module Sentdm
4
4
  module Models
5
5
  class TemplateEventPayload < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute status
7
+ # The review status the template just reached, for example APPROVED or REJECTED.
8
+ #
9
+ # @return [String]
10
+ required :status, String
11
+
12
+ # @!attribute whatsapp_template_id
13
+ # The template's identifier with Meta, assigned when the template is submitted for
14
+ # review.
15
+ #
16
+ # @return [String]
17
+ required :whatsapp_template_id, String
18
+
6
19
  # @!attribute account_id
7
20
  # The account the template belongs to.
8
21
  #
@@ -34,12 +47,6 @@ module Sentdm
34
47
  # @return [String, nil]
35
48
  optional :reason, String, nil?: true
36
49
 
37
- # @!attribute status
38
- # The review status the template just reached, for example APPROVED or REJECTED.
39
- #
40
- # @return [String, nil]
41
- optional :status, String
42
-
43
50
  # @!attribute template_id
44
51
  # The template in Sent.
45
52
  #
@@ -52,20 +59,17 @@ module Sentdm
52
59
  # @return [String, nil]
53
60
  optional :template_name, String
54
61
 
55
- # @!attribute whatsapp_template_id
56
- # The template's identifier with Meta, assigned when the template is submitted for
57
- # review.
58
- #
59
- # @return [String, nil]
60
- optional :whatsapp_template_id, String
61
-
62
- # @!method initialize(account_id: nil, category: nil, channel: nil, language: nil, reason: nil, status: nil, template_id: nil, template_name: nil, whatsapp_template_id: nil)
62
+ # @!method initialize(status:, whatsapp_template_id:, account_id: nil, category: nil, channel: nil, language: nil, reason: nil, template_id: nil, template_name: nil)
63
63
  # Some parameter documentations has been truncated, see
64
64
  # {Sentdm::Models::TemplateEventPayload} for more details.
65
65
  #
66
66
  # Body of a template status event. Delivered when a template's review outcome
67
67
  # changes, so you can react without polling.
68
68
  #
69
+ # @param status [String] The review status the template just reached, for example APPROVED or
70
+ #
71
+ # @param whatsapp_template_id [String] The template's identifier with Meta, assigned when the template is submitted for
72
+ #
69
73
  # @param account_id [String] The account the template belongs to.
70
74
  #
71
75
  # @param category [String] The template's category, for example UTILITY, MARKETING, or
@@ -76,13 +80,9 @@ module Sentdm
76
80
  #
77
81
  # @param reason [String, nil] Why the template reached Status, when a reason was given. Populated on a
78
82
  #
79
- # @param status [String] The review status the template just reached, for example APPROVED or
80
- #
81
83
  # @param template_id [String] The template in Sent.
82
84
  #
83
85
  # @param template_name [String] The template's display name.
84
- #
85
- # @param whatsapp_template_id [String] The template's identifier with Meta, assigned when the template is submitted for
86
86
  end
87
87
  end
88
88
  end