sentdm 0.2.0 → 0.3.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 (355) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +10 -0
  3. data/README.md +96 -39
  4. data/lib/sentdm/client.rb +28 -36
  5. data/lib/sentdm/internal/type/base_model.rb +5 -5
  6. data/lib/sentdm/internal/type/enum.rb +25 -0
  7. data/lib/sentdm/models/api_error.rb +42 -0
  8. data/lib/sentdm/models/api_meta.rb +42 -0
  9. data/lib/sentdm/models/api_response_brand_with_kyc.rb +43 -0
  10. data/lib/sentdm/models/api_response_contact.rb +43 -0
  11. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  12. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  13. data/lib/sentdm/models/api_response_template.rb +43 -0
  14. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  15. data/lib/sentdm/models/brand_create_params.rb +41 -0
  16. data/lib/sentdm/models/brand_data.rb +237 -0
  17. data/lib/sentdm/models/brand_delete_params.rb +27 -0
  18. data/lib/sentdm/models/brand_list_params.rb +14 -0
  19. data/lib/sentdm/models/brand_list_response.rb +43 -0
  20. data/lib/sentdm/models/brand_update_params.rb +41 -0
  21. data/lib/sentdm/models/brand_with_kyc.rb +335 -0
  22. data/lib/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rb +45 -0
  23. data/lib/sentdm/models/brands/base_dto.rb +32 -0
  24. data/lib/sentdm/models/brands/campaign_create_params.rb +43 -0
  25. data/lib/sentdm/models/brands/campaign_data.rb +123 -0
  26. data/lib/sentdm/models/brands/campaign_delete_params.rb +36 -0
  27. data/lib/sentdm/models/brands/campaign_list_params.rb +16 -0
  28. data/lib/sentdm/models/brands/campaign_list_response.rb +47 -0
  29. data/lib/sentdm/models/brands/campaign_update_params.rb +50 -0
  30. data/lib/sentdm/models/brands/messaging_use_case_us.rb +28 -0
  31. data/lib/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb +30 -0
  32. data/lib/sentdm/models/brands/tcr_campaign_with_use_cases.rb +236 -0
  33. data/lib/sentdm/models/contact.rb +122 -0
  34. data/lib/sentdm/models/contact_create_params.rb +41 -0
  35. data/lib/sentdm/models/contact_delete_params.rb +27 -0
  36. data/lib/sentdm/models/contact_list_params.rb +28 -5
  37. data/lib/sentdm/models/contact_list_response.rb +46 -21
  38. data/lib/sentdm/models/{message_retrieve_params.rb → contact_retrieve_params.rb} +2 -2
  39. data/lib/sentdm/models/contact_update_params.rb +49 -0
  40. data/lib/sentdm/models/destination_country.rb +21 -0
  41. data/lib/sentdm/models/lookup_retrieve_phone_info_params.rb +14 -0
  42. data/lib/sentdm/models/lookup_retrieve_phone_info_response.rb +104 -0
  43. data/lib/sentdm/models/me_retrieve_params.rb +14 -0
  44. data/lib/sentdm/models/me_retrieve_response.rb +200 -0
  45. data/lib/sentdm/models/message_retrieve_activities_params.rb +14 -0
  46. data/lib/sentdm/models/message_retrieve_activities_response.rb +103 -0
  47. data/lib/sentdm/models/message_retrieve_status_params.rb +14 -0
  48. data/lib/sentdm/models/message_retrieve_status_response.rb +237 -0
  49. data/lib/sentdm/models/message_send_params.rb +88 -0
  50. data/lib/sentdm/models/message_send_response.rb +123 -0
  51. data/lib/sentdm/models/mutation_request.rb +20 -0
  52. data/lib/sentdm/models/pagination_meta.rb +80 -0
  53. data/lib/sentdm/models/profile_complete_params.rb +41 -0
  54. data/lib/sentdm/models/profile_complete_response.rb +8 -0
  55. data/lib/sentdm/models/profile_create_params.rb +122 -0
  56. data/lib/sentdm/models/profile_delete_params.rb +34 -0
  57. data/lib/sentdm/models/profile_detail.rb +200 -0
  58. data/lib/sentdm/models/profile_list_params.rb +14 -0
  59. data/lib/sentdm/models/profile_list_response.rb +57 -0
  60. data/lib/sentdm/models/profile_retrieve_params.rb +14 -0
  61. data/lib/sentdm/models/profile_settings.rb +66 -0
  62. data/lib/sentdm/models/profile_update_params.rb +169 -0
  63. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rb +34 -0
  64. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rb +40 -0
  65. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rb +38 -0
  66. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rb +81 -0
  67. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rb +34 -0
  68. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rb +39 -0
  69. data/lib/sentdm/models/tcr_brand_relationship.rb +18 -0
  70. data/lib/sentdm/models/tcr_vertical.rb +36 -0
  71. data/lib/sentdm/models/template.rb +90 -0
  72. data/lib/sentdm/models/template_create_params.rb +40 -19
  73. data/lib/sentdm/models/template_definition.rb +15 -255
  74. data/lib/sentdm/models/template_delete_params.rb +22 -1
  75. data/lib/sentdm/models/template_list_params.rb +9 -10
  76. data/lib/sentdm/models/template_list_response.rb +46 -21
  77. data/lib/sentdm/models/template_update_params.rb +73 -0
  78. data/lib/sentdm/models/user_invite_params.rb +57 -0
  79. data/lib/sentdm/models/user_list_params.rb +14 -0
  80. data/lib/sentdm/models/user_list_response.rb +57 -0
  81. data/lib/sentdm/models/user_remove_params.rb +34 -0
  82. data/lib/sentdm/models/user_response.rb +82 -0
  83. data/lib/sentdm/models/user_retrieve_params.rb +14 -0
  84. data/lib/sentdm/models/user_update_role_params.rb +49 -0
  85. data/lib/sentdm/models/webhook_create_params.rb +68 -0
  86. data/lib/sentdm/models/webhook_delete_params.rb +14 -0
  87. data/lib/sentdm/models/webhook_list_event_types_params.rb +14 -0
  88. data/lib/sentdm/models/webhook_list_event_types_response.rb +85 -0
  89. data/lib/sentdm/models/webhook_list_events_params.rb +32 -0
  90. data/lib/sentdm/models/webhook_list_events_response.rb +135 -0
  91. data/lib/sentdm/models/webhook_list_params.rb +38 -0
  92. data/lib/sentdm/models/webhook_list_response.rb +64 -0
  93. data/lib/sentdm/models/webhook_response.rb +87 -0
  94. data/lib/sentdm/models/webhook_retrieve_params.rb +14 -0
  95. data/lib/sentdm/models/webhook_rotate_secret_params.rb +30 -0
  96. data/lib/sentdm/models/webhook_rotate_secret_response.rb +56 -0
  97. data/lib/sentdm/models/webhook_test_params.rb +40 -0
  98. data/lib/sentdm/models/webhook_test_response.rb +62 -0
  99. data/lib/sentdm/models/webhook_toggle_status_params.rb +40 -0
  100. data/lib/sentdm/models/webhook_update_params.rb +68 -0
  101. data/lib/sentdm/models.rb +124 -10
  102. data/lib/sentdm/resources/brands/campaigns.rb +144 -0
  103. data/lib/sentdm/resources/brands.rb +128 -0
  104. data/lib/sentdm/resources/contacts.rb +111 -38
  105. data/lib/sentdm/resources/lookup.rb +35 -0
  106. data/lib/sentdm/resources/me.rb +34 -0
  107. data/lib/sentdm/resources/messages.rb +42 -77
  108. data/lib/sentdm/resources/profiles.rb +254 -0
  109. data/lib/sentdm/resources/templates.rb +94 -45
  110. data/lib/sentdm/resources/users.rb +158 -0
  111. data/lib/sentdm/resources/webhooks.rb +295 -0
  112. data/lib/sentdm/version.rb +1 -1
  113. data/lib/sentdm.rb +94 -12
  114. data/rbi/sentdm/client.rbi +20 -25
  115. data/rbi/sentdm/models/api_error.rbi +66 -0
  116. data/rbi/sentdm/models/api_meta.rbi +69 -0
  117. data/rbi/sentdm/models/api_response_brand_with_kyc.rbi +74 -0
  118. data/rbi/sentdm/models/api_response_contact.rbi +74 -0
  119. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  120. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  121. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  122. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  123. data/rbi/sentdm/models/brand_create_params.rbi +68 -0
  124. data/rbi/sentdm/models/brand_data.rbi +266 -0
  125. data/rbi/sentdm/models/brand_delete_params.rbi +62 -0
  126. data/rbi/sentdm/models/brand_list_params.rbi +27 -0
  127. data/rbi/sentdm/models/brand_list_response.rbi +71 -0
  128. data/rbi/sentdm/models/brand_update_params.rbi +68 -0
  129. data/rbi/sentdm/models/brand_with_kyc.rbi +398 -0
  130. data/rbi/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rbi +83 -0
  131. data/rbi/sentdm/models/brands/base_dto.rbi +53 -0
  132. data/rbi/sentdm/models/brands/campaign_create_params.rbi +73 -0
  133. data/rbi/sentdm/models/brands/campaign_data.rbi +148 -0
  134. data/rbi/sentdm/models/brands/campaign_delete_params.rbi +78 -0
  135. data/rbi/sentdm/models/brands/campaign_list_params.rbi +29 -0
  136. data/rbi/sentdm/models/brands/campaign_list_response.rbi +82 -0
  137. data/rbi/sentdm/models/brands/campaign_update_params.rbi +79 -0
  138. data/rbi/sentdm/models/brands/messaging_use_case_us.rbi +69 -0
  139. data/rbi/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi +52 -0
  140. data/rbi/sentdm/models/brands/tcr_campaign_with_use_cases.rbi +404 -0
  141. data/rbi/sentdm/models/contact.rbi +179 -0
  142. data/rbi/sentdm/models/contact_create_params.rbi +68 -0
  143. data/rbi/sentdm/models/contact_delete_params.rbi +62 -0
  144. data/rbi/sentdm/models/contact_list_params.rbi +26 -4
  145. data/rbi/sentdm/models/contact_list_response.rbi +91 -37
  146. data/rbi/sentdm/models/{message_retrieve_params.rbi → contact_retrieve_params.rbi} +2 -2
  147. data/rbi/sentdm/models/contact_update_params.rbi +73 -0
  148. data/rbi/sentdm/models/destination_country.rbi +32 -0
  149. data/rbi/sentdm/models/lookup_retrieve_phone_info_params.rbi +30 -0
  150. data/rbi/sentdm/models/lookup_retrieve_phone_info_response.rbi +183 -0
  151. data/rbi/sentdm/models/me_retrieve_params.rbi +27 -0
  152. data/rbi/sentdm/models/me_retrieve_response.rbi +314 -0
  153. data/rbi/sentdm/models/message_retrieve_activities_params.rbi +30 -0
  154. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +234 -0
  155. data/rbi/sentdm/models/message_retrieve_status_params.rbi +27 -0
  156. data/rbi/sentdm/models/message_retrieve_status_response.rbi +434 -0
  157. data/rbi/sentdm/models/message_send_params.rbi +143 -0
  158. data/rbi/sentdm/models/message_send_response.rbi +231 -0
  159. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  160. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  161. data/rbi/sentdm/models/profile_complete_params.rbi +65 -0
  162. data/rbi/sentdm/models/profile_complete_response.rbi +8 -0
  163. data/rbi/sentdm/models/profile_create_params.rbi +156 -0
  164. data/rbi/sentdm/models/profile_delete_params.rbi +59 -0
  165. data/rbi/sentdm/models/profile_detail.rbi +273 -0
  166. data/rbi/sentdm/models/profile_list_params.rbi +27 -0
  167. data/rbi/sentdm/models/profile_list_response.rbi +111 -0
  168. data/rbi/sentdm/models/profile_retrieve_params.rbi +27 -0
  169. data/rbi/sentdm/models/profile_settings.rbi +86 -0
  170. data/rbi/sentdm/models/profile_update_params.rbi +196 -0
  171. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbi +56 -0
  172. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbi +76 -0
  173. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbi +79 -0
  174. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbi +104 -0
  175. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbi +60 -0
  176. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbi +62 -0
  177. data/rbi/sentdm/models/tcr_brand_relationship.rbi +30 -0
  178. data/rbi/sentdm/models/tcr_vertical.rbi +41 -0
  179. data/rbi/sentdm/models/template.rbi +129 -0
  180. data/rbi/sentdm/models/template_create_params.rbi +47 -23
  181. data/rbi/sentdm/models/template_definition.rbi +74 -405
  182. data/rbi/sentdm/models/template_delete_params.rbi +36 -5
  183. data/rbi/sentdm/models/template_list_params.rbi +8 -10
  184. data/rbi/sentdm/models/template_list_response.rbi +91 -37
  185. data/rbi/sentdm/models/template_update_params.rbi +105 -0
  186. data/rbi/sentdm/models/user_invite_params.rbi +90 -0
  187. data/rbi/sentdm/models/user_list_params.rbi +27 -0
  188. data/rbi/sentdm/models/user_list_response.rbi +111 -0
  189. data/rbi/sentdm/models/user_remove_params.rbi +59 -0
  190. data/rbi/sentdm/models/user_response.rbi +118 -0
  191. data/rbi/sentdm/models/user_retrieve_params.rbi +27 -0
  192. data/rbi/sentdm/models/user_update_role_params.rbi +79 -0
  193. data/rbi/sentdm/models/webhook_create_params.rbi +102 -0
  194. data/rbi/sentdm/models/webhook_delete_params.rbi +27 -0
  195. data/rbi/sentdm/models/webhook_list_event_types_params.rbi +27 -0
  196. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +206 -0
  197. data/rbi/sentdm/models/webhook_list_events_params.rbi +48 -0
  198. data/rbi/sentdm/models/webhook_list_events_response.rbi +263 -0
  199. data/rbi/sentdm/models/webhook_list_params.rbi +59 -0
  200. data/rbi/sentdm/models/webhook_list_response.rbi +126 -0
  201. data/rbi/sentdm/models/webhook_response.rbi +134 -0
  202. data/rbi/sentdm/models/webhook_retrieve_params.rbi +27 -0
  203. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +67 -0
  204. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +112 -0
  205. data/rbi/sentdm/models/webhook_test_params.rbi +66 -0
  206. data/rbi/sentdm/models/webhook_test_response.rbi +111 -0
  207. data/rbi/sentdm/models/webhook_toggle_status_params.rbi +66 -0
  208. data/rbi/sentdm/models/webhook_update_params.rbi +102 -0
  209. data/rbi/sentdm/models.rbi +125 -10
  210. data/rbi/sentdm/resources/brands/campaigns.rbi +108 -0
  211. data/rbi/sentdm/resources/brands.rbi +93 -0
  212. data/rbi/sentdm/resources/contacts.rbi +89 -26
  213. data/rbi/sentdm/resources/lookup.rbi +24 -0
  214. data/rbi/sentdm/resources/me.rbi +23 -0
  215. data/rbi/sentdm/resources/messages.rbi +41 -60
  216. data/rbi/sentdm/resources/profiles.rbi +238 -0
  217. data/rbi/sentdm/resources/templates.rbi +94 -41
  218. data/rbi/sentdm/resources/users.rbi +116 -0
  219. data/rbi/sentdm/resources/webhooks.rbi +218 -0
  220. data/sig/sentdm/client.rbs +11 -8
  221. data/sig/sentdm/models/api_error.rbs +39 -0
  222. data/sig/sentdm/models/api_meta.rbs +41 -0
  223. data/sig/sentdm/models/api_response_brand_with_kyc.rbs +39 -0
  224. data/sig/sentdm/models/api_response_contact.rbs +39 -0
  225. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  226. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  227. data/sig/sentdm/models/api_response_template.rbs +39 -0
  228. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  229. data/sig/sentdm/models/brand_create_params.rbs +36 -0
  230. data/sig/sentdm/models/brand_data.rbs +164 -0
  231. data/sig/sentdm/models/brand_delete_params.rbs +32 -0
  232. data/sig/sentdm/models/brand_list_params.rbs +14 -0
  233. data/sig/sentdm/models/brand_list_response.rbs +39 -0
  234. data/sig/sentdm/models/brand_update_params.rbs +36 -0
  235. data/sig/sentdm/models/brand_with_kyc.rbs +237 -0
  236. data/sig/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rbs +41 -0
  237. data/sig/sentdm/models/brands/base_dto.rbs +27 -0
  238. data/sig/sentdm/models/brands/campaign_create_params.rbs +42 -0
  239. data/sig/sentdm/models/brands/campaign_data.rbs +82 -0
  240. data/sig/sentdm/models/brands/campaign_delete_params.rbs +38 -0
  241. data/sig/sentdm/models/brands/campaign_list_params.rbs +17 -0
  242. data/sig/sentdm/models/brands/campaign_list_response.rbs +41 -0
  243. data/sig/sentdm/models/brands/campaign_update_params.rbs +47 -0
  244. data/sig/sentdm/models/brands/messaging_use_case_us.rbs +40 -0
  245. data/sig/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs +27 -0
  246. data/sig/sentdm/models/brands/tcr_campaign_with_use_cases.rbs +285 -0
  247. data/sig/sentdm/models/{contact_list_item.rbs → contact.rbs} +31 -5
  248. data/sig/sentdm/models/contact_create_params.rbs +38 -0
  249. data/sig/sentdm/models/contact_delete_params.rbs +32 -0
  250. data/sig/sentdm/models/contact_list_params.rbs +19 -1
  251. data/sig/sentdm/models/contact_list_response.rbs +44 -31
  252. data/sig/sentdm/models/{message_retrieve_params.rbs → contact_retrieve_params.rbs} +2 -2
  253. data/sig/sentdm/models/contact_update_params.rbs +45 -0
  254. data/sig/sentdm/models/destination_country.rbs +19 -0
  255. data/sig/sentdm/models/lookup_retrieve_phone_info_params.rbs +15 -0
  256. data/sig/sentdm/models/lookup_retrieve_phone_info_response.rbs +102 -0
  257. data/sig/sentdm/models/me_retrieve_params.rbs +14 -0
  258. data/sig/sentdm/models/me_retrieve_response.rbs +162 -0
  259. data/sig/sentdm/models/message_retrieve_activities_params.rbs +15 -0
  260. data/sig/sentdm/models/message_retrieve_activities_response.rbs +105 -0
  261. data/sig/sentdm/models/message_retrieve_status_params.rbs +15 -0
  262. data/sig/sentdm/models/message_retrieve_status_response.rbs +224 -0
  263. data/sig/sentdm/models/message_send_params.rbs +79 -0
  264. data/sig/sentdm/models/message_send_response.rbs +108 -0
  265. data/sig/sentdm/models/mutation_request.rbs +15 -0
  266. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  267. data/sig/sentdm/models/profile_complete_params.rbs +36 -0
  268. data/sig/sentdm/models/profile_complete_response.rbs +5 -0
  269. data/sig/sentdm/models/profile_create_params.rbs +96 -0
  270. data/sig/sentdm/models/profile_delete_params.rbs +32 -0
  271. data/sig/sentdm/models/profile_detail.rbs +168 -0
  272. data/sig/sentdm/models/profile_list_params.rbs +14 -0
  273. data/sig/sentdm/models/profile_list_response.rbs +53 -0
  274. data/sig/sentdm/models/profile_retrieve_params.rbs +15 -0
  275. data/sig/sentdm/models/profile_settings.rbs +50 -0
  276. data/sig/sentdm/models/profile_update_params.rbs +122 -0
  277. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbs +24 -0
  278. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbs +30 -0
  279. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +38 -0
  280. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbs +75 -0
  281. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbs +32 -0
  282. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbs +32 -0
  283. data/sig/sentdm/models/tcr_brand_relationship.rbs +22 -0
  284. data/sig/sentdm/models/tcr_vertical.rbs +58 -0
  285. data/sig/sentdm/models/{template_response_v2.rbs → template.rbs} +18 -31
  286. data/sig/sentdm/models/template_create_params.rbs +29 -6
  287. data/sig/sentdm/models/template_definition.rbs +20 -233
  288. data/sig/sentdm/models/template_delete_params.rbs +18 -3
  289. data/sig/sentdm/models/template_list_response.rbs +44 -31
  290. data/sig/sentdm/models/template_update_params.rbs +62 -0
  291. data/sig/sentdm/models/user_invite_params.rbs +56 -0
  292. data/sig/sentdm/models/user_list_params.rbs +14 -0
  293. data/sig/sentdm/models/user_list_response.rbs +53 -0
  294. data/sig/sentdm/models/user_remove_params.rbs +32 -0
  295. data/sig/sentdm/models/user_response.rbs +72 -0
  296. data/sig/sentdm/models/user_retrieve_params.rbs +15 -0
  297. data/sig/sentdm/models/user_update_role_params.rbs +49 -0
  298. data/sig/sentdm/models/webhook_create_params.rbs +70 -0
  299. data/sig/sentdm/models/webhook_delete_params.rbs +15 -0
  300. data/sig/sentdm/models/webhook_list_event_types_params.rbs +15 -0
  301. data/sig/sentdm/models/webhook_list_event_types_response.rbs +98 -0
  302. data/sig/sentdm/models/webhook_list_events_params.rbs +32 -0
  303. data/sig/sentdm/models/webhook_list_events_response.rbs +146 -0
  304. data/sig/sentdm/models/webhook_list_params.rbs +36 -0
  305. data/sig/sentdm/models/webhook_list_response.rbs +67 -0
  306. data/sig/sentdm/models/webhook_response.rbs +98 -0
  307. data/sig/sentdm/models/webhook_retrieve_params.rbs +15 -0
  308. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +38 -0
  309. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +51 -0
  310. data/sig/sentdm/models/webhook_test_params.rbs +38 -0
  311. data/sig/sentdm/models/webhook_test_response.rbs +55 -0
  312. data/sig/sentdm/models/webhook_toggle_status_params.rbs +38 -0
  313. data/sig/sentdm/models/webhook_update_params.rbs +70 -0
  314. data/sig/sentdm/models.rbs +118 -10
  315. data/sig/sentdm/resources/brands/campaigns.rbs +38 -0
  316. data/sig/sentdm/resources/brands.rbs +34 -0
  317. data/sig/sentdm/resources/contacts.rbs +28 -8
  318. data/sig/sentdm/resources/lookup.rbs +12 -0
  319. data/sig/sentdm/resources/{number_lookup.rbs → me.rbs} +2 -3
  320. data/sig/sentdm/resources/messages.rbs +12 -18
  321. data/sig/sentdm/resources/profiles.rbs +72 -0
  322. data/sig/sentdm/resources/templates.rbs +24 -4
  323. data/sig/sentdm/resources/users.rbs +41 -0
  324. data/sig/sentdm/resources/webhooks.rbs +80 -0
  325. metadata +284 -38
  326. data/lib/sentdm/models/contact_list_item.rb +0 -96
  327. data/lib/sentdm/models/contact_retrieve_by_phone_params.rb +0 -22
  328. data/lib/sentdm/models/contact_retrieve_id_params.rb +0 -22
  329. data/lib/sentdm/models/message_retrieve_response.rb +0 -227
  330. data/lib/sentdm/models/message_send_quick_message_params.rb +0 -34
  331. data/lib/sentdm/models/message_send_to_contact_params.rb +0 -46
  332. data/lib/sentdm/models/message_send_to_phone_params.rb +0 -47
  333. data/lib/sentdm/models/number_lookup_retrieve_params.rb +0 -20
  334. data/lib/sentdm/models/number_lookup_retrieve_response.rb +0 -83
  335. data/lib/sentdm/models/template_response_v2.rb +0 -100
  336. data/lib/sentdm/resources/number_lookup.rb +0 -37
  337. data/rbi/sentdm/models/contact_list_item.rbi +0 -144
  338. data/rbi/sentdm/models/contact_retrieve_by_phone_params.rbi +0 -40
  339. data/rbi/sentdm/models/contact_retrieve_id_params.rbi +0 -40
  340. data/rbi/sentdm/models/message_retrieve_response.rbi +0 -376
  341. data/rbi/sentdm/models/message_send_quick_message_params.rbi +0 -56
  342. data/rbi/sentdm/models/message_send_to_contact_params.rbi +0 -63
  343. data/rbi/sentdm/models/message_send_to_phone_params.rbi +0 -65
  344. data/rbi/sentdm/models/number_lookup_retrieve_params.rbi +0 -35
  345. data/rbi/sentdm/models/number_lookup_retrieve_response.rbi +0 -132
  346. data/rbi/sentdm/models/template_response_v2.rbi +0 -149
  347. data/rbi/sentdm/resources/number_lookup.rbi +0 -24
  348. data/sig/sentdm/models/contact_retrieve_by_phone_params.rbs +0 -23
  349. data/sig/sentdm/models/contact_retrieve_id_params.rbs +0 -20
  350. data/sig/sentdm/models/message_retrieve_response.rbs +0 -188
  351. data/sig/sentdm/models/message_send_quick_message_params.rbs +0 -28
  352. data/sig/sentdm/models/message_send_to_contact_params.rbs +0 -36
  353. data/sig/sentdm/models/message_send_to_phone_params.rbs +0 -36
  354. data/sig/sentdm/models/number_lookup_retrieve_params.rbs +0 -23
  355. data/sig/sentdm/models/number_lookup_retrieve_response.rbs +0 -78
@@ -0,0 +1,231 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class MessageSendResponse < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::Models::MessageSendResponse, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # The response data (null if error)
12
+ sig { returns(T.nilable(Sentdm::Models::MessageSendResponse::Data)) }
13
+ attr_reader :data
14
+
15
+ sig do
16
+ params(
17
+ data: T.nilable(Sentdm::Models::MessageSendResponse::Data::OrHash)
18
+ ).void
19
+ end
20
+ attr_writer :data
21
+
22
+ # Error details (null if successful)
23
+ sig { returns(T.nilable(Sentdm::APIError)) }
24
+ attr_reader :error
25
+
26
+ sig { params(error: T.nilable(Sentdm::APIError::OrHash)).void }
27
+ attr_writer :error
28
+
29
+ # Metadata about the request and response
30
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
31
+ attr_reader :meta
32
+
33
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
34
+ attr_writer :meta
35
+
36
+ # Indicates whether the request was successful
37
+ sig { returns(T.nilable(T::Boolean)) }
38
+ attr_reader :success
39
+
40
+ sig { params(success: T::Boolean).void }
41
+ attr_writer :success
42
+
43
+ # Standard API response envelope for all v3 endpoints
44
+ sig do
45
+ params(
46
+ data: T.nilable(Sentdm::Models::MessageSendResponse::Data::OrHash),
47
+ error: T.nilable(Sentdm::APIError::OrHash),
48
+ meta: Sentdm::APIMeta::OrHash,
49
+ success: T::Boolean
50
+ ).returns(T.attached_class)
51
+ end
52
+ def self.new(
53
+ # The response data (null if error)
54
+ data: nil,
55
+ # Error details (null if successful)
56
+ error: nil,
57
+ # Metadata about the request and response
58
+ meta: nil,
59
+ # Indicates whether the request was successful
60
+ success: nil
61
+ )
62
+ end
63
+
64
+ sig do
65
+ override.returns(
66
+ {
67
+ data: T.nilable(Sentdm::Models::MessageSendResponse::Data),
68
+ error: T.nilable(Sentdm::APIError),
69
+ meta: Sentdm::APIMeta,
70
+ success: T::Boolean
71
+ }
72
+ )
73
+ end
74
+ def to_hash
75
+ end
76
+
77
+ class Data < Sentdm::Internal::Type::BaseModel
78
+ OrHash =
79
+ T.type_alias do
80
+ T.any(
81
+ Sentdm::Models::MessageSendResponse::Data,
82
+ Sentdm::Internal::AnyHash
83
+ )
84
+ end
85
+
86
+ # Resolved template body text
87
+ sig { returns(T.nilable(String)) }
88
+ attr_accessor :body
89
+
90
+ # Per-recipient message results
91
+ sig do
92
+ returns(
93
+ T.nilable(
94
+ T::Array[Sentdm::Models::MessageSendResponse::Data::Recipient]
95
+ )
96
+ )
97
+ end
98
+ attr_reader :recipients
99
+
100
+ sig do
101
+ params(
102
+ recipients:
103
+ T::Array[
104
+ Sentdm::Models::MessageSendResponse::Data::Recipient::OrHash
105
+ ]
106
+ ).void
107
+ end
108
+ attr_writer :recipients
109
+
110
+ # Overall request status (e.g. "accepted")
111
+ sig { returns(T.nilable(String)) }
112
+ attr_reader :status
113
+
114
+ sig { params(status: String).void }
115
+ attr_writer :status
116
+
117
+ # Template ID that was used
118
+ sig { returns(T.nilable(String)) }
119
+ attr_reader :template_id
120
+
121
+ sig { params(template_id: String).void }
122
+ attr_writer :template_id
123
+
124
+ # Template display name
125
+ sig { returns(T.nilable(String)) }
126
+ attr_reader :template_name
127
+
128
+ sig { params(template_name: String).void }
129
+ attr_writer :template_name
130
+
131
+ # The response data (null if error)
132
+ sig do
133
+ params(
134
+ body: T.nilable(String),
135
+ recipients:
136
+ T::Array[
137
+ Sentdm::Models::MessageSendResponse::Data::Recipient::OrHash
138
+ ],
139
+ status: String,
140
+ template_id: String,
141
+ template_name: String
142
+ ).returns(T.attached_class)
143
+ end
144
+ def self.new(
145
+ # Resolved template body text
146
+ body: nil,
147
+ # Per-recipient message results
148
+ recipients: nil,
149
+ # Overall request status (e.g. "accepted")
150
+ status: nil,
151
+ # Template ID that was used
152
+ template_id: nil,
153
+ # Template display name
154
+ template_name: nil
155
+ )
156
+ end
157
+
158
+ sig do
159
+ override.returns(
160
+ {
161
+ body: T.nilable(String),
162
+ recipients:
163
+ T::Array[Sentdm::Models::MessageSendResponse::Data::Recipient],
164
+ status: String,
165
+ template_id: String,
166
+ template_name: String
167
+ }
168
+ )
169
+ end
170
+ def to_hash
171
+ end
172
+
173
+ class Recipient < Sentdm::Internal::Type::BaseModel
174
+ OrHash =
175
+ T.type_alias do
176
+ T.any(
177
+ Sentdm::Models::MessageSendResponse::Data::Recipient,
178
+ Sentdm::Internal::AnyHash
179
+ )
180
+ end
181
+
182
+ # Channel this message will be sent on (e.g. "sms", "whatsapp"), or null for
183
+ # auto-detect
184
+ sig { returns(T.nilable(String)) }
185
+ attr_accessor :channel
186
+
187
+ # Unique message identifier for tracking this recipient's message
188
+ sig { returns(T.nilable(String)) }
189
+ attr_reader :message_id
190
+
191
+ sig { params(message_id: String).void }
192
+ attr_writer :message_id
193
+
194
+ # Phone number in E.164 format
195
+ sig { returns(T.nilable(String)) }
196
+ attr_reader :to
197
+
198
+ sig { params(to: String).void }
199
+ attr_writer :to
200
+
201
+ # Per-recipient result in the send message response
202
+ sig do
203
+ params(
204
+ channel: T.nilable(String),
205
+ message_id: String,
206
+ to: String
207
+ ).returns(T.attached_class)
208
+ end
209
+ def self.new(
210
+ # Channel this message will be sent on (e.g. "sms", "whatsapp"), or null for
211
+ # auto-detect
212
+ channel: nil,
213
+ # Unique message identifier for tracking this recipient's message
214
+ message_id: nil,
215
+ # Phone number in E.164 format
216
+ to: nil
217
+ )
218
+ end
219
+
220
+ sig do
221
+ override.returns(
222
+ { channel: T.nilable(String), message_id: String, to: String }
223
+ )
224
+ end
225
+ def to_hash
226
+ end
227
+ end
228
+ end
229
+ end
230
+ end
231
+ end
@@ -0,0 +1,32 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class MutationRequest < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::MutationRequest, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # Test mode flag - when true, the operation is simulated without side effects
12
+ # Useful for testing integrations without actual execution
13
+ sig { returns(T.nilable(T::Boolean)) }
14
+ attr_reader :test_mode
15
+
16
+ sig { params(test_mode: T::Boolean).void }
17
+ attr_writer :test_mode
18
+
19
+ sig { params(test_mode: T::Boolean).returns(T.attached_class) }
20
+ def self.new(
21
+ # Test mode flag - when true, the operation is simulated without side effects
22
+ # Useful for testing integrations without actual execution
23
+ test_mode: nil
24
+ )
25
+ end
26
+
27
+ sig { override.returns({ test_mode: T::Boolean }) }
28
+ def to_hash
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,135 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class PaginationMeta < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::PaginationMeta, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # Cursor-based pagination (optional)
12
+ sig { returns(T.nilable(Sentdm::PaginationMeta::Cursors)) }
13
+ attr_reader :cursors
14
+
15
+ sig do
16
+ params(cursors: T.nilable(Sentdm::PaginationMeta::Cursors::OrHash)).void
17
+ end
18
+ attr_writer :cursors
19
+
20
+ # Whether there are more pages after this one
21
+ sig { returns(T.nilable(T::Boolean)) }
22
+ attr_reader :has_more
23
+
24
+ sig { params(has_more: T::Boolean).void }
25
+ attr_writer :has_more
26
+
27
+ # Current page number (1-indexed)
28
+ sig { returns(T.nilable(Integer)) }
29
+ attr_reader :page
30
+
31
+ sig { params(page: Integer).void }
32
+ attr_writer :page
33
+
34
+ # Number of items per page
35
+ sig { returns(T.nilable(Integer)) }
36
+ attr_reader :page_size
37
+
38
+ sig { params(page_size: Integer).void }
39
+ attr_writer :page_size
40
+
41
+ # Total number of items across all pages
42
+ sig { returns(T.nilable(Integer)) }
43
+ attr_reader :total_count
44
+
45
+ sig { params(total_count: Integer).void }
46
+ attr_writer :total_count
47
+
48
+ # Total number of pages
49
+ sig { returns(T.nilable(Integer)) }
50
+ attr_reader :total_pages
51
+
52
+ sig { params(total_pages: Integer).void }
53
+ attr_writer :total_pages
54
+
55
+ # Pagination metadata for list responses
56
+ sig do
57
+ params(
58
+ cursors: T.nilable(Sentdm::PaginationMeta::Cursors::OrHash),
59
+ has_more: T::Boolean,
60
+ page: Integer,
61
+ page_size: Integer,
62
+ total_count: Integer,
63
+ total_pages: Integer
64
+ ).returns(T.attached_class)
65
+ end
66
+ def self.new(
67
+ # Cursor-based pagination (optional)
68
+ cursors: nil,
69
+ # Whether there are more pages after this one
70
+ has_more: nil,
71
+ # Current page number (1-indexed)
72
+ page: nil,
73
+ # Number of items per page
74
+ page_size: nil,
75
+ # Total number of items across all pages
76
+ total_count: nil,
77
+ # Total number of pages
78
+ total_pages: nil
79
+ )
80
+ end
81
+
82
+ sig do
83
+ override.returns(
84
+ {
85
+ cursors: T.nilable(Sentdm::PaginationMeta::Cursors),
86
+ has_more: T::Boolean,
87
+ page: Integer,
88
+ page_size: Integer,
89
+ total_count: Integer,
90
+ total_pages: Integer
91
+ }
92
+ )
93
+ end
94
+ def to_hash
95
+ end
96
+
97
+ class Cursors < Sentdm::Internal::Type::BaseModel
98
+ OrHash =
99
+ T.type_alias do
100
+ T.any(Sentdm::PaginationMeta::Cursors, Sentdm::Internal::AnyHash)
101
+ end
102
+
103
+ # Cursor to fetch the next page
104
+ sig { returns(T.nilable(String)) }
105
+ attr_accessor :after
106
+
107
+ # Cursor to fetch the previous page
108
+ sig { returns(T.nilable(String)) }
109
+ attr_accessor :before
110
+
111
+ # Cursor-based pagination (optional)
112
+ sig do
113
+ params(after: T.nilable(String), before: T.nilable(String)).returns(
114
+ T.attached_class
115
+ )
116
+ end
117
+ def self.new(
118
+ # Cursor to fetch the next page
119
+ after: nil,
120
+ # Cursor to fetch the previous page
121
+ before: nil
122
+ )
123
+ end
124
+
125
+ sig do
126
+ override.returns(
127
+ { after: T.nilable(String), before: T.nilable(String) }
128
+ )
129
+ end
130
+ def to_hash
131
+ end
132
+ end
133
+ end
134
+ end
135
+ end
@@ -0,0 +1,65 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ProfileCompleteParams < Sentdm::Internal::Type::BaseModel
6
+ extend Sentdm::Internal::Type::RequestParameters::Converter
7
+ include Sentdm::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Sentdm::ProfileCompleteParams, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ # Webhook URL to call when profile completion finishes (success or failure)
15
+ sig { returns(String) }
16
+ attr_accessor :web_hook_url
17
+
18
+ # Test mode flag - when true, the operation is simulated without side effects
19
+ # Useful for testing integrations without actual execution
20
+ sig { returns(T.nilable(T::Boolean)) }
21
+ attr_reader :test_mode
22
+
23
+ sig { params(test_mode: T::Boolean).void }
24
+ attr_writer :test_mode
25
+
26
+ sig { returns(T.nilable(String)) }
27
+ attr_reader :idempotency_key
28
+
29
+ sig { params(idempotency_key: String).void }
30
+ attr_writer :idempotency_key
31
+
32
+ sig do
33
+ params(
34
+ web_hook_url: String,
35
+ test_mode: T::Boolean,
36
+ idempotency_key: String,
37
+ request_options: Sentdm::RequestOptions::OrHash
38
+ ).returns(T.attached_class)
39
+ end
40
+ def self.new(
41
+ # Webhook URL to call when profile completion finishes (success or failure)
42
+ web_hook_url:,
43
+ # Test mode flag - when true, the operation is simulated without side effects
44
+ # Useful for testing integrations without actual execution
45
+ test_mode: nil,
46
+ idempotency_key: nil,
47
+ request_options: {}
48
+ )
49
+ end
50
+
51
+ sig do
52
+ override.returns(
53
+ {
54
+ web_hook_url: String,
55
+ test_mode: T::Boolean,
56
+ idempotency_key: String,
57
+ request_options: Sentdm::RequestOptions
58
+ }
59
+ )
60
+ end
61
+ def to_hash
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,8 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ ProfileCompleteResponse =
6
+ T.let(T.anything, Sentdm::Internal::Type::Converter)
7
+ end
8
+ end
@@ -0,0 +1,156 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ProfileCreateParams < Sentdm::Internal::Type::BaseModel
6
+ extend Sentdm::Internal::Type::RequestParameters::Converter
7
+ include Sentdm::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Sentdm::ProfileCreateParams, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ # Whether contacts are shared across profiles (default: false)
15
+ sig { returns(T.nilable(T::Boolean)) }
16
+ attr_reader :allow_contact_sharing
17
+
18
+ sig { params(allow_contact_sharing: T::Boolean).void }
19
+ attr_writer :allow_contact_sharing
20
+
21
+ # Whether templates are shared across profiles (default: false)
22
+ sig { returns(T.nilable(T::Boolean)) }
23
+ attr_reader :allow_template_sharing
24
+
25
+ sig { params(allow_template_sharing: T::Boolean).void }
26
+ attr_writer :allow_template_sharing
27
+
28
+ # Billing model: profile, organization, or profile_and_organization (default:
29
+ # profile)
30
+ sig { returns(T.nilable(String)) }
31
+ attr_accessor :billing_model
32
+
33
+ # Profile description (optional)
34
+ sig { returns(T.nilable(String)) }
35
+ attr_accessor :description
36
+
37
+ # Profile icon URL (optional)
38
+ sig { returns(T.nilable(String)) }
39
+ attr_accessor :icon
40
+
41
+ # Whether this profile inherits contacts from organization (default: true)
42
+ sig { returns(T.nilable(T::Boolean)) }
43
+ attr_accessor :inherit_contacts
44
+
45
+ # Whether this profile inherits TCR brand from organization (default: true)
46
+ sig { returns(T.nilable(T::Boolean)) }
47
+ attr_accessor :inherit_tcr_brand
48
+
49
+ # Whether this profile inherits TCR campaign from organization (default: true)
50
+ sig { returns(T.nilable(T::Boolean)) }
51
+ attr_accessor :inherit_tcr_campaign
52
+
53
+ # Whether this profile inherits templates from organization (default: true)
54
+ sig { returns(T.nilable(T::Boolean)) }
55
+ attr_accessor :inherit_templates
56
+
57
+ # Profile name (required)
58
+ sig { returns(T.nilable(String)) }
59
+ attr_reader :name
60
+
61
+ sig { params(name: String).void }
62
+ attr_writer :name
63
+
64
+ # Profile short name/abbreviation (optional)
65
+ sig { returns(T.nilable(String)) }
66
+ attr_accessor :short_name
67
+
68
+ # Test mode flag - when true, the operation is simulated without side effects
69
+ # Useful for testing integrations without actual execution
70
+ sig { returns(T.nilable(T::Boolean)) }
71
+ attr_reader :test_mode
72
+
73
+ sig { params(test_mode: T::Boolean).void }
74
+ attr_writer :test_mode
75
+
76
+ sig { returns(T.nilable(String)) }
77
+ attr_reader :idempotency_key
78
+
79
+ sig { params(idempotency_key: String).void }
80
+ attr_writer :idempotency_key
81
+
82
+ sig do
83
+ params(
84
+ allow_contact_sharing: T::Boolean,
85
+ allow_template_sharing: T::Boolean,
86
+ billing_model: T.nilable(String),
87
+ description: T.nilable(String),
88
+ icon: T.nilable(String),
89
+ inherit_contacts: T.nilable(T::Boolean),
90
+ inherit_tcr_brand: T.nilable(T::Boolean),
91
+ inherit_tcr_campaign: T.nilable(T::Boolean),
92
+ inherit_templates: T.nilable(T::Boolean),
93
+ name: String,
94
+ short_name: T.nilable(String),
95
+ test_mode: T::Boolean,
96
+ idempotency_key: String,
97
+ request_options: Sentdm::RequestOptions::OrHash
98
+ ).returns(T.attached_class)
99
+ end
100
+ def self.new(
101
+ # Whether contacts are shared across profiles (default: false)
102
+ allow_contact_sharing: nil,
103
+ # Whether templates are shared across profiles (default: false)
104
+ allow_template_sharing: nil,
105
+ # Billing model: profile, organization, or profile_and_organization (default:
106
+ # profile)
107
+ billing_model: nil,
108
+ # Profile description (optional)
109
+ description: nil,
110
+ # Profile icon URL (optional)
111
+ icon: nil,
112
+ # Whether this profile inherits contacts from organization (default: true)
113
+ inherit_contacts: nil,
114
+ # Whether this profile inherits TCR brand from organization (default: true)
115
+ inherit_tcr_brand: nil,
116
+ # Whether this profile inherits TCR campaign from organization (default: true)
117
+ inherit_tcr_campaign: nil,
118
+ # Whether this profile inherits templates from organization (default: true)
119
+ inherit_templates: nil,
120
+ # Profile name (required)
121
+ name: nil,
122
+ # Profile short name/abbreviation (optional)
123
+ short_name: nil,
124
+ # Test mode flag - when true, the operation is simulated without side effects
125
+ # Useful for testing integrations without actual execution
126
+ test_mode: nil,
127
+ idempotency_key: nil,
128
+ request_options: {}
129
+ )
130
+ end
131
+
132
+ sig do
133
+ override.returns(
134
+ {
135
+ allow_contact_sharing: T::Boolean,
136
+ allow_template_sharing: T::Boolean,
137
+ billing_model: T.nilable(String),
138
+ description: T.nilable(String),
139
+ icon: T.nilable(String),
140
+ inherit_contacts: T.nilable(T::Boolean),
141
+ inherit_tcr_brand: T.nilable(T::Boolean),
142
+ inherit_tcr_campaign: T.nilable(T::Boolean),
143
+ inherit_templates: T.nilable(T::Boolean),
144
+ name: String,
145
+ short_name: T.nilable(String),
146
+ test_mode: T::Boolean,
147
+ idempotency_key: String,
148
+ request_options: Sentdm::RequestOptions
149
+ }
150
+ )
151
+ end
152
+ def to_hash
153
+ end
154
+ end
155
+ end
156
+ end
@@ -0,0 +1,59 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ProfileDeleteParams < Sentdm::Internal::Type::BaseModel
6
+ extend Sentdm::Internal::Type::RequestParameters::Converter
7
+ include Sentdm::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Sentdm::ProfileDeleteParams, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ # Profile ID from route parameter
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :body_profile_id
17
+
18
+ sig { params(body_profile_id: String).void }
19
+ attr_writer :body_profile_id
20
+
21
+ # Test mode flag - when true, the operation is simulated without side effects
22
+ # Useful for testing integrations without actual execution
23
+ sig { returns(T.nilable(T::Boolean)) }
24
+ attr_reader :test_mode
25
+
26
+ sig { params(test_mode: T::Boolean).void }
27
+ attr_writer :test_mode
28
+
29
+ sig do
30
+ params(
31
+ body_profile_id: String,
32
+ test_mode: T::Boolean,
33
+ request_options: Sentdm::RequestOptions::OrHash
34
+ ).returns(T.attached_class)
35
+ end
36
+ def self.new(
37
+ # Profile ID from route parameter
38
+ body_profile_id: nil,
39
+ # Test mode flag - when true, the operation is simulated without side effects
40
+ # Useful for testing integrations without actual execution
41
+ test_mode: nil,
42
+ request_options: {}
43
+ )
44
+ end
45
+
46
+ sig do
47
+ override.returns(
48
+ {
49
+ body_profile_id: String,
50
+ test_mode: T::Boolean,
51
+ request_options: Sentdm::RequestOptions
52
+ }
53
+ )
54
+ end
55
+ def to_hash
56
+ end
57
+ end
58
+ end
59
+ end