sentdm 0.26.0 → 0.28.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 (293) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +40 -0
  3. data/README.md +1 -27
  4. data/lib/sentdm/client.rb +71 -8
  5. data/lib/sentdm/internal/type/base_model.rb +5 -5
  6. data/lib/sentdm/models/contact_create_response.rb +249 -0
  7. data/lib/sentdm/models/contact_delete_params.rb +16 -2
  8. data/lib/sentdm/models/contact_list_response.rb +299 -16
  9. data/lib/sentdm/models/contact_retrieve_message_summary_response.rb +186 -0
  10. data/lib/sentdm/models/contact_retrieve_response.rb +249 -0
  11. data/lib/sentdm/models/contact_update_response.rb +249 -0
  12. data/lib/sentdm/models/conversation_list_messages_response.rb +436 -0
  13. data/lib/sentdm/models/conversation_list_response.rb +433 -0
  14. data/lib/sentdm/models/inbound_message_event.rb +52 -0
  15. data/lib/sentdm/models/inbound_message_event_payload.rb +81 -0
  16. data/lib/sentdm/models/me_retrieve_response.rb +242 -12
  17. data/lib/sentdm/models/message_event.rb +53 -0
  18. data/lib/sentdm/models/message_event_payload.rb +92 -0
  19. data/lib/sentdm/models/message_retrieve_activities_response.rb +165 -7
  20. data/lib/sentdm/models/message_retrieve_status_response.rb +74 -6
  21. data/lib/sentdm/models/message_send_response.rb +113 -28
  22. data/lib/sentdm/models/number_lookup_response.rb +74 -6
  23. data/lib/sentdm/models/profile_complete_response.rb +74 -6
  24. data/lib/sentdm/models/profile_create_params.rb +378 -26
  25. data/lib/sentdm/models/profile_create_response.rb +760 -0
  26. data/lib/sentdm/models/profile_delete_params.rb +16 -2
  27. data/lib/sentdm/models/profile_list_response.rb +825 -14
  28. data/lib/sentdm/models/profile_retrieve_response.rb +762 -0
  29. data/lib/sentdm/models/profile_update_params.rb +391 -24
  30. data/lib/sentdm/models/profile_update_response.rb +760 -0
  31. data/lib/sentdm/models/profiles/campaign_create_params.rb +156 -3
  32. data/lib/sentdm/models/profiles/campaign_create_response.rb +420 -0
  33. data/lib/sentdm/models/profiles/campaign_delete_params.rb +17 -2
  34. data/lib/sentdm/models/profiles/campaign_list_response.rb +421 -0
  35. data/lib/sentdm/models/profiles/campaign_update_params.rb +156 -3
  36. data/lib/sentdm/models/profiles/campaign_update_response.rb +420 -0
  37. data/lib/sentdm/models/template_create_response.rb +209 -0
  38. data/lib/sentdm/models/template_event.rb +52 -0
  39. data/lib/sentdm/models/template_event_payload.rb +88 -0
  40. data/lib/sentdm/models/template_list_params.rb +9 -2
  41. data/lib/sentdm/models/template_list_response.rb +262 -16
  42. data/lib/sentdm/models/template_retrieve_response.rb +209 -0
  43. data/lib/sentdm/models/template_update_response.rb +209 -0
  44. data/lib/sentdm/models/user_invite_response.rb +201 -0
  45. data/lib/sentdm/models/user_list_response.rb +259 -14
  46. data/lib/sentdm/models/user_remove_params.rb +16 -2
  47. data/lib/sentdm/models/user_retrieve_response.rb +201 -0
  48. data/lib/sentdm/models/user_update_role_response.rb +201 -0
  49. data/lib/sentdm/models/webhook_create_response.rb +229 -0
  50. data/lib/sentdm/models/webhook_list_event_types_response.rb +213 -13
  51. data/lib/sentdm/models/webhook_list_events_response.rb +207 -16
  52. data/lib/sentdm/models/webhook_list_response.rb +280 -15
  53. data/lib/sentdm/models/webhook_retrieve_response.rb +229 -0
  54. data/lib/sentdm/models/webhook_rotate_secret_params.rb +17 -2
  55. data/lib/sentdm/models/webhook_rotate_secret_response.rb +74 -6
  56. data/lib/sentdm/models/webhook_test_response.rb +74 -6
  57. data/lib/sentdm/models/webhook_toggle_status_response.rb +229 -0
  58. data/lib/sentdm/models/webhook_update_response.rb +229 -0
  59. data/lib/sentdm/models.rb +11 -51
  60. data/lib/sentdm/resources/contacts.rb +30 -13
  61. data/lib/sentdm/resources/conversations.rb +12 -4
  62. data/lib/sentdm/resources/me.rb +6 -1
  63. data/lib/sentdm/resources/messages.rb +17 -5
  64. data/lib/sentdm/resources/numbers.rb +6 -1
  65. data/lib/sentdm/resources/profiles/campaigns.rb +47 -9
  66. data/lib/sentdm/resources/profiles.rb +137 -61
  67. data/lib/sentdm/resources/templates.rb +14 -8
  68. data/lib/sentdm/resources/users.rb +15 -10
  69. data/lib/sentdm/resources/webhooks.rb +19 -9
  70. data/lib/sentdm/version.rb +1 -1
  71. data/lib/sentdm.rb +28 -32
  72. data/rbi/sentdm/client.rbi +71 -8
  73. data/rbi/sentdm/models/contact_create_response.rbi +407 -0
  74. data/rbi/sentdm/models/contact_delete_params.rbi +19 -2
  75. data/rbi/sentdm/models/contact_list_response.rbi +527 -21
  76. data/rbi/sentdm/models/contact_retrieve_message_summary_response.rbi +397 -0
  77. data/rbi/sentdm/models/contact_retrieve_response.rbi +409 -0
  78. data/rbi/sentdm/models/contact_update_response.rbi +407 -0
  79. data/rbi/sentdm/models/conversation_list_messages_response.rbi +843 -0
  80. data/rbi/sentdm/models/conversation_list_response.rbi +819 -0
  81. data/rbi/sentdm/models/inbound_message_event.rbi +88 -0
  82. data/rbi/sentdm/models/inbound_message_event_payload.rbi +122 -0
  83. data/rbi/sentdm/models/me_retrieve_response.rbi +367 -16
  84. data/rbi/sentdm/models/message_event.rbi +86 -0
  85. data/rbi/sentdm/models/message_event_payload.rbi +132 -0
  86. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +335 -11
  87. data/rbi/sentdm/models/message_retrieve_status_response.rbi +148 -8
  88. data/rbi/sentdm/models/message_send_response.rbi +178 -32
  89. data/rbi/sentdm/models/number_lookup_response.rbi +135 -8
  90. data/rbi/sentdm/models/profile_complete_response.rbi +137 -8
  91. data/rbi/sentdm/models/profile_create_params.rbi +592 -42
  92. data/rbi/sentdm/models/profile_create_response.rbi +1226 -0
  93. data/rbi/sentdm/models/profile_delete_params.rbi +19 -2
  94. data/rbi/sentdm/models/profile_list_response.rbi +1366 -18
  95. data/rbi/sentdm/models/profile_retrieve_response.rbi +1230 -0
  96. data/rbi/sentdm/models/profile_update_params.rbi +610 -30
  97. data/rbi/sentdm/models/profile_update_response.rbi +1226 -0
  98. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +218 -4
  99. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +674 -0
  100. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +14 -1
  101. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +667 -0
  102. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +218 -4
  103. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +674 -0
  104. data/rbi/sentdm/models/template_create_response.rbi +349 -0
  105. data/rbi/sentdm/models/template_event.rbi +84 -0
  106. data/rbi/sentdm/models/template_event_payload.rbi +131 -0
  107. data/rbi/sentdm/models/template_list_params.rbi +10 -2
  108. data/rbi/sentdm/models/template_list_response.rbi +469 -21
  109. data/rbi/sentdm/models/template_retrieve_response.rbi +355 -0
  110. data/rbi/sentdm/models/template_update_response.rbi +349 -0
  111. data/rbi/sentdm/models/user_invite_response.rbi +336 -0
  112. data/rbi/sentdm/models/user_list_response.rbi +463 -18
  113. data/rbi/sentdm/models/user_remove_params.rbi +19 -2
  114. data/rbi/sentdm/models/user_retrieve_response.rbi +336 -0
  115. data/rbi/sentdm/models/user_update_role_response.rbi +341 -0
  116. data/rbi/sentdm/models/webhook_create_response.rbi +361 -0
  117. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +433 -16
  118. data/rbi/sentdm/models/webhook_list_events_response.rbi +379 -19
  119. data/rbi/sentdm/models/webhook_list_response.rbi +480 -19
  120. data/rbi/sentdm/models/webhook_retrieve_response.rbi +363 -0
  121. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +14 -1
  122. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +148 -8
  123. data/rbi/sentdm/models/webhook_test_response.rbi +135 -8
  124. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +379 -0
  125. data/rbi/sentdm/models/webhook_update_response.rbi +361 -0
  126. data/rbi/sentdm/models.rbi +11 -53
  127. data/rbi/sentdm/resources/contacts.rbi +24 -9
  128. data/rbi/sentdm/resources/conversations.rbi +10 -2
  129. data/rbi/sentdm/resources/me.rbi +6 -1
  130. data/rbi/sentdm/resources/messages.rbi +17 -5
  131. data/rbi/sentdm/resources/numbers.rbi +6 -1
  132. data/rbi/sentdm/resources/profiles/campaigns.rbi +36 -6
  133. data/rbi/sentdm/resources/profiles.rbi +177 -68
  134. data/rbi/sentdm/resources/templates.rbi +15 -5
  135. data/rbi/sentdm/resources/users.rbi +12 -6
  136. data/rbi/sentdm/resources/webhooks.rbi +15 -5
  137. data/sig/sentdm/models/contact_create_response.rbs +216 -0
  138. data/sig/sentdm/models/contact_delete_params.rbs +10 -6
  139. data/sig/sentdm/models/contact_list_response.rbs +263 -20
  140. data/sig/sentdm/models/contact_retrieve_message_summary_response.rbs +182 -0
  141. data/sig/sentdm/models/contact_retrieve_response.rbs +216 -0
  142. data/sig/sentdm/models/contact_update_response.rbs +216 -0
  143. data/sig/sentdm/models/conversation_list_messages_response.rbs +404 -0
  144. data/sig/sentdm/models/conversation_list_response.rbs +404 -0
  145. data/sig/sentdm/models/inbound_message_event.rbs +39 -0
  146. data/sig/sentdm/models/inbound_message_event_payload.rbs +69 -0
  147. data/sig/sentdm/models/me_retrieve_response.rbs +176 -18
  148. data/sig/sentdm/models/message_event.rbs +39 -0
  149. data/sig/sentdm/models/message_event_payload.rbs +72 -0
  150. data/sig/sentdm/models/message_retrieve_activities_response.rbs +147 -12
  151. data/sig/sentdm/models/message_retrieve_status_response.rbs +71 -9
  152. data/sig/sentdm/models/message_send_response.rbs +71 -9
  153. data/sig/sentdm/models/number_lookup_response.rbs +71 -9
  154. data/sig/sentdm/models/profile_complete_response.rbs +71 -9
  155. data/sig/sentdm/models/profile_create_params.rbs +271 -24
  156. data/sig/sentdm/models/profile_create_response.rbs +559 -0
  157. data/sig/sentdm/models/profile_delete_params.rbs +10 -6
  158. data/sig/sentdm/models/profile_list_response.rbs +615 -15
  159. data/sig/sentdm/models/profile_retrieve_response.rbs +559 -0
  160. data/sig/sentdm/models/profile_update_params.rbs +263 -12
  161. data/sig/sentdm/models/profile_update_response.rbs +559 -0
  162. data/sig/sentdm/models/profiles/campaign_create_params.rbs +108 -4
  163. data/sig/sentdm/models/profiles/campaign_create_response.rbs +357 -0
  164. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +15 -8
  165. data/sig/sentdm/models/profiles/campaign_list_response.rbs +357 -0
  166. data/sig/sentdm/models/profiles/campaign_update_params.rbs +108 -4
  167. data/sig/sentdm/models/profiles/campaign_update_response.rbs +357 -0
  168. data/sig/sentdm/models/template_create_response.rbs +182 -0
  169. data/sig/sentdm/models/template_event.rbs +39 -0
  170. data/sig/sentdm/models/template_event_payload.rbs +76 -0
  171. data/sig/sentdm/models/template_list_response.rbs +230 -19
  172. data/sig/sentdm/models/template_retrieve_response.rbs +182 -0
  173. data/sig/sentdm/models/template_update_response.rbs +182 -0
  174. data/sig/sentdm/models/user_invite_response.rbs +177 -0
  175. data/sig/sentdm/models/user_list_response.rbs +233 -15
  176. data/sig/sentdm/models/user_remove_params.rbs +10 -6
  177. data/sig/sentdm/models/user_retrieve_response.rbs +177 -0
  178. data/sig/sentdm/models/user_update_role_response.rbs +177 -0
  179. data/sig/sentdm/models/webhook_create_response.rbs +208 -0
  180. data/sig/sentdm/models/webhook_list_event_types_response.rbs +203 -15
  181. data/sig/sentdm/models/webhook_list_events_response.rbs +160 -19
  182. data/sig/sentdm/models/webhook_list_response.rbs +255 -20
  183. data/sig/sentdm/models/webhook_retrieve_response.rbs +208 -0
  184. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +17 -8
  185. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +71 -9
  186. data/sig/sentdm/models/webhook_test_response.rbs +71 -9
  187. data/sig/sentdm/models/webhook_toggle_status_response.rbs +208 -0
  188. data/sig/sentdm/models/webhook_update_response.rbs +208 -0
  189. data/sig/sentdm/models.rbs +11 -51
  190. data/sig/sentdm/resources/contacts.rbs +4 -4
  191. data/sig/sentdm/resources/conversations.rbs +2 -2
  192. data/sig/sentdm/resources/profiles/campaigns.rbs +5 -5
  193. data/sig/sentdm/resources/profiles.rbs +11 -11
  194. data/sig/sentdm/resources/templates.rbs +3 -3
  195. data/sig/sentdm/resources/users.rbs +3 -3
  196. data/sig/sentdm/resources/webhooks.rbs +4 -4
  197. metadata +86 -98
  198. data/lib/sentdm/models/api_meta.rb +0 -34
  199. data/lib/sentdm/models/api_response_of_contact.rb +0 -46
  200. data/lib/sentdm/models/api_response_of_contact_message_summary.rb +0 -43
  201. data/lib/sentdm/models/api_response_of_conversation_messages_list.rb +0 -43
  202. data/lib/sentdm/models/api_response_of_profile_detail.rb +0 -43
  203. data/lib/sentdm/models/api_response_of_user.rb +0 -43
  204. data/lib/sentdm/models/api_response_template.rb +0 -43
  205. data/lib/sentdm/models/api_response_webhook.rb +0 -43
  206. data/lib/sentdm/models/billing_contact_info.rb +0 -47
  207. data/lib/sentdm/models/brand_business_info.rb +0 -114
  208. data/lib/sentdm/models/brand_compliance_info.rb +0 -67
  209. data/lib/sentdm/models/brand_contact_info.rb +0 -58
  210. data/lib/sentdm/models/brands_brand_data.rb +0 -34
  211. data/lib/sentdm/models/contact_message_summary.rb +0 -76
  212. data/lib/sentdm/models/contact_response.rb +0 -126
  213. data/lib/sentdm/models/conversation_messages_list.rb +0 -245
  214. data/lib/sentdm/models/error_detail.rb +0 -42
  215. data/lib/sentdm/models/mutation_request.rb +0 -20
  216. data/lib/sentdm/models/pagination_meta.rb +0 -80
  217. data/lib/sentdm/models/payment_details.rb +0 -44
  218. data/lib/sentdm/models/profile_detail.rb +0 -597
  219. data/lib/sentdm/models/profile_settings.rb +0 -66
  220. data/lib/sentdm/models/profiles/api_response_of_brand_campaign.rb +0 -45
  221. data/lib/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rb +0 -45
  222. data/lib/sentdm/models/profiles/brand_campaign.rb +0 -247
  223. data/lib/sentdm/models/profiles/campaign_data.rb +0 -130
  224. data/lib/sentdm/models/profiles/campaign_use_case.rb +0 -71
  225. data/lib/sentdm/models/profiles/campaign_use_case_data.rb +0 -29
  226. data/lib/sentdm/models/template.rb +0 -90
  227. data/lib/sentdm/models/user_response.rb +0 -82
  228. data/lib/sentdm/models/webhook_event_type.rb +0 -45
  229. data/lib/sentdm/models/webhook_response.rb +0 -95
  230. data/rbi/sentdm/models/api_meta.rbi +0 -55
  231. data/rbi/sentdm/models/api_response_of_contact.rbi +0 -74
  232. data/rbi/sentdm/models/api_response_of_contact_message_summary.rbi +0 -79
  233. data/rbi/sentdm/models/api_response_of_conversation_messages_list.rbi +0 -79
  234. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +0 -74
  235. data/rbi/sentdm/models/api_response_of_user.rbi +0 -74
  236. data/rbi/sentdm/models/api_response_template.rbi +0 -74
  237. data/rbi/sentdm/models/api_response_webhook.rbi +0 -74
  238. data/rbi/sentdm/models/billing_contact_info.rbi +0 -65
  239. data/rbi/sentdm/models/brand_business_info.rbi +0 -162
  240. data/rbi/sentdm/models/brand_compliance_info.rbi +0 -84
  241. data/rbi/sentdm/models/brand_contact_info.rbi +0 -78
  242. data/rbi/sentdm/models/brands_brand_data.rbi +0 -65
  243. data/rbi/sentdm/models/contact_message_summary.rbi +0 -144
  244. data/rbi/sentdm/models/contact_response.rbi +0 -183
  245. data/rbi/sentdm/models/conversation_messages_list.rbi +0 -419
  246. data/rbi/sentdm/models/error_detail.rbi +0 -66
  247. data/rbi/sentdm/models/mutation_request.rbi +0 -32
  248. data/rbi/sentdm/models/pagination_meta.rbi +0 -135
  249. data/rbi/sentdm/models/payment_details.rbi +0 -59
  250. data/rbi/sentdm/models/profile_detail.rbi +0 -866
  251. data/rbi/sentdm/models/profile_settings.rbi +0 -86
  252. data/rbi/sentdm/models/profiles/api_response_of_brand_campaign.rbi +0 -81
  253. data/rbi/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbi +0 -76
  254. data/rbi/sentdm/models/profiles/brand_campaign.rbi +0 -299
  255. data/rbi/sentdm/models/profiles/campaign_data.rbi +0 -146
  256. data/rbi/sentdm/models/profiles/campaign_use_case.rbi +0 -110
  257. data/rbi/sentdm/models/profiles/campaign_use_case_data.rbi +0 -51
  258. data/rbi/sentdm/models/template.rbi +0 -129
  259. data/rbi/sentdm/models/user_response.rbi +0 -118
  260. data/rbi/sentdm/models/webhook_event_type.rbi +0 -74
  261. data/rbi/sentdm/models/webhook_response.rbi +0 -140
  262. data/sig/sentdm/models/api_meta.rbs +0 -27
  263. data/sig/sentdm/models/api_response_of_contact.rbs +0 -39
  264. data/sig/sentdm/models/api_response_of_contact_message_summary.rbs +0 -39
  265. data/sig/sentdm/models/api_response_of_conversation_messages_list.rbs +0 -39
  266. data/sig/sentdm/models/api_response_of_profile_detail.rbs +0 -39
  267. data/sig/sentdm/models/api_response_of_user.rbs +0 -39
  268. data/sig/sentdm/models/api_response_template.rbs +0 -39
  269. data/sig/sentdm/models/api_response_webhook.rbs +0 -39
  270. data/sig/sentdm/models/billing_contact_info.rbs +0 -30
  271. data/sig/sentdm/models/brand_business_info.rbs +0 -89
  272. data/sig/sentdm/models/brand_compliance_info.rbs +0 -50
  273. data/sig/sentdm/models/brand_contact_info.rbs +0 -45
  274. data/sig/sentdm/models/brands_brand_data.rbs +0 -30
  275. data/sig/sentdm/models/contact_message_summary.rbs +0 -84
  276. data/sig/sentdm/models/contact_response.rbs +0 -111
  277. data/sig/sentdm/models/conversation_messages_list.rbs +0 -240
  278. data/sig/sentdm/models/error_detail.rbs +0 -39
  279. data/sig/sentdm/models/mutation_request.rbs +0 -15
  280. data/sig/sentdm/models/pagination_meta.rbs +0 -67
  281. data/sig/sentdm/models/payment_details.rbs +0 -30
  282. data/sig/sentdm/models/profile_detail.rbs +0 -469
  283. data/sig/sentdm/models/profile_settings.rbs +0 -50
  284. data/sig/sentdm/models/profiles/api_response_of_brand_campaign.rbs +0 -41
  285. data/sig/sentdm/models/profiles/api_response_of_list_of_brand_campaign.rbs +0 -41
  286. data/sig/sentdm/models/profiles/brand_campaign.rbs +0 -194
  287. data/sig/sentdm/models/profiles/campaign_data.rbs +0 -87
  288. data/sig/sentdm/models/profiles/campaign_use_case.rbs +0 -66
  289. data/sig/sentdm/models/profiles/campaign_use_case_data.rbs +0 -27
  290. data/sig/sentdm/models/template.rbs +0 -79
  291. data/sig/sentdm/models/user_response.rbs +0 -72
  292. data/sig/sentdm/models/webhook_event_type.rbs +0 -51
  293. data/sig/sentdm/models/webhook_response.rbs +0 -103
@@ -22,10 +22,14 @@ module Sentdm
22
22
  attr_accessor :campaign_id
23
23
 
24
24
  # Campaign data for create or update operation
25
- sig { returns(Sentdm::Profiles::CampaignData) }
25
+ sig { returns(Sentdm::Profiles::CampaignUpdateParams::Campaign) }
26
26
  attr_reader :campaign
27
27
 
28
- sig { params(campaign: Sentdm::Profiles::CampaignData::OrHash).void }
28
+ sig do
29
+ params(
30
+ campaign: Sentdm::Profiles::CampaignUpdateParams::Campaign::OrHash
31
+ ).void
32
+ end
29
33
  attr_writer :campaign
30
34
 
31
35
  # Sandbox flag - when true, the operation is simulated without side effects Useful
@@ -52,7 +56,7 @@ module Sentdm
52
56
  params(
53
57
  profile_id: String,
54
58
  campaign_id: String,
55
- campaign: Sentdm::Profiles::CampaignData::OrHash,
59
+ campaign: Sentdm::Profiles::CampaignUpdateParams::Campaign::OrHash,
56
60
  sandbox: T::Boolean,
57
61
  idempotency_key: String,
58
62
  x_profile_id: String,
@@ -78,7 +82,7 @@ module Sentdm
78
82
  {
79
83
  profile_id: String,
80
84
  campaign_id: String,
81
- campaign: Sentdm::Profiles::CampaignData,
85
+ campaign: Sentdm::Profiles::CampaignUpdateParams::Campaign,
82
86
  sandbox: T::Boolean,
83
87
  idempotency_key: String,
84
88
  x_profile_id: String,
@@ -88,6 +92,216 @@ module Sentdm
88
92
  end
89
93
  def to_hash
90
94
  end
95
+
96
+ class Campaign < Sentdm::Internal::Type::BaseModel
97
+ OrHash =
98
+ T.type_alias do
99
+ T.any(
100
+ Sentdm::Profiles::CampaignUpdateParams::Campaign,
101
+ Sentdm::Internal::AnyHash
102
+ )
103
+ end
104
+
105
+ # Campaign description
106
+ sig { returns(String) }
107
+ attr_accessor :description
108
+
109
+ # Campaign name
110
+ sig { returns(String) }
111
+ attr_accessor :name
112
+
113
+ # Campaign type (e.g., "KYC", "App").
114
+ #
115
+ # Still required of a caller, and consulted by nothing. It named the signup path
116
+ # that produced the campaign, was written to a column no query filters on, no TCR
117
+ # payload carries and no fee or status decision reads, and is now defaulted at the
118
+ # entity instead. It stays required so that a request which was valid before is
119
+ # still valid — dropping it would be the client-visible change, not keeping it.
120
+ sig { returns(String) }
121
+ attr_accessor :type
122
+
123
+ # List of use cases with sample messages
124
+ sig do
125
+ returns(
126
+ T::Array[
127
+ Sentdm::Profiles::CampaignUpdateParams::Campaign::UseCase
128
+ ]
129
+ )
130
+ end
131
+ attr_accessor :use_cases
132
+
133
+ # Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
134
+ sig { returns(T.nilable(String)) }
135
+ attr_accessor :help_keywords
136
+
137
+ # Message sent when user requests help
138
+ sig { returns(T.nilable(String)) }
139
+ attr_accessor :help_message
140
+
141
+ # Description of how messages flow in the campaign
142
+ sig { returns(T.nilable(String)) }
143
+ attr_accessor :message_flow
144
+
145
+ # Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
146
+ sig { returns(T.nilable(String)) }
147
+ attr_accessor :optin_keywords
148
+
149
+ # Message sent when user opts in
150
+ sig { returns(T.nilable(String)) }
151
+ attr_accessor :optin_message
152
+
153
+ # Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
154
+ sig { returns(T.nilable(String)) }
155
+ attr_accessor :optout_keywords
156
+
157
+ # Message sent when user opts out
158
+ sig { returns(T.nilable(String)) }
159
+ attr_accessor :optout_message
160
+
161
+ # URL to privacy policy
162
+ sig { returns(T.nilable(String)) }
163
+ attr_accessor :privacy_policy_link
164
+
165
+ # URL to terms and conditions
166
+ sig { returns(T.nilable(String)) }
167
+ attr_accessor :terms_and_conditions_link
168
+
169
+ # Expected messaging volume for this campaign. Numeric string (e.g. "1999",
170
+ # "5000"). Values below 2000 bill at the low-volume tier.
171
+ sig { returns(T.nilable(String)) }
172
+ attr_accessor :volume
173
+
174
+ # Campaign data for create or update operation
175
+ sig do
176
+ params(
177
+ description: String,
178
+ name: String,
179
+ type: String,
180
+ use_cases:
181
+ T::Array[
182
+ Sentdm::Profiles::CampaignUpdateParams::Campaign::UseCase::OrHash
183
+ ],
184
+ help_keywords: T.nilable(String),
185
+ help_message: T.nilable(String),
186
+ message_flow: T.nilable(String),
187
+ optin_keywords: T.nilable(String),
188
+ optin_message: T.nilable(String),
189
+ optout_keywords: T.nilable(String),
190
+ optout_message: T.nilable(String),
191
+ privacy_policy_link: T.nilable(String),
192
+ terms_and_conditions_link: T.nilable(String),
193
+ volume: T.nilable(String)
194
+ ).returns(T.attached_class)
195
+ end
196
+ def self.new(
197
+ # Campaign description
198
+ description:,
199
+ # Campaign name
200
+ name:,
201
+ # Campaign type (e.g., "KYC", "App").
202
+ #
203
+ # Still required of a caller, and consulted by nothing. It named the signup path
204
+ # that produced the campaign, was written to a column no query filters on, no TCR
205
+ # payload carries and no fee or status decision reads, and is now defaulted at the
206
+ # entity instead. It stays required so that a request which was valid before is
207
+ # still valid — dropping it would be the client-visible change, not keeping it.
208
+ type:,
209
+ # List of use cases with sample messages
210
+ use_cases:,
211
+ # Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
212
+ help_keywords: nil,
213
+ # Message sent when user requests help
214
+ help_message: nil,
215
+ # Description of how messages flow in the campaign
216
+ message_flow: nil,
217
+ # Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
218
+ optin_keywords: nil,
219
+ # Message sent when user opts in
220
+ optin_message: nil,
221
+ # Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
222
+ optout_keywords: nil,
223
+ # Message sent when user opts out
224
+ optout_message: nil,
225
+ # URL to privacy policy
226
+ privacy_policy_link: nil,
227
+ # URL to terms and conditions
228
+ terms_and_conditions_link: nil,
229
+ # Expected messaging volume for this campaign. Numeric string (e.g. "1999",
230
+ # "5000"). Values below 2000 bill at the low-volume tier.
231
+ volume: nil
232
+ )
233
+ end
234
+
235
+ sig do
236
+ override.returns(
237
+ {
238
+ description: String,
239
+ name: String,
240
+ type: String,
241
+ use_cases:
242
+ T::Array[
243
+ Sentdm::Profiles::CampaignUpdateParams::Campaign::UseCase
244
+ ],
245
+ help_keywords: T.nilable(String),
246
+ help_message: T.nilable(String),
247
+ message_flow: T.nilable(String),
248
+ optin_keywords: T.nilable(String),
249
+ optin_message: T.nilable(String),
250
+ optout_keywords: T.nilable(String),
251
+ optout_message: T.nilable(String),
252
+ privacy_policy_link: T.nilable(String),
253
+ terms_and_conditions_link: T.nilable(String),
254
+ volume: T.nilable(String)
255
+ }
256
+ )
257
+ end
258
+ def to_hash
259
+ end
260
+
261
+ class UseCase < Sentdm::Internal::Type::BaseModel
262
+ OrHash =
263
+ T.type_alias do
264
+ T.any(
265
+ Sentdm::Profiles::CampaignUpdateParams::Campaign::UseCase,
266
+ Sentdm::Internal::AnyHash
267
+ )
268
+ end
269
+
270
+ sig { returns(Sentdm::Profiles::MessagingUseCaseUs::OrSymbol) }
271
+ attr_accessor :messaging_use_case_us
272
+
273
+ # Sample messages for this use case (1-5 messages, max 1024 characters each)
274
+ sig { returns(T::Array[String]) }
275
+ attr_accessor :sample_messages
276
+
277
+ # Campaign use case with sample messages
278
+ sig do
279
+ params(
280
+ messaging_use_case_us:
281
+ Sentdm::Profiles::MessagingUseCaseUs::OrSymbol,
282
+ sample_messages: T::Array[String]
283
+ ).returns(T.attached_class)
284
+ end
285
+ def self.new(
286
+ messaging_use_case_us:,
287
+ # Sample messages for this use case (1-5 messages, max 1024 characters each)
288
+ sample_messages:
289
+ )
290
+ end
291
+
292
+ sig do
293
+ override.returns(
294
+ {
295
+ messaging_use_case_us:
296
+ Sentdm::Profiles::MessagingUseCaseUs::OrSymbol,
297
+ sample_messages: T::Array[String]
298
+ }
299
+ )
300
+ end
301
+ def to_hash
302
+ end
303
+ end
304
+ end
91
305
  end
92
306
  end
93
307
  end