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
@@ -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::CampaignData]
20
- required :campaign, -> { Sentdm::Profiles::CampaignData }
19
+ # @return [Sentdm::Models::Profiles::CampaignCreateParams::Campaign]
20
+ required :campaign, -> { Sentdm::Profiles::CampaignCreateParams::Campaign }
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::CampaignData] Campaign data for create or update operation
45
+ # @param campaign [Sentdm::Models::Profiles::CampaignCreateParams::Campaign] 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,6 +51,159 @@ 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
54
207
  end
55
208
  end
56
209
  end
@@ -0,0 +1,420 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Profiles
6
+ # @see Sentdm::Resources::Profiles::Campaigns#create
7
+ class CampaignCreateResponse < Sentdm::Internal::Type::BaseModel
8
+ # @!attribute data
9
+ # A 10DLC campaign registered for a brand.
10
+ #
11
+ # @return [Sentdm::Models::Profiles::CampaignCreateResponse::Data, nil]
12
+ optional :data, -> { Sentdm::Models::Profiles::CampaignCreateResponse::Data }, nil?: true
13
+
14
+ # @!attribute error
15
+ # Error information
16
+ #
17
+ # @return [Sentdm::Models::Profiles::CampaignCreateResponse::Error, nil]
18
+ optional :error, -> { Sentdm::Models::Profiles::CampaignCreateResponse::Error }, nil?: true
19
+
20
+ # @!attribute meta
21
+ # Request and response metadata
22
+ #
23
+ # @return [Sentdm::Models::Profiles::CampaignCreateResponse::Meta, nil]
24
+ optional :meta, -> { Sentdm::Models::Profiles::CampaignCreateResponse::Meta }
25
+
26
+ # @!attribute success
27
+ # Indicates whether the request was successful
28
+ #
29
+ # @return [Boolean, nil]
30
+ optional :success, Sentdm::Internal::Type::Boolean
31
+
32
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
33
+ # Standard API response envelope for all v3 endpoints
34
+ #
35
+ # @param data [Sentdm::Models::Profiles::CampaignCreateResponse::Data, nil] A 10DLC campaign registered for a brand.
36
+ #
37
+ # @param error [Sentdm::Models::Profiles::CampaignCreateResponse::Error, nil] Error information
38
+ #
39
+ # @param meta [Sentdm::Models::Profiles::CampaignCreateResponse::Meta] Request and response metadata
40
+ #
41
+ # @param success [Boolean] Indicates whether the request was successful
42
+
43
+ # @see Sentdm::Models::Profiles::CampaignCreateResponse#data
44
+ class Data < Sentdm::Internal::Type::BaseModel
45
+ # @!attribute id
46
+ #
47
+ # @return [String, nil]
48
+ optional :id, String
49
+
50
+ # @!attribute billed_date
51
+ #
52
+ # @return [Time, nil]
53
+ optional :billed_date, Time, api_name: :billedDate, nil?: true
54
+
55
+ # @!attribute brand_id
56
+ #
57
+ # @return [String, nil]
58
+ optional :brand_id, String, api_name: :brandId, nil?: true
59
+
60
+ # @!attribute cost
61
+ #
62
+ # @return [Float, nil]
63
+ optional :cost, Float, nil?: true
64
+
65
+ # @!attribute created_at
66
+ #
67
+ # @return [Time, nil]
68
+ optional :created_at, Time, api_name: :createdAt
69
+
70
+ # @!attribute customer_id
71
+ #
72
+ # @return [String, nil]
73
+ optional :customer_id, String, api_name: :customerId
74
+
75
+ # @!attribute dca_elections_complete
76
+ # True once every carrier has completed its DCA election and the campaign is
77
+ # operationally ready for traffic.
78
+ #
79
+ # @return [Boolean, nil]
80
+ optional :dca_elections_complete,
81
+ Sentdm::Internal::Type::Boolean,
82
+ api_name: :dcaElectionsComplete,
83
+ nil?: true
84
+
85
+ # @!attribute dca_elections_completed_at
86
+ #
87
+ # @return [Time, nil]
88
+ optional :dca_elections_completed_at, Time, api_name: :dcaElectionsCompletedAt, nil?: true
89
+
90
+ # @!attribute description
91
+ #
92
+ # @return [String, nil]
93
+ optional :description, String
94
+
95
+ # @!attribute has_submission_transaction
96
+ # True when the one-time campaign submission fee has already been charged.
97
+ #
98
+ # @return [Boolean, nil]
99
+ optional :has_submission_transaction,
100
+ Sentdm::Internal::Type::Boolean,
101
+ api_name: :hasSubmissionTransaction
102
+
103
+ # @!attribute help_keywords
104
+ #
105
+ # @return [String, nil]
106
+ optional :help_keywords, String, api_name: :helpKeywords, nil?: true
107
+
108
+ # @!attribute help_message
109
+ #
110
+ # @return [String, nil]
111
+ optional :help_message, String, api_name: :helpMessage, nil?: true
112
+
113
+ # @!attribute message_flow
114
+ #
115
+ # @return [String, nil]
116
+ optional :message_flow, String, api_name: :messageFlow, nil?: true
117
+
118
+ # @!attribute name
119
+ #
120
+ # @return [String, nil]
121
+ optional :name, String
122
+
123
+ # @!attribute optin_keywords
124
+ #
125
+ # @return [String, nil]
126
+ optional :optin_keywords, String, api_name: :optinKeywords, nil?: true
127
+
128
+ # @!attribute optin_message
129
+ #
130
+ # @return [String, nil]
131
+ optional :optin_message, String, api_name: :optinMessage, nil?: true
132
+
133
+ # @!attribute optout_keywords
134
+ #
135
+ # @return [String, nil]
136
+ optional :optout_keywords, String, api_name: :optoutKeywords, nil?: true
137
+
138
+ # @!attribute optout_message
139
+ #
140
+ # @return [String, nil]
141
+ optional :optout_message, String, api_name: :optoutMessage, nil?: true
142
+
143
+ # @!attribute privacy_policy_link
144
+ #
145
+ # @return [String, nil]
146
+ optional :privacy_policy_link, String, api_name: :privacyPolicyLink, nil?: true
147
+
148
+ # @!attribute status
149
+ #
150
+ # @return [Symbol, Sentdm::Models::Profiles::CampaignCreateResponse::Data::Status, nil]
151
+ optional :status, enum: -> { Sentdm::Models::Profiles::CampaignCreateResponse::Data::Status }, nil?: true
152
+
153
+ # @!attribute submitted_at
154
+ #
155
+ # @return [Time, nil]
156
+ optional :submitted_at, Time, api_name: :submittedAt, nil?: true
157
+
158
+ # @!attribute submitted_to_tcr
159
+ #
160
+ # @return [Boolean, nil]
161
+ optional :submitted_to_tcr, Sentdm::Internal::Type::Boolean, api_name: :submittedToTCR
162
+
163
+ # @!attribute tcr_campaign_id
164
+ # The Campaign Registry identifier, once the campaign has been accepted.
165
+ #
166
+ # @return [String, nil]
167
+ optional :tcr_campaign_id, String, api_name: :tcrCampaignId, nil?: true
168
+
169
+ # @!attribute tcr_sync_error
170
+ # Surfaced so customers can see why a submission did not reach the registry.
171
+ #
172
+ # @return [String, nil]
173
+ optional :tcr_sync_error, String, api_name: :tcrSyncError, nil?: true
174
+
175
+ # @!attribute terms_and_conditions_link
176
+ #
177
+ # @return [String, nil]
178
+ optional :terms_and_conditions_link, String, api_name: :termsAndConditionsLink, nil?: true
179
+
180
+ # @!attribute type
181
+ # Campaign type (for example KYC or App).
182
+ #
183
+ # @return [String, nil]
184
+ optional :type, String
185
+
186
+ # @!attribute updated_at
187
+ #
188
+ # @return [Time, nil]
189
+ optional :updated_at, Time, api_name: :updatedAt, nil?: true
190
+
191
+ # @!attribute use_cases
192
+ #
193
+ # @return [Array<Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase>, nil]
194
+ optional :use_cases,
195
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase] },
196
+ api_name: :useCases
197
+
198
+ # @!attribute volume
199
+ # Expected messaging volume for this campaign — customer-supplied on
200
+ # create/update, and the input to both the TCR usecase classification (LOW_VOLUME
201
+ # vs MIXED/specific) and the campaign fee tier. Surfaced so customers can read
202
+ # back the value they set.
203
+ #
204
+ # @return [String, nil]
205
+ optional :volume, String, nil?: true
206
+
207
+ # @!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)
208
+ # Some parameter documentations has been truncated, see
209
+ # {Sentdm::Models::Profiles::CampaignCreateResponse::Data} for more details.
210
+ #
211
+ # A 10DLC campaign registered for a brand.
212
+ #
213
+ # @param id [String]
214
+ #
215
+ # @param billed_date [Time, nil]
216
+ #
217
+ # @param brand_id [String, nil]
218
+ #
219
+ # @param cost [Float, nil]
220
+ #
221
+ # @param created_at [Time]
222
+ #
223
+ # @param customer_id [String]
224
+ #
225
+ # @param dca_elections_complete [Boolean, nil] True once every carrier has completed its DCA election and the campaign is
226
+ #
227
+ # @param dca_elections_completed_at [Time, nil]
228
+ #
229
+ # @param description [String]
230
+ #
231
+ # @param has_submission_transaction [Boolean] True when the one-time campaign submission fee has already been charged.
232
+ #
233
+ # @param help_keywords [String, nil]
234
+ #
235
+ # @param help_message [String, nil]
236
+ #
237
+ # @param message_flow [String, nil]
238
+ #
239
+ # @param name [String]
240
+ #
241
+ # @param optin_keywords [String, nil]
242
+ #
243
+ # @param optin_message [String, nil]
244
+ #
245
+ # @param optout_keywords [String, nil]
246
+ #
247
+ # @param optout_message [String, nil]
248
+ #
249
+ # @param privacy_policy_link [String, nil]
250
+ #
251
+ # @param status [Symbol, Sentdm::Models::Profiles::CampaignCreateResponse::Data::Status, nil]
252
+ #
253
+ # @param submitted_at [Time, nil]
254
+ #
255
+ # @param submitted_to_tcr [Boolean]
256
+ #
257
+ # @param tcr_campaign_id [String, nil] The Campaign Registry identifier, once the campaign has been accepted.
258
+ #
259
+ # @param tcr_sync_error [String, nil] Surfaced so customers can see why a submission did not reach the registry.
260
+ #
261
+ # @param terms_and_conditions_link [String, nil]
262
+ #
263
+ # @param type [String] Campaign type (for example KYC or App).
264
+ #
265
+ # @param updated_at [Time, nil]
266
+ #
267
+ # @param use_cases [Array<Sentdm::Models::Profiles::CampaignCreateResponse::Data::UseCase>]
268
+ #
269
+ # @param volume [String, nil] Expected messaging volume for this campaign — customer-supplied on create/update
270
+
271
+ # @see Sentdm::Models::Profiles::CampaignCreateResponse::Data#status
272
+ module Status
273
+ extend Sentdm::Internal::Type::Enum
274
+
275
+ SENT_CREATED = :SENT_CREATED
276
+ ACTIVE = :ACTIVE
277
+ EXPIRED = :EXPIRED
278
+
279
+ # @!method self.values
280
+ # @return [Array<Symbol>]
281
+ end
282
+
283
+ class UseCase < Sentdm::Internal::Type::BaseModel
284
+ # @!attribute id
285
+ #
286
+ # @return [String, nil]
287
+ optional :id, String
288
+
289
+ # @!attribute campaign_id
290
+ #
291
+ # @return [String, nil]
292
+ optional :campaign_id, String, api_name: :campaignId
293
+
294
+ # @!attribute created_at
295
+ #
296
+ # @return [Time, nil]
297
+ optional :created_at, Time, api_name: :createdAt
298
+
299
+ # @!attribute customer_id
300
+ #
301
+ # @return [String, nil]
302
+ optional :customer_id, String, api_name: :customerId
303
+
304
+ # @!attribute messaging_use_case_us
305
+ #
306
+ # @return [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs, nil]
307
+ optional :messaging_use_case_us,
308
+ enum: -> { Sentdm::Profiles::MessagingUseCaseUs },
309
+ api_name: :messagingUseCaseUs
310
+
311
+ # @!attribute sample_messages
312
+ # Sample messages submitted to the registry for this use case.
313
+ #
314
+ # @return [Array<String>, nil]
315
+ optional :sample_messages, Sentdm::Internal::Type::ArrayOf[String], api_name: :sampleMessages
316
+
317
+ # @!attribute updated_at
318
+ #
319
+ # @return [Time, nil]
320
+ optional :updated_at, Time, api_name: :updatedAt, nil?: true
321
+
322
+ # @!method initialize(id: nil, campaign_id: nil, created_at: nil, customer_id: nil, messaging_use_case_us: nil, sample_messages: nil, updated_at: nil)
323
+ # Customer-facing use-case representation for the public v3 campaign contract.
324
+ # Exists for the same reason as BrandCampaignV3Response: nesting the
325
+ # TcrCampaignUseCase database entity in a public response means any column added
326
+ # to that table silently becomes part of the customer-facing contract. This DTO is
327
+ # an explicit allowlist, so a new column stays invisible until it is added here on
328
+ # purpose. This mirrors exactly the fields the entity already serialized, so it
329
+ # removes nothing from the current response shape. It only closes the future-leak
330
+ # path.
331
+ #
332
+ # @param id [String]
333
+ #
334
+ # @param campaign_id [String]
335
+ #
336
+ # @param created_at [Time]
337
+ #
338
+ # @param customer_id [String]
339
+ #
340
+ # @param messaging_use_case_us [Symbol, Sentdm::Models::Profiles::MessagingUseCaseUs]
341
+ #
342
+ # @param sample_messages [Array<String>] Sample messages submitted to the registry for this use case.
343
+ #
344
+ # @param updated_at [Time, nil]
345
+ end
346
+ end
347
+
348
+ # @see Sentdm::Models::Profiles::CampaignCreateResponse#error
349
+ class Error < Sentdm::Internal::Type::BaseModel
350
+ # @!attribute code
351
+ # Machine-readable error code (e.g., "RESOURCE_001")
352
+ #
353
+ # @return [String, nil]
354
+ optional :code, String
355
+
356
+ # @!attribute details
357
+ # Additional validation error details (field-level errors)
358
+ #
359
+ # @return [Hash{Symbol=>Array<String>}, nil]
360
+ optional :details,
361
+ Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]],
362
+ nil?: true
363
+
364
+ # @!attribute doc_url
365
+ # URL to documentation about this error
366
+ #
367
+ # @return [String, nil]
368
+ optional :doc_url, String, nil?: true
369
+
370
+ # @!attribute message
371
+ # Human-readable error message
372
+ #
373
+ # @return [String, nil]
374
+ optional :message, String
375
+
376
+ # @!method initialize(code: nil, details: nil, doc_url: nil, message: nil)
377
+ # Error information
378
+ #
379
+ # @param code [String] Machine-readable error code (e.g., "RESOURCE_001")
380
+ #
381
+ # @param details [Hash{Symbol=>Array<String>}, nil] Additional validation error details (field-level errors)
382
+ #
383
+ # @param doc_url [String, nil] URL to documentation about this error
384
+ #
385
+ # @param message [String] Human-readable error message
386
+ end
387
+
388
+ # @see Sentdm::Models::Profiles::CampaignCreateResponse#meta
389
+ class Meta < Sentdm::Internal::Type::BaseModel
390
+ # @!attribute request_id
391
+ # Unique identifier for this request (for tracing and support)
392
+ #
393
+ # @return [String, nil]
394
+ optional :request_id, String
395
+
396
+ # @!attribute timestamp
397
+ # Server timestamp when the response was generated
398
+ #
399
+ # @return [Time, nil]
400
+ optional :timestamp, Time
401
+
402
+ # @!attribute version
403
+ # API version used for this request
404
+ #
405
+ # @return [String, nil]
406
+ optional :version, String
407
+
408
+ # @!method initialize(request_id: nil, timestamp: nil, version: nil)
409
+ # Request and response metadata
410
+ #
411
+ # @param request_id [String] Unique identifier for this request (for tracing and support)
412
+ #
413
+ # @param timestamp [Time] Server timestamp when the response was generated
414
+ #
415
+ # @param version [String] API version used for this request
416
+ end
417
+ end
418
+ end
419
+ end
420
+ 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::Models::MutationRequest
7
+ class CampaignDeleteParams < Sentdm::Internal::Type::BaseModel
8
8
  extend Sentdm::Internal::Type::RequestParameters::Converter
9
9
  include Sentdm::Internal::Type::RequestParameters
10
10
 
@@ -18,15 +18,30 @@ 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
+
21
28
  # @!attribute x_profile_id
22
29
  #
23
30
  # @return [String, nil]
24
31
  optional :x_profile_id, String
25
32
 
26
- # @!method initialize(profile_id:, campaign_id:, x_profile_id: nil, request_options: {})
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
+ #
27
37
  # @param profile_id [String]
38
+ #
28
39
  # @param campaign_id [String]
40
+ #
41
+ # @param sandbox [Boolean] Sandbox flag - when true, the operation is simulated without side effects
42
+ #
29
43
  # @param x_profile_id [String]
44
+ #
30
45
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
31
46
  end
32
47
  end