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