sentdm 0.19.0 → 0.20.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 (284) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +8 -0
  3. data/README.md +31 -1
  4. data/lib/sentdm/internal/type/base_model.rb +5 -5
  5. data/lib/sentdm/internal/type/enum.rb +25 -0
  6. data/lib/sentdm/models/api_meta.rb +34 -0
  7. data/lib/sentdm/models/api_response_of_contact.rb +46 -0
  8. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  9. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  10. data/lib/sentdm/models/api_response_template.rb +43 -0
  11. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  12. data/lib/sentdm/models/billing_contact_info.rb +47 -0
  13. data/lib/sentdm/models/brands_brand_data.rb +38 -0
  14. data/lib/sentdm/models/contact_delete_params.rb +2 -16
  15. data/lib/sentdm/models/contact_list_response.rb +12 -278
  16. data/lib/sentdm/models/contact_response.rb +126 -0
  17. data/lib/sentdm/models/destination_country.rb +21 -0
  18. data/lib/sentdm/models/error_detail.rb +42 -0
  19. data/lib/sentdm/models/me_retrieve_response.rb +12 -204
  20. data/lib/sentdm/models/message_retrieve_activities_response.rb +6 -74
  21. data/lib/sentdm/models/message_retrieve_status_response.rb +6 -74
  22. data/lib/sentdm/models/message_send_response.rb +6 -74
  23. data/lib/sentdm/models/mutation_request.rb +20 -0
  24. data/lib/sentdm/models/number_lookup_response.rb +6 -74
  25. data/lib/sentdm/models/pagination_meta.rb +80 -0
  26. data/lib/sentdm/models/payment_details.rb +44 -0
  27. data/lib/sentdm/models/profile_complete_response.rb +6 -74
  28. data/lib/sentdm/models/profile_create_params.rb +9 -423
  29. data/lib/sentdm/models/profile_delete_params.rb +2 -16
  30. data/lib/sentdm/models/profile_detail.rb +605 -0
  31. data/lib/sentdm/models/profile_list_response.rb +9 -753
  32. data/lib/sentdm/models/profile_settings.rb +66 -0
  33. data/lib/sentdm/models/profile_update_params.rb +9 -423
  34. data/lib/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rb +45 -0
  35. data/lib/sentdm/models/profiles/base_dto.rb +32 -0
  36. data/lib/sentdm/models/profiles/campaign_create_params.rb +3 -165
  37. data/lib/sentdm/models/profiles/campaign_data.rb +123 -0
  38. data/lib/sentdm/models/profiles/campaign_delete_params.rb +2 -17
  39. data/lib/sentdm/models/profiles/campaign_list_response.rb +9 -420
  40. data/lib/sentdm/models/profiles/campaign_update_params.rb +3 -165
  41. data/lib/sentdm/models/profiles/messaging_use_case_us.rb +28 -0
  42. data/lib/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb +29 -0
  43. data/lib/sentdm/models/profiles/tcr_campaign_with_use_cases.rb +248 -0
  44. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rb +34 -0
  45. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rb +48 -0
  46. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rb +38 -0
  47. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rb +81 -0
  48. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rb +34 -0
  49. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rb +39 -0
  50. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rb +116 -0
  51. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rb +75 -0
  52. data/lib/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rb +58 -0
  53. data/lib/sentdm/models/tcr_brand_relationship.rb +18 -0
  54. data/lib/sentdm/models/tcr_vertical.rb +36 -0
  55. data/lib/sentdm/models/template.rb +90 -0
  56. data/lib/sentdm/models/template_body_content.rb +27 -0
  57. data/lib/sentdm/models/template_create_params.rb +3 -889
  58. data/lib/sentdm/models/template_definition.rb +66 -0
  59. data/lib/sentdm/models/template_list_response.rb +12 -242
  60. data/lib/sentdm/models/template_update_params.rb +3 -889
  61. data/lib/sentdm/models/template_variable.rb +80 -0
  62. data/lib/sentdm/models/user_list_response.rb +9 -154
  63. data/lib/sentdm/models/user_remove_params.rb +2 -16
  64. data/lib/sentdm/models/user_response.rb +82 -0
  65. data/lib/sentdm/models/webhook_event_type.rb +45 -0
  66. data/lib/sentdm/models/webhook_list_event_types_response.rb +9 -118
  67. data/lib/sentdm/models/webhook_list_events_response.rb +9 -153
  68. data/lib/sentdm/models/webhook_list_response.rb +12 -247
  69. data/lib/sentdm/models/webhook_response.rb +95 -0
  70. data/lib/sentdm/models/webhook_rotate_secret_params.rb +2 -17
  71. data/lib/sentdm/models/webhook_rotate_secret_response.rb +6 -74
  72. data/lib/sentdm/models/webhook_test_response.rb +6 -74
  73. data/lib/sentdm/models.rb +77 -0
  74. data/lib/sentdm/resources/contacts.rb +6 -6
  75. data/lib/sentdm/resources/profiles/campaigns.rb +6 -6
  76. data/lib/sentdm/resources/profiles.rb +12 -12
  77. data/lib/sentdm/resources/templates.rb +8 -8
  78. data/lib/sentdm/resources/users.rb +6 -6
  79. data/lib/sentdm/resources/webhooks.rb +8 -8
  80. data/lib/sentdm/version.rb +1 -1
  81. data/lib/sentdm.rb +40 -18
  82. data/rbi/sentdm/models/api_meta.rbi +55 -0
  83. data/rbi/sentdm/models/api_response_of_contact.rbi +74 -0
  84. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  85. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  86. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  87. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  88. data/rbi/sentdm/models/billing_contact_info.rbi +65 -0
  89. data/rbi/sentdm/models/brands_brand_data.rbi +104 -0
  90. data/rbi/sentdm/models/contact_delete_params.rbi +2 -19
  91. data/rbi/sentdm/models/contact_list_response.rbi +16 -505
  92. data/rbi/sentdm/models/contact_response.rbi +183 -0
  93. data/rbi/sentdm/models/destination_country.rbi +32 -0
  94. data/rbi/sentdm/models/error_detail.rbi +66 -0
  95. data/rbi/sentdm/models/me_retrieve_response.rbi +16 -335
  96. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +8 -154
  97. data/rbi/sentdm/models/message_retrieve_status_response.rbi +8 -148
  98. data/rbi/sentdm/models/message_send_response.rbi +8 -135
  99. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  100. data/rbi/sentdm/models/number_lookup_response.rbi +8 -135
  101. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  102. data/rbi/sentdm/models/payment_details.rbi +59 -0
  103. data/rbi/sentdm/models/profile_complete_response.rbi +8 -137
  104. data/rbi/sentdm/models/profile_create_params.rbi +12 -810
  105. data/rbi/sentdm/models/profile_delete_params.rbi +2 -19
  106. data/rbi/sentdm/models/profile_detail.rbi +874 -0
  107. data/rbi/sentdm/models/profile_list_response.rbi +14 -1400
  108. data/rbi/sentdm/models/profile_settings.rbi +86 -0
  109. data/rbi/sentdm/models/profile_update_params.rbi +12 -810
  110. data/rbi/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rbi +83 -0
  111. data/rbi/sentdm/models/profiles/base_dto.rbi +53 -0
  112. data/rbi/sentdm/models/profiles/campaign_create_params.rbi +4 -289
  113. data/rbi/sentdm/models/profiles/campaign_data.rbi +148 -0
  114. data/rbi/sentdm/models/profiles/campaign_delete_params.rbi +1 -14
  115. data/rbi/sentdm/models/profiles/campaign_list_response.rbi +11 -733
  116. data/rbi/sentdm/models/profiles/campaign_update_params.rbi +4 -289
  117. data/rbi/sentdm/models/profiles/messaging_use_case_us.rbi +73 -0
  118. data/rbi/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi +51 -0
  119. data/rbi/sentdm/models/profiles/tcr_campaign_with_use_cases.rbi +425 -0
  120. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbi +56 -0
  121. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbi +87 -0
  122. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbi +72 -0
  123. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbi +104 -0
  124. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbi +57 -0
  125. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbi +59 -0
  126. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbi +180 -0
  127. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbi +95 -0
  128. data/rbi/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbi +81 -0
  129. data/rbi/sentdm/models/tcr_brand_relationship.rbi +30 -0
  130. data/rbi/sentdm/models/tcr_vertical.rbi +41 -0
  131. data/rbi/sentdm/models/template.rbi +129 -0
  132. data/rbi/sentdm/models/template_body_content.rbi +43 -0
  133. data/rbi/sentdm/models/template_create_params.rbi +4 -1701
  134. data/rbi/sentdm/models/template_definition.rbi +164 -0
  135. data/rbi/sentdm/models/template_list_response.rbi +16 -454
  136. data/rbi/sentdm/models/template_update_params.rbi +4 -1701
  137. data/rbi/sentdm/models/template_variable.rbi +120 -0
  138. data/rbi/sentdm/models/user_list_response.rbi +14 -271
  139. data/rbi/sentdm/models/user_remove_params.rbi +2 -19
  140. data/rbi/sentdm/models/user_response.rbi +118 -0
  141. data/rbi/sentdm/models/webhook_event_type.rbi +74 -0
  142. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +12 -247
  143. data/rbi/sentdm/models/webhook_list_events_response.rbi +12 -314
  144. data/rbi/sentdm/models/webhook_list_response.rbi +16 -462
  145. data/rbi/sentdm/models/webhook_response.rbi +140 -0
  146. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +1 -14
  147. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +8 -148
  148. data/rbi/sentdm/models/webhook_test_response.rbi +8 -135
  149. data/rbi/sentdm/models.rbi +77 -0
  150. data/rbi/sentdm/resources/contacts.rbi +3 -3
  151. data/rbi/sentdm/resources/profiles/campaigns.rbi +4 -4
  152. data/rbi/sentdm/resources/profiles.rbi +9 -13
  153. data/rbi/sentdm/resources/templates.rbi +5 -6
  154. data/rbi/sentdm/resources/users.rbi +3 -3
  155. data/rbi/sentdm/resources/webhooks.rbi +4 -4
  156. data/sig/sentdm/models/api_meta.rbs +27 -0
  157. data/sig/sentdm/models/api_response_of_contact.rbs +39 -0
  158. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  159. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  160. data/sig/sentdm/models/api_response_template.rbs +39 -0
  161. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  162. data/sig/sentdm/models/billing_contact_info.rbs +30 -0
  163. data/sig/sentdm/models/brands_brand_data.rbs +30 -0
  164. data/sig/sentdm/models/contact_delete_params.rbs +6 -10
  165. data/sig/sentdm/models/contact_list_response.rbs +20 -256
  166. data/sig/sentdm/models/contact_response.rbs +111 -0
  167. data/sig/sentdm/models/destination_country.rbs +19 -0
  168. data/sig/sentdm/models/error_detail.rbs +39 -0
  169. data/sig/sentdm/models/me_retrieve_response.rbs +18 -176
  170. data/sig/sentdm/models/message_retrieve_activities_response.rbs +9 -71
  171. data/sig/sentdm/models/message_retrieve_status_response.rbs +9 -71
  172. data/sig/sentdm/models/message_send_response.rbs +9 -71
  173. data/sig/sentdm/models/mutation_request.rbs +15 -0
  174. data/sig/sentdm/models/number_lookup_response.rbs +9 -71
  175. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  176. data/sig/sentdm/models/payment_details.rbs +30 -0
  177. data/sig/sentdm/models/profile_complete_response.rbs +9 -71
  178. data/sig/sentdm/models/profile_create_params.rbs +12 -363
  179. data/sig/sentdm/models/profile_delete_params.rbs +6 -10
  180. data/sig/sentdm/models/profile_detail.rbs +474 -0
  181. data/sig/sentdm/models/profile_list_response.rbs +15 -645
  182. data/sig/sentdm/models/profile_settings.rbs +50 -0
  183. data/sig/sentdm/models/profile_update_params.rbs +12 -363
  184. data/sig/sentdm/models/profiles/api_response_of_tcr_campaign_with_use_cases.rbs +41 -0
  185. data/sig/sentdm/models/profiles/base_dto.rbs +27 -0
  186. data/sig/sentdm/models/profiles/campaign_create_params.rbs +4 -138
  187. data/sig/sentdm/models/profiles/campaign_data.rbs +82 -0
  188. data/sig/sentdm/models/profiles/campaign_delete_params.rbs +8 -15
  189. data/sig/sentdm/models/profiles/campaign_list_response.rbs +13 -396
  190. data/sig/sentdm/models/profiles/campaign_update_params.rbs +4 -138
  191. data/sig/sentdm/models/profiles/messaging_use_case_us.rbs +40 -0
  192. data/sig/sentdm/models/profiles/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs +27 -0
  193. data/sig/sentdm/models/profiles/tcr_campaign_with_use_cases.rbs +299 -0
  194. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbs +24 -0
  195. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbs +35 -0
  196. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +32 -0
  197. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbs +75 -0
  198. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbs +30 -0
  199. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbs +30 -0
  200. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_business_info.rbs +89 -0
  201. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_compliance_info.rbs +55 -0
  202. data/sig/sentdm/models/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_brands_brand_contact_info.rbs +45 -0
  203. data/sig/sentdm/models/tcr_brand_relationship.rbs +22 -0
  204. data/sig/sentdm/models/tcr_vertical.rbs +58 -0
  205. data/sig/sentdm/models/template.rbs +79 -0
  206. data/sig/sentdm/models/template_body_content.rbs +30 -0
  207. data/sig/sentdm/models/template_create_params.rbs +6 -853
  208. data/sig/sentdm/models/template_definition.rbs +45 -0
  209. data/sig/sentdm/models/template_list_response.rbs +19 -225
  210. data/sig/sentdm/models/template_update_params.rbs +4 -851
  211. data/sig/sentdm/models/template_variable.rbs +84 -0
  212. data/sig/sentdm/models/user_list_response.rbs +15 -151
  213. data/sig/sentdm/models/user_remove_params.rbs +6 -10
  214. data/sig/sentdm/models/user_response.rbs +72 -0
  215. data/sig/sentdm/models/webhook_event_type.rbs +51 -0
  216. data/sig/sentdm/models/webhook_list_event_types_response.rbs +15 -130
  217. data/sig/sentdm/models/webhook_list_events_response.rbs +14 -142
  218. data/sig/sentdm/models/webhook_list_response.rbs +20 -248
  219. data/sig/sentdm/models/webhook_response.rbs +103 -0
  220. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +8 -17
  221. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +9 -71
  222. data/sig/sentdm/models/webhook_test_response.rbs +9 -71
  223. data/sig/sentdm/models.rbs +68 -0
  224. data/sig/sentdm/resources/contacts.rbs +3 -3
  225. data/sig/sentdm/resources/profiles/campaigns.rbs +4 -4
  226. data/sig/sentdm/resources/profiles.rbs +9 -9
  227. data/sig/sentdm/resources/templates.rbs +5 -5
  228. data/sig/sentdm/resources/users.rbs +3 -3
  229. data/sig/sentdm/resources/webhooks.rbs +4 -4
  230. metadata +121 -55
  231. data/lib/sentdm/models/contact_create_response.rb +0 -236
  232. data/lib/sentdm/models/contact_retrieve_response.rb +0 -236
  233. data/lib/sentdm/models/contact_update_response.rb +0 -236
  234. data/lib/sentdm/models/profile_create_response.rb +0 -781
  235. data/lib/sentdm/models/profile_retrieve_response.rb +0 -783
  236. data/lib/sentdm/models/profile_update_response.rb +0 -781
  237. data/lib/sentdm/models/profiles/campaign_create_response.rb +0 -459
  238. data/lib/sentdm/models/profiles/campaign_update_response.rb +0 -459
  239. data/lib/sentdm/models/template_create_response.rb +0 -197
  240. data/lib/sentdm/models/template_retrieve_response.rb +0 -197
  241. data/lib/sentdm/models/template_update_response.rb +0 -197
  242. data/lib/sentdm/models/user_invite_response.rb +0 -189
  243. data/lib/sentdm/models/user_retrieve_response.rb +0 -189
  244. data/lib/sentdm/models/user_update_role_response.rb +0 -189
  245. data/lib/sentdm/models/webhook_create_response.rb +0 -204
  246. data/lib/sentdm/models/webhook_retrieve_response.rb +0 -204
  247. data/lib/sentdm/models/webhook_toggle_status_response.rb +0 -204
  248. data/lib/sentdm/models/webhook_update_response.rb +0 -204
  249. data/rbi/sentdm/models/contact_create_response.rbi +0 -390
  250. data/rbi/sentdm/models/contact_retrieve_response.rbi +0 -392
  251. data/rbi/sentdm/models/contact_update_response.rbi +0 -390
  252. data/rbi/sentdm/models/profile_create_response.rbi +0 -1439
  253. data/rbi/sentdm/models/profile_retrieve_response.rbi +0 -1443
  254. data/rbi/sentdm/models/profile_update_response.rbi +0 -1439
  255. data/rbi/sentdm/models/profiles/campaign_create_response.rbi +0 -814
  256. data/rbi/sentdm/models/profiles/campaign_update_response.rbi +0 -814
  257. data/rbi/sentdm/models/template_create_response.rbi +0 -339
  258. data/rbi/sentdm/models/template_retrieve_response.rbi +0 -345
  259. data/rbi/sentdm/models/template_update_response.rbi +0 -339
  260. data/rbi/sentdm/models/user_invite_response.rbi +0 -323
  261. data/rbi/sentdm/models/user_retrieve_response.rbi +0 -323
  262. data/rbi/sentdm/models/user_update_role_response.rbi +0 -328
  263. data/rbi/sentdm/models/webhook_create_response.rbi +0 -348
  264. data/rbi/sentdm/models/webhook_retrieve_response.rbi +0 -350
  265. data/rbi/sentdm/models/webhook_toggle_status_response.rbi +0 -366
  266. data/rbi/sentdm/models/webhook_update_response.rbi +0 -348
  267. data/sig/sentdm/models/contact_create_response.rbs +0 -209
  268. data/sig/sentdm/models/contact_retrieve_response.rbs +0 -209
  269. data/sig/sentdm/models/contact_update_response.rbs +0 -209
  270. data/sig/sentdm/models/profile_create_response.rbs +0 -662
  271. data/sig/sentdm/models/profile_retrieve_response.rbs +0 -662
  272. data/sig/sentdm/models/profile_update_response.rbs +0 -662
  273. data/sig/sentdm/models/profiles/campaign_create_response.rbs +0 -424
  274. data/sig/sentdm/models/profiles/campaign_update_response.rbs +0 -424
  275. data/sig/sentdm/models/template_create_response.rbs +0 -177
  276. data/sig/sentdm/models/template_retrieve_response.rbs +0 -177
  277. data/sig/sentdm/models/template_update_response.rbs +0 -177
  278. data/sig/sentdm/models/user_invite_response.rbs +0 -170
  279. data/sig/sentdm/models/user_retrieve_response.rbs +0 -170
  280. data/sig/sentdm/models/user_update_role_response.rbs +0 -170
  281. data/sig/sentdm/models/webhook_create_response.rbs +0 -201
  282. data/sig/sentdm/models/webhook_retrieve_response.rbs +0 -201
  283. data/sig/sentdm/models/webhook_toggle_status_response.rbs +0 -201
  284. data/sig/sentdm/models/webhook_update_response.rbs +0 -201
@@ -0,0 +1,83 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Profiles
6
+ class APIResponseOfTcrCampaignWithUseCases < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Sentdm::Profiles::APIResponseOfTcrCampaignWithUseCases,
11
+ Sentdm::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ # The response data (null if error)
16
+ sig { returns(T.nilable(Sentdm::Profiles::TcrCampaignWithUseCases)) }
17
+ attr_reader :data
18
+
19
+ sig do
20
+ params(
21
+ data: T.nilable(Sentdm::Profiles::TcrCampaignWithUseCases::OrHash)
22
+ ).void
23
+ end
24
+ attr_writer :data
25
+
26
+ # Error information
27
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
28
+ attr_reader :error
29
+
30
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
31
+ attr_writer :error
32
+
33
+ # Request and response metadata
34
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
35
+ attr_reader :meta
36
+
37
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
38
+ attr_writer :meta
39
+
40
+ # Indicates whether the request was successful
41
+ sig { returns(T.nilable(T::Boolean)) }
42
+ attr_reader :success
43
+
44
+ sig { params(success: T::Boolean).void }
45
+ attr_writer :success
46
+
47
+ # Standard API response envelope for all v3 endpoints
48
+ sig do
49
+ params(
50
+ data: T.nilable(Sentdm::Profiles::TcrCampaignWithUseCases::OrHash),
51
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
52
+ meta: Sentdm::APIMeta::OrHash,
53
+ success: T::Boolean
54
+ ).returns(T.attached_class)
55
+ end
56
+ def self.new(
57
+ # The response data (null if error)
58
+ data: nil,
59
+ # Error information
60
+ error: nil,
61
+ # Request and response metadata
62
+ meta: nil,
63
+ # Indicates whether the request was successful
64
+ success: nil
65
+ )
66
+ end
67
+
68
+ sig do
69
+ override.returns(
70
+ {
71
+ data: T.nilable(Sentdm::Profiles::TcrCampaignWithUseCases),
72
+ error: T.nilable(Sentdm::ErrorDetail),
73
+ meta: Sentdm::APIMeta,
74
+ success: T::Boolean
75
+ }
76
+ )
77
+ end
78
+ def to_hash
79
+ end
80
+ end
81
+ end
82
+ end
83
+ end
@@ -0,0 +1,53 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Profiles
6
+ class BaseDto < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Sentdm::Profiles::BaseDto, Sentdm::Internal::AnyHash)
10
+ end
11
+
12
+ # Unique identifier
13
+ sig { returns(T.nilable(String)) }
14
+ attr_reader :id
15
+
16
+ sig { params(id: String).void }
17
+ attr_writer :id
18
+
19
+ sig { returns(T.nilable(Time)) }
20
+ attr_reader :created_at
21
+
22
+ sig { params(created_at: Time).void }
23
+ attr_writer :created_at
24
+
25
+ sig { returns(T.nilable(Time)) }
26
+ attr_accessor :updated_at
27
+
28
+ sig do
29
+ params(
30
+ id: String,
31
+ created_at: Time,
32
+ updated_at: T.nilable(Time)
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ # Unique identifier
37
+ id: nil,
38
+ created_at: nil,
39
+ updated_at: nil
40
+ )
41
+ end
42
+
43
+ sig do
44
+ override.returns(
45
+ { id: String, created_at: Time, updated_at: T.nilable(Time) }
46
+ )
47
+ end
48
+ def to_hash
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
@@ -19,14 +19,10 @@ module Sentdm
19
19
  attr_accessor :profile_id
20
20
 
21
21
  # Campaign data for create or update operation
22
- sig { returns(Sentdm::Profiles::CampaignCreateParams::Campaign) }
22
+ sig { returns(Sentdm::Profiles::CampaignData) }
23
23
  attr_reader :campaign
24
24
 
25
- sig do
26
- params(
27
- campaign: Sentdm::Profiles::CampaignCreateParams::Campaign::OrHash
28
- ).void
29
- end
25
+ sig { params(campaign: Sentdm::Profiles::CampaignData::OrHash).void }
30
26
  attr_writer :campaign
31
27
 
32
28
  # Sandbox flag - when true, the operation is simulated without side effects Useful
@@ -52,7 +48,7 @@ module Sentdm
52
48
  sig do
53
49
  params(
54
50
  profile_id: String,
55
- campaign: Sentdm::Profiles::CampaignCreateParams::Campaign::OrHash,
51
+ campaign: Sentdm::Profiles::CampaignData::OrHash,
56
52
  sandbox: T::Boolean,
57
53
  idempotency_key: String,
58
54
  x_profile_id: String,
@@ -76,7 +72,7 @@ module Sentdm
76
72
  override.returns(
77
73
  {
78
74
  profile_id: String,
79
- campaign: Sentdm::Profiles::CampaignCreateParams::Campaign,
75
+ campaign: Sentdm::Profiles::CampaignData,
80
76
  sandbox: T::Boolean,
81
77
  idempotency_key: String,
82
78
  x_profile_id: String,
@@ -86,287 +82,6 @@ module Sentdm
86
82
  end
87
83
  def to_hash
88
84
  end
89
-
90
- class Campaign < Sentdm::Internal::Type::BaseModel
91
- OrHash =
92
- T.type_alias do
93
- T.any(
94
- Sentdm::Profiles::CampaignCreateParams::Campaign,
95
- Sentdm::Internal::AnyHash
96
- )
97
- end
98
-
99
- # Campaign description
100
- sig { returns(String) }
101
- attr_accessor :description
102
-
103
- # Campaign name
104
- sig { returns(String) }
105
- attr_accessor :name
106
-
107
- # Campaign type (e.g., "KYC", "App")
108
- sig { returns(String) }
109
- attr_accessor :type
110
-
111
- # List of use cases with sample messages
112
- sig do
113
- returns(
114
- T::Array[
115
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase
116
- ]
117
- )
118
- end
119
- attr_accessor :use_cases
120
-
121
- # Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
122
- sig { returns(T.nilable(String)) }
123
- attr_accessor :help_keywords
124
-
125
- # Message sent when user requests help
126
- sig { returns(T.nilable(String)) }
127
- attr_accessor :help_message
128
-
129
- # Description of how messages flow in the campaign
130
- sig { returns(T.nilable(String)) }
131
- attr_accessor :message_flow
132
-
133
- # Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
134
- sig { returns(T.nilable(String)) }
135
- attr_accessor :optin_keywords
136
-
137
- # Message sent when user opts in
138
- sig { returns(T.nilable(String)) }
139
- attr_accessor :optin_message
140
-
141
- # Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
142
- sig { returns(T.nilable(String)) }
143
- attr_accessor :optout_keywords
144
-
145
- # Message sent when user opts out
146
- sig { returns(T.nilable(String)) }
147
- attr_accessor :optout_message
148
-
149
- # URL to privacy policy
150
- sig { returns(T.nilable(String)) }
151
- attr_accessor :privacy_policy_link
152
-
153
- # URL to terms and conditions
154
- sig { returns(T.nilable(String)) }
155
- attr_accessor :terms_and_conditions_link
156
-
157
- # Campaign data for create or update operation
158
- sig do
159
- params(
160
- description: String,
161
- name: String,
162
- type: String,
163
- use_cases:
164
- T::Array[
165
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::OrHash
166
- ],
167
- help_keywords: T.nilable(String),
168
- help_message: T.nilable(String),
169
- message_flow: T.nilable(String),
170
- optin_keywords: T.nilable(String),
171
- optin_message: T.nilable(String),
172
- optout_keywords: T.nilable(String),
173
- optout_message: T.nilable(String),
174
- privacy_policy_link: T.nilable(String),
175
- terms_and_conditions_link: T.nilable(String)
176
- ).returns(T.attached_class)
177
- end
178
- def self.new(
179
- # Campaign description
180
- description:,
181
- # Campaign name
182
- name:,
183
- # Campaign type (e.g., "KYC", "App")
184
- type:,
185
- # List of use cases with sample messages
186
- use_cases:,
187
- # Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
188
- help_keywords: nil,
189
- # Message sent when user requests help
190
- help_message: nil,
191
- # Description of how messages flow in the campaign
192
- message_flow: nil,
193
- # Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
194
- optin_keywords: nil,
195
- # Message sent when user opts in
196
- optin_message: nil,
197
- # Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
198
- optout_keywords: nil,
199
- # Message sent when user opts out
200
- optout_message: nil,
201
- # URL to privacy policy
202
- privacy_policy_link: nil,
203
- # URL to terms and conditions
204
- terms_and_conditions_link: nil
205
- )
206
- end
207
-
208
- sig do
209
- override.returns(
210
- {
211
- description: String,
212
- name: String,
213
- type: String,
214
- use_cases:
215
- T::Array[
216
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase
217
- ],
218
- help_keywords: T.nilable(String),
219
- help_message: T.nilable(String),
220
- message_flow: T.nilable(String),
221
- optin_keywords: T.nilable(String),
222
- optin_message: T.nilable(String),
223
- optout_keywords: T.nilable(String),
224
- optout_message: T.nilable(String),
225
- privacy_policy_link: T.nilable(String),
226
- terms_and_conditions_link: T.nilable(String)
227
- }
228
- )
229
- end
230
- def to_hash
231
- end
232
-
233
- class UseCase < Sentdm::Internal::Type::BaseModel
234
- OrHash =
235
- T.type_alias do
236
- T.any(
237
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase,
238
- Sentdm::Internal::AnyHash
239
- )
240
- end
241
-
242
- sig do
243
- returns(
244
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::OrSymbol
245
- )
246
- end
247
- attr_accessor :messaging_use_case_us
248
-
249
- # Sample messages for this use case (1-5 messages, max 1024 characters each)
250
- sig { returns(T::Array[String]) }
251
- attr_accessor :sample_messages
252
-
253
- # Campaign use case with sample messages
254
- sig do
255
- params(
256
- messaging_use_case_us:
257
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::OrSymbol,
258
- sample_messages: T::Array[String]
259
- ).returns(T.attached_class)
260
- end
261
- def self.new(
262
- messaging_use_case_us:,
263
- # Sample messages for this use case (1-5 messages, max 1024 characters each)
264
- sample_messages:
265
- )
266
- end
267
-
268
- sig do
269
- override.returns(
270
- {
271
- messaging_use_case_us:
272
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::OrSymbol,
273
- sample_messages: T::Array[String]
274
- }
275
- )
276
- end
277
- def to_hash
278
- end
279
-
280
- module MessagingUseCaseUs
281
- extend Sentdm::Internal::Type::Enum
282
-
283
- TaggedSymbol =
284
- T.type_alias do
285
- T.all(
286
- Symbol,
287
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs
288
- )
289
- end
290
- OrSymbol = T.type_alias { T.any(Symbol, String) }
291
-
292
- MARKETING =
293
- T.let(
294
- :MARKETING,
295
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::TaggedSymbol
296
- )
297
- ACCOUNT_NOTIFICATION =
298
- T.let(
299
- :ACCOUNT_NOTIFICATION,
300
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::TaggedSymbol
301
- )
302
- CUSTOMER_CARE =
303
- T.let(
304
- :CUSTOMER_CARE,
305
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::TaggedSymbol
306
- )
307
- FRAUD_ALERT =
308
- T.let(
309
- :FRAUD_ALERT,
310
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::TaggedSymbol
311
- )
312
- TWO_FA =
313
- T.let(
314
- :TWO_FA,
315
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::TaggedSymbol
316
- )
317
- DELIVERY_NOTIFICATION =
318
- T.let(
319
- :DELIVERY_NOTIFICATION,
320
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::TaggedSymbol
321
- )
322
- SECURITY_ALERT =
323
- T.let(
324
- :SECURITY_ALERT,
325
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::TaggedSymbol
326
- )
327
- M2_M =
328
- T.let(
329
- :M2M,
330
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::TaggedSymbol
331
- )
332
- MIXED =
333
- T.let(
334
- :MIXED,
335
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::TaggedSymbol
336
- )
337
- HIGHER_EDUCATION =
338
- T.let(
339
- :HIGHER_EDUCATION,
340
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::TaggedSymbol
341
- )
342
- POLLING_VOTING =
343
- T.let(
344
- :POLLING_VOTING,
345
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::TaggedSymbol
346
- )
347
- PUBLIC_SERVICE_ANNOUNCEMENT =
348
- T.let(
349
- :PUBLIC_SERVICE_ANNOUNCEMENT,
350
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::TaggedSymbol
351
- )
352
- LOW_VOLUME =
353
- T.let(
354
- :LOW_VOLUME,
355
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::TaggedSymbol
356
- )
357
-
358
- sig do
359
- override.returns(
360
- T::Array[
361
- Sentdm::Profiles::CampaignCreateParams::Campaign::UseCase::MessagingUseCaseUs::TaggedSymbol
362
- ]
363
- )
364
- end
365
- def self.values
366
- end
367
- end
368
- end
369
- end
370
85
  end
371
86
  end
372
87
  end
@@ -0,0 +1,148 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Profiles
6
+ class CampaignData < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Sentdm::Profiles::CampaignData, Sentdm::Internal::AnyHash)
10
+ end
11
+
12
+ # Campaign description
13
+ sig { returns(String) }
14
+ attr_accessor :description
15
+
16
+ # Campaign name
17
+ sig { returns(String) }
18
+ attr_accessor :name
19
+
20
+ # Campaign type (e.g., "KYC", "App")
21
+ sig { returns(String) }
22
+ attr_accessor :type
23
+
24
+ # List of use cases with sample messages
25
+ sig do
26
+ returns(
27
+ T::Array[
28
+ Sentdm::Profiles::SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData
29
+ ]
30
+ )
31
+ end
32
+ attr_accessor :use_cases
33
+
34
+ # Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
35
+ sig { returns(T.nilable(String)) }
36
+ attr_accessor :help_keywords
37
+
38
+ # Message sent when user requests help
39
+ sig { returns(T.nilable(String)) }
40
+ attr_accessor :help_message
41
+
42
+ # Description of how messages flow in the campaign
43
+ sig { returns(T.nilable(String)) }
44
+ attr_accessor :message_flow
45
+
46
+ # Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
47
+ sig { returns(T.nilable(String)) }
48
+ attr_accessor :optin_keywords
49
+
50
+ # Message sent when user opts in
51
+ sig { returns(T.nilable(String)) }
52
+ attr_accessor :optin_message
53
+
54
+ # Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
55
+ sig { returns(T.nilable(String)) }
56
+ attr_accessor :optout_keywords
57
+
58
+ # Message sent when user opts out
59
+ sig { returns(T.nilable(String)) }
60
+ attr_accessor :optout_message
61
+
62
+ # URL to privacy policy
63
+ sig { returns(T.nilable(String)) }
64
+ attr_accessor :privacy_policy_link
65
+
66
+ # URL to terms and conditions
67
+ sig { returns(T.nilable(String)) }
68
+ attr_accessor :terms_and_conditions_link
69
+
70
+ # Campaign data for create or update operation
71
+ sig do
72
+ params(
73
+ description: String,
74
+ name: String,
75
+ type: String,
76
+ use_cases:
77
+ T::Array[
78
+ Sentdm::Profiles::SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData::OrHash
79
+ ],
80
+ help_keywords: T.nilable(String),
81
+ help_message: T.nilable(String),
82
+ message_flow: T.nilable(String),
83
+ optin_keywords: T.nilable(String),
84
+ optin_message: T.nilable(String),
85
+ optout_keywords: T.nilable(String),
86
+ optout_message: T.nilable(String),
87
+ privacy_policy_link: T.nilable(String),
88
+ terms_and_conditions_link: T.nilable(String)
89
+ ).returns(T.attached_class)
90
+ end
91
+ def self.new(
92
+ # Campaign description
93
+ description:,
94
+ # Campaign name
95
+ name:,
96
+ # Campaign type (e.g., "KYC", "App")
97
+ type:,
98
+ # List of use cases with sample messages
99
+ use_cases:,
100
+ # Comma-separated keywords that trigger help message (e.g., "HELP, INFO, SUPPORT")
101
+ help_keywords: nil,
102
+ # Message sent when user requests help
103
+ help_message: nil,
104
+ # Description of how messages flow in the campaign
105
+ message_flow: nil,
106
+ # Comma-separated keywords that trigger opt-in (e.g., "YES, START, SUBSCRIBE")
107
+ optin_keywords: nil,
108
+ # Message sent when user opts in
109
+ optin_message: nil,
110
+ # Comma-separated keywords that trigger opt-out (e.g., "STOP, UNSUBSCRIBE, END")
111
+ optout_keywords: nil,
112
+ # Message sent when user opts out
113
+ optout_message: nil,
114
+ # URL to privacy policy
115
+ privacy_policy_link: nil,
116
+ # URL to terms and conditions
117
+ terms_and_conditions_link: nil
118
+ )
119
+ end
120
+
121
+ sig do
122
+ override.returns(
123
+ {
124
+ description: String,
125
+ name: String,
126
+ type: String,
127
+ use_cases:
128
+ T::Array[
129
+ Sentdm::Profiles::SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData
130
+ ],
131
+ help_keywords: T.nilable(String),
132
+ help_message: T.nilable(String),
133
+ message_flow: T.nilable(String),
134
+ optin_keywords: T.nilable(String),
135
+ optin_message: T.nilable(String),
136
+ optout_keywords: T.nilable(String),
137
+ optout_message: T.nilable(String),
138
+ privacy_policy_link: T.nilable(String),
139
+ terms_and_conditions_link: T.nilable(String)
140
+ }
141
+ )
142
+ end
143
+ def to_hash
144
+ end
145
+ end
146
+ end
147
+ end
148
+ end
@@ -3,7 +3,7 @@
3
3
  module Sentdm
4
4
  module Models
5
5
  module Profiles
6
- class CampaignDeleteParams < Sentdm::Internal::Type::BaseModel
6
+ class CampaignDeleteParams < Sentdm::Models::MutationRequest
7
7
  extend Sentdm::Internal::Type::RequestParameters::Converter
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
@@ -21,14 +21,6 @@ module Sentdm
21
21
  sig { returns(String) }
22
22
  attr_accessor :campaign_id
23
23
 
24
- # Sandbox flag - when true, the operation is simulated without side effects Useful
25
- # for testing integrations without actual execution
26
- sig { returns(T.nilable(T::Boolean)) }
27
- attr_reader :sandbox
28
-
29
- sig { params(sandbox: T::Boolean).void }
30
- attr_writer :sandbox
31
-
32
24
  sig { returns(T.nilable(String)) }
33
25
  attr_reader :x_profile_id
34
26
 
@@ -39,7 +31,6 @@ module Sentdm
39
31
  params(
40
32
  profile_id: String,
41
33
  campaign_id: String,
42
- sandbox: T::Boolean,
43
34
  x_profile_id: String,
44
35
  request_options: Sentdm::RequestOptions::OrHash
45
36
  ).returns(T.attached_class)
@@ -47,9 +38,6 @@ module Sentdm
47
38
  def self.new(
48
39
  profile_id:,
49
40
  campaign_id:,
50
- # Sandbox flag - when true, the operation is simulated without side effects Useful
51
- # for testing integrations without actual execution
52
- sandbox: nil,
53
41
  x_profile_id: nil,
54
42
  request_options: {}
55
43
  )
@@ -60,7 +48,6 @@ module Sentdm
60
48
  {
61
49
  profile_id: String,
62
50
  campaign_id: String,
63
- sandbox: T::Boolean,
64
51
  x_profile_id: String,
65
52
  request_options: Sentdm::RequestOptions
66
53
  }