sentdm 0.2.0 → 0.3.1

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 (354) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +105 -39
  4. data/lib/sentdm/client.rb +36 -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/internal/util.rb +31 -0
  8. data/lib/sentdm/models/api_error.rb +42 -0
  9. data/lib/sentdm/models/api_meta.rb +42 -0
  10. data/lib/sentdm/models/api_response_brand_with_kyc.rb +43 -0
  11. data/lib/sentdm/models/api_response_contact.rb +43 -0
  12. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  13. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  14. data/lib/sentdm/models/api_response_template.rb +43 -0
  15. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  16. data/lib/sentdm/models/brand_create_params.rb +41 -0
  17. data/lib/sentdm/models/brand_data.rb +237 -0
  18. data/lib/sentdm/models/brand_delete_params.rb +34 -0
  19. data/lib/sentdm/models/{message_retrieve_params.rb → brand_list_params.rb} +2 -2
  20. data/lib/sentdm/models/brand_list_response.rb +43 -0
  21. data/lib/sentdm/models/brand_update_params.rb +48 -0
  22. data/lib/sentdm/models/brand_with_kyc.rb +335 -0
  23. data/lib/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rb +45 -0
  24. data/lib/sentdm/models/brands/base_dto.rb +32 -0
  25. data/lib/sentdm/models/brands/campaign_create_params.rb +50 -0
  26. data/lib/sentdm/models/brands/campaign_data.rb +123 -0
  27. data/lib/sentdm/models/brands/campaign_delete_params.rb +43 -0
  28. data/lib/sentdm/models/brands/campaign_list_params.rb +22 -0
  29. data/lib/sentdm/models/brands/campaign_list_response.rb +47 -0
  30. data/lib/sentdm/models/brands/campaign_update_params.rb +57 -0
  31. data/lib/sentdm/models/brands/messaging_use_case_us.rb +28 -0
  32. data/lib/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb +30 -0
  33. data/lib/sentdm/models/brands/tcr_campaign_with_use_cases.rb +236 -0
  34. data/lib/sentdm/models/contact.rb +122 -0
  35. data/lib/sentdm/models/contact_create_params.rb +41 -0
  36. data/lib/sentdm/models/contact_delete_params.rb +34 -0
  37. data/lib/sentdm/models/contact_list_params.rb +28 -5
  38. data/lib/sentdm/models/contact_list_response.rb +46 -21
  39. data/lib/sentdm/models/{contact_retrieve_id_params.rb → contact_retrieve_params.rb} +3 -5
  40. data/lib/sentdm/models/contact_update_params.rb +56 -0
  41. data/lib/sentdm/models/destination_country.rb +21 -0
  42. data/lib/sentdm/models/{number_lookup_retrieve_params.rb → lookup_retrieve_phone_info_params.rb} +2 -2
  43. data/lib/sentdm/models/lookup_retrieve_phone_info_response.rb +104 -0
  44. data/lib/sentdm/models/me_retrieve_params.rb +14 -0
  45. data/lib/sentdm/models/me_retrieve_response.rb +200 -0
  46. data/lib/sentdm/models/message_retrieve_activities_params.rb +20 -0
  47. data/lib/sentdm/models/message_retrieve_activities_response.rb +103 -0
  48. data/lib/sentdm/models/message_retrieve_status_params.rb +20 -0
  49. data/lib/sentdm/models/message_retrieve_status_response.rb +237 -0
  50. data/lib/sentdm/models/message_send_params.rb +88 -0
  51. data/lib/sentdm/models/message_send_response.rb +123 -0
  52. data/lib/sentdm/models/mutation_request.rb +20 -0
  53. data/lib/sentdm/models/pagination_meta.rb +80 -0
  54. data/lib/sentdm/models/profile_complete_params.rb +48 -0
  55. data/lib/sentdm/models/profile_complete_response.rb +8 -0
  56. data/lib/sentdm/models/profile_create_params.rb +122 -0
  57. data/lib/sentdm/models/profile_delete_params.rb +41 -0
  58. data/lib/sentdm/models/profile_detail.rb +200 -0
  59. data/lib/sentdm/models/profile_list_params.rb +14 -0
  60. data/lib/sentdm/models/profile_list_response.rb +57 -0
  61. data/lib/sentdm/models/profile_retrieve_params.rb +20 -0
  62. data/lib/sentdm/models/profile_settings.rb +66 -0
  63. data/lib/sentdm/models/profile_update_params.rb +176 -0
  64. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rb +34 -0
  65. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rb +40 -0
  66. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rb +38 -0
  67. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rb +81 -0
  68. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rb +34 -0
  69. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rb +39 -0
  70. data/lib/sentdm/models/tcr_brand_relationship.rb +18 -0
  71. data/lib/sentdm/models/tcr_vertical.rb +36 -0
  72. data/lib/sentdm/models/template.rb +90 -0
  73. data/lib/sentdm/models/template_create_params.rb +40 -19
  74. data/lib/sentdm/models/template_definition.rb +15 -255
  75. data/lib/sentdm/models/template_delete_params.rb +29 -1
  76. data/lib/sentdm/models/template_list_params.rb +9 -10
  77. data/lib/sentdm/models/template_list_response.rb +46 -21
  78. data/lib/sentdm/models/template_retrieve_params.rb +7 -1
  79. data/lib/sentdm/models/template_update_params.rb +80 -0
  80. data/lib/sentdm/models/user_invite_params.rb +57 -0
  81. data/lib/sentdm/models/user_list_params.rb +14 -0
  82. data/lib/sentdm/models/user_list_response.rb +57 -0
  83. data/lib/sentdm/models/user_remove_params.rb +41 -0
  84. data/lib/sentdm/models/user_response.rb +82 -0
  85. data/lib/sentdm/models/user_retrieve_params.rb +20 -0
  86. data/lib/sentdm/models/user_update_role_params.rb +56 -0
  87. data/lib/sentdm/models/webhook_create_params.rb +68 -0
  88. data/lib/sentdm/models/webhook_delete_params.rb +20 -0
  89. data/lib/sentdm/models/webhook_list_event_types_params.rb +14 -0
  90. data/lib/sentdm/models/webhook_list_event_types_response.rb +85 -0
  91. data/lib/sentdm/models/webhook_list_events_params.rb +38 -0
  92. data/lib/sentdm/models/webhook_list_events_response.rb +135 -0
  93. data/lib/sentdm/models/webhook_list_params.rb +38 -0
  94. data/lib/sentdm/models/webhook_list_response.rb +64 -0
  95. data/lib/sentdm/models/webhook_response.rb +87 -0
  96. data/lib/sentdm/models/webhook_retrieve_params.rb +20 -0
  97. data/lib/sentdm/models/webhook_rotate_secret_params.rb +36 -0
  98. data/lib/sentdm/models/webhook_rotate_secret_response.rb +56 -0
  99. data/lib/sentdm/models/webhook_test_params.rb +47 -0
  100. data/lib/sentdm/models/webhook_test_response.rb +62 -0
  101. data/lib/sentdm/models/webhook_toggle_status_params.rb +47 -0
  102. data/lib/sentdm/models/webhook_update_params.rb +75 -0
  103. data/lib/sentdm/models.rb +124 -10
  104. data/lib/sentdm/resources/brands/campaigns.rb +145 -0
  105. data/lib/sentdm/resources/brands.rb +130 -0
  106. data/lib/sentdm/resources/contacts.rb +113 -38
  107. data/lib/sentdm/resources/lookup.rb +35 -0
  108. data/lib/sentdm/resources/me.rb +35 -0
  109. data/lib/sentdm/resources/messages.rb +43 -77
  110. data/lib/sentdm/resources/profiles.rb +255 -0
  111. data/lib/sentdm/resources/templates.rb +97 -46
  112. data/lib/sentdm/resources/users.rb +159 -0
  113. data/lib/sentdm/resources/webhooks.rb +298 -0
  114. data/lib/sentdm/version.rb +1 -1
  115. data/lib/sentdm.rb +94 -12
  116. data/rbi/sentdm/client.rbi +28 -25
  117. data/rbi/sentdm/internal/util.rbi +20 -0
  118. data/rbi/sentdm/models/api_error.rbi +66 -0
  119. data/rbi/sentdm/models/api_meta.rbi +69 -0
  120. data/rbi/sentdm/models/api_response_brand_with_kyc.rbi +74 -0
  121. data/rbi/sentdm/models/api_response_contact.rbi +74 -0
  122. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  123. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  124. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  125. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  126. data/rbi/sentdm/models/brand_create_params.rbi +68 -0
  127. data/rbi/sentdm/models/brand_data.rbi +266 -0
  128. data/rbi/sentdm/models/brand_delete_params.rbi +68 -0
  129. data/rbi/sentdm/models/{message_retrieve_params.rbi → brand_list_params.rbi} +2 -2
  130. data/rbi/sentdm/models/brand_list_response.rbi +71 -0
  131. data/rbi/sentdm/models/brand_update_params.rbi +74 -0
  132. data/rbi/sentdm/models/brand_with_kyc.rbi +398 -0
  133. data/rbi/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rbi +83 -0
  134. data/rbi/sentdm/models/brands/base_dto.rbi +53 -0
  135. data/rbi/sentdm/models/brands/campaign_create_params.rbi +79 -0
  136. data/rbi/sentdm/models/brands/campaign_data.rbi +148 -0
  137. data/rbi/sentdm/models/brands/campaign_delete_params.rbi +84 -0
  138. data/rbi/sentdm/models/brands/campaign_list_params.rbi +37 -0
  139. data/rbi/sentdm/models/brands/campaign_list_response.rbi +82 -0
  140. data/rbi/sentdm/models/brands/campaign_update_params.rbi +85 -0
  141. data/rbi/sentdm/models/brands/messaging_use_case_us.rbi +69 -0
  142. data/rbi/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi +52 -0
  143. data/rbi/sentdm/models/brands/tcr_campaign_with_use_cases.rbi +404 -0
  144. data/rbi/sentdm/models/contact.rbi +179 -0
  145. data/rbi/sentdm/models/contact_create_params.rbi +68 -0
  146. data/rbi/sentdm/models/contact_delete_params.rbi +68 -0
  147. data/rbi/sentdm/models/contact_list_params.rbi +26 -4
  148. data/rbi/sentdm/models/contact_list_response.rbi +91 -37
  149. data/rbi/sentdm/models/{contact_retrieve_id_params.rbi → contact_retrieve_params.rbi} +3 -8
  150. data/rbi/sentdm/models/contact_update_params.rbi +79 -0
  151. data/rbi/sentdm/models/destination_country.rbi +32 -0
  152. data/rbi/sentdm/models/{number_lookup_retrieve_params.rbi → lookup_retrieve_phone_info_params.rbi} +5 -2
  153. data/rbi/sentdm/models/lookup_retrieve_phone_info_response.rbi +183 -0
  154. data/rbi/sentdm/models/me_retrieve_params.rbi +27 -0
  155. data/rbi/sentdm/models/me_retrieve_response.rbi +314 -0
  156. data/rbi/sentdm/models/message_retrieve_activities_params.rbi +38 -0
  157. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +234 -0
  158. data/rbi/sentdm/models/message_retrieve_status_params.rbi +35 -0
  159. data/rbi/sentdm/models/message_retrieve_status_response.rbi +434 -0
  160. data/rbi/sentdm/models/message_send_params.rbi +143 -0
  161. data/rbi/sentdm/models/message_send_response.rbi +231 -0
  162. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  163. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  164. data/rbi/sentdm/models/profile_complete_params.rbi +71 -0
  165. data/rbi/sentdm/models/profile_complete_response.rbi +8 -0
  166. data/rbi/sentdm/models/profile_create_params.rbi +156 -0
  167. data/rbi/sentdm/models/profile_delete_params.rbi +65 -0
  168. data/rbi/sentdm/models/profile_detail.rbi +273 -0
  169. data/rbi/sentdm/models/profile_list_params.rbi +27 -0
  170. data/rbi/sentdm/models/profile_list_response.rbi +111 -0
  171. data/rbi/sentdm/models/profile_retrieve_params.rbi +35 -0
  172. data/rbi/sentdm/models/profile_settings.rbi +86 -0
  173. data/rbi/sentdm/models/profile_update_params.rbi +202 -0
  174. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbi +56 -0
  175. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbi +76 -0
  176. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbi +79 -0
  177. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbi +104 -0
  178. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbi +60 -0
  179. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbi +62 -0
  180. data/rbi/sentdm/models/tcr_brand_relationship.rbi +30 -0
  181. data/rbi/sentdm/models/tcr_vertical.rbi +41 -0
  182. data/rbi/sentdm/models/template.rbi +129 -0
  183. data/rbi/sentdm/models/template_create_params.rbi +47 -23
  184. data/rbi/sentdm/models/template_definition.rbi +74 -405
  185. data/rbi/sentdm/models/template_delete_params.rbi +42 -5
  186. data/rbi/sentdm/models/template_list_params.rbi +8 -10
  187. data/rbi/sentdm/models/template_list_response.rbi +91 -37
  188. data/rbi/sentdm/models/template_retrieve_params.rbi +13 -5
  189. data/rbi/sentdm/models/template_update_params.rbi +111 -0
  190. data/rbi/sentdm/models/user_invite_params.rbi +90 -0
  191. data/rbi/sentdm/models/user_list_params.rbi +27 -0
  192. data/rbi/sentdm/models/user_list_response.rbi +111 -0
  193. data/rbi/sentdm/models/user_remove_params.rbi +65 -0
  194. data/rbi/sentdm/models/user_response.rbi +118 -0
  195. data/rbi/sentdm/models/user_retrieve_params.rbi +35 -0
  196. data/rbi/sentdm/models/user_update_role_params.rbi +85 -0
  197. data/rbi/sentdm/models/webhook_create_params.rbi +102 -0
  198. data/rbi/sentdm/models/webhook_delete_params.rbi +35 -0
  199. data/rbi/sentdm/models/webhook_list_event_types_params.rbi +27 -0
  200. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +206 -0
  201. data/rbi/sentdm/models/webhook_list_events_params.rbi +53 -0
  202. data/rbi/sentdm/models/webhook_list_events_response.rbi +263 -0
  203. data/rbi/sentdm/models/webhook_list_params.rbi +59 -0
  204. data/rbi/sentdm/models/webhook_list_response.rbi +126 -0
  205. data/rbi/sentdm/models/webhook_response.rbi +134 -0
  206. data/rbi/sentdm/models/webhook_retrieve_params.rbi +35 -0
  207. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +72 -0
  208. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +112 -0
  209. data/rbi/sentdm/models/webhook_test_params.rbi +72 -0
  210. data/rbi/sentdm/models/webhook_test_response.rbi +111 -0
  211. data/rbi/sentdm/models/webhook_toggle_status_params.rbi +72 -0
  212. data/rbi/sentdm/models/webhook_update_params.rbi +108 -0
  213. data/rbi/sentdm/models.rbi +125 -10
  214. data/rbi/sentdm/resources/brands/campaigns.rbi +109 -0
  215. data/rbi/sentdm/resources/brands.rbi +95 -0
  216. data/rbi/sentdm/resources/contacts.rbi +90 -26
  217. data/rbi/sentdm/resources/lookup.rbi +24 -0
  218. data/rbi/sentdm/resources/me.rbi +24 -0
  219. data/rbi/sentdm/resources/messages.rbi +42 -60
  220. data/rbi/sentdm/resources/profiles.rbi +239 -0
  221. data/rbi/sentdm/resources/templates.rbi +95 -41
  222. data/rbi/sentdm/resources/users.rbi +117 -0
  223. data/rbi/sentdm/resources/webhooks.rbi +219 -0
  224. data/sig/sentdm/client.rbs +11 -8
  225. data/sig/sentdm/internal/util.rbs +10 -0
  226. data/sig/sentdm/models/api_error.rbs +39 -0
  227. data/sig/sentdm/models/api_meta.rbs +41 -0
  228. data/sig/sentdm/models/api_response_brand_with_kyc.rbs +39 -0
  229. data/sig/sentdm/models/api_response_contact.rbs +39 -0
  230. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  231. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  232. data/sig/sentdm/models/api_response_template.rbs +39 -0
  233. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  234. data/sig/sentdm/models/brand_create_params.rbs +36 -0
  235. data/sig/sentdm/models/brand_data.rbs +164 -0
  236. data/sig/sentdm/models/brand_delete_params.rbs +36 -0
  237. data/sig/sentdm/models/brand_list_params.rbs +14 -0
  238. data/sig/sentdm/models/brand_list_response.rbs +39 -0
  239. data/sig/sentdm/models/brand_update_params.rbs +45 -0
  240. data/sig/sentdm/models/brand_with_kyc.rbs +237 -0
  241. data/sig/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rbs +41 -0
  242. data/sig/sentdm/models/brands/base_dto.rbs +27 -0
  243. data/sig/sentdm/models/brands/campaign_create_params.rbs +47 -0
  244. data/sig/sentdm/models/brands/campaign_data.rbs +82 -0
  245. data/sig/sentdm/models/brands/campaign_delete_params.rbs +46 -0
  246. data/sig/sentdm/models/brands/campaign_list_params.rbs +25 -0
  247. data/sig/sentdm/models/brands/campaign_list_response.rbs +41 -0
  248. data/sig/sentdm/models/brands/campaign_update_params.rbs +52 -0
  249. data/sig/sentdm/models/brands/messaging_use_case_us.rbs +40 -0
  250. data/sig/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs +27 -0
  251. data/sig/sentdm/models/brands/tcr_campaign_with_use_cases.rbs +285 -0
  252. data/sig/sentdm/models/{contact_list_item.rbs → contact.rbs} +31 -5
  253. data/sig/sentdm/models/contact_create_params.rbs +38 -0
  254. data/sig/sentdm/models/contact_delete_params.rbs +36 -0
  255. data/sig/sentdm/models/contact_list_params.rbs +19 -1
  256. data/sig/sentdm/models/contact_list_response.rbs +44 -31
  257. data/sig/sentdm/models/{contact_retrieve_id_params.rbs → contact_retrieve_params.rbs} +2 -2
  258. data/sig/sentdm/models/contact_update_params.rbs +50 -0
  259. data/sig/sentdm/models/destination_country.rbs +19 -0
  260. data/sig/sentdm/models/{number_lookup_retrieve_params.rbs → lookup_retrieve_phone_info_params.rbs} +2 -2
  261. data/sig/sentdm/models/lookup_retrieve_phone_info_response.rbs +102 -0
  262. data/sig/sentdm/models/me_retrieve_params.rbs +14 -0
  263. data/sig/sentdm/models/me_retrieve_response.rbs +162 -0
  264. data/sig/sentdm/models/message_retrieve_activities_params.rbs +20 -0
  265. data/sig/sentdm/models/message_retrieve_activities_response.rbs +105 -0
  266. data/sig/sentdm/models/message_retrieve_status_params.rbs +20 -0
  267. data/sig/sentdm/models/message_retrieve_status_response.rbs +224 -0
  268. data/sig/sentdm/models/message_send_params.rbs +79 -0
  269. data/sig/sentdm/models/message_send_response.rbs +108 -0
  270. data/sig/sentdm/models/mutation_request.rbs +15 -0
  271. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  272. data/sig/sentdm/models/profile_complete_params.rbs +45 -0
  273. data/sig/sentdm/models/profile_complete_response.rbs +5 -0
  274. data/sig/sentdm/models/profile_create_params.rbs +96 -0
  275. data/sig/sentdm/models/profile_delete_params.rbs +36 -0
  276. data/sig/sentdm/models/profile_detail.rbs +168 -0
  277. data/sig/sentdm/models/profile_list_params.rbs +14 -0
  278. data/sig/sentdm/models/profile_list_response.rbs +53 -0
  279. data/sig/sentdm/models/{contact_retrieve_by_phone_params.rbs → profile_retrieve_params.rbs} +6 -6
  280. data/sig/sentdm/models/profile_settings.rbs +50 -0
  281. data/sig/sentdm/models/profile_update_params.rbs +127 -0
  282. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbs +24 -0
  283. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbs +30 -0
  284. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +38 -0
  285. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbs +75 -0
  286. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbs +32 -0
  287. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbs +32 -0
  288. data/sig/sentdm/models/tcr_brand_relationship.rbs +22 -0
  289. data/sig/sentdm/models/tcr_vertical.rbs +58 -0
  290. data/sig/sentdm/models/{template_response_v2.rbs → template.rbs} +18 -31
  291. data/sig/sentdm/models/template_create_params.rbs +29 -6
  292. data/sig/sentdm/models/template_definition.rbs +20 -233
  293. data/sig/sentdm/models/template_delete_params.rbs +22 -3
  294. data/sig/sentdm/models/template_list_response.rbs +44 -31
  295. data/sig/sentdm/models/template_retrieve_params.rbs +8 -3
  296. data/sig/sentdm/models/template_update_params.rbs +67 -0
  297. data/sig/sentdm/models/user_invite_params.rbs +56 -0
  298. data/sig/sentdm/models/user_list_params.rbs +14 -0
  299. data/sig/sentdm/models/user_list_response.rbs +53 -0
  300. data/sig/sentdm/models/user_remove_params.rbs +36 -0
  301. data/sig/sentdm/models/user_response.rbs +72 -0
  302. data/sig/sentdm/models/user_retrieve_params.rbs +23 -0
  303. data/sig/sentdm/models/user_update_role_params.rbs +54 -0
  304. data/sig/sentdm/models/webhook_create_params.rbs +70 -0
  305. data/sig/sentdm/models/webhook_delete_params.rbs +20 -0
  306. data/sig/sentdm/models/{message_retrieve_params.rbs → webhook_list_event_types_params.rbs} +2 -2
  307. data/sig/sentdm/models/webhook_list_event_types_response.rbs +98 -0
  308. data/sig/sentdm/models/webhook_list_events_params.rbs +36 -0
  309. data/sig/sentdm/models/webhook_list_events_response.rbs +146 -0
  310. data/sig/sentdm/models/webhook_list_params.rbs +36 -0
  311. data/sig/sentdm/models/webhook_list_response.rbs +67 -0
  312. data/sig/sentdm/models/webhook_response.rbs +98 -0
  313. data/sig/sentdm/models/webhook_retrieve_params.rbs +20 -0
  314. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +46 -0
  315. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +51 -0
  316. data/sig/sentdm/models/webhook_test_params.rbs +47 -0
  317. data/sig/sentdm/models/webhook_test_response.rbs +55 -0
  318. data/sig/sentdm/models/webhook_toggle_status_params.rbs +42 -0
  319. data/sig/sentdm/models/webhook_update_params.rbs +75 -0
  320. data/sig/sentdm/models.rbs +118 -10
  321. data/sig/sentdm/resources/brands/campaigns.rbs +38 -0
  322. data/sig/sentdm/resources/brands.rbs +34 -0
  323. data/sig/sentdm/resources/contacts.rbs +28 -8
  324. data/sig/sentdm/resources/lookup.rbs +12 -0
  325. data/sig/sentdm/resources/{number_lookup.rbs → me.rbs} +2 -3
  326. data/sig/sentdm/resources/messages.rbs +12 -18
  327. data/sig/sentdm/resources/profiles.rbs +72 -0
  328. data/sig/sentdm/resources/templates.rbs +24 -4
  329. data/sig/sentdm/resources/users.rbs +41 -0
  330. data/sig/sentdm/resources/webhooks.rbs +80 -0
  331. metadata +284 -38
  332. data/lib/sentdm/models/contact_list_item.rb +0 -96
  333. data/lib/sentdm/models/contact_retrieve_by_phone_params.rb +0 -22
  334. data/lib/sentdm/models/message_retrieve_response.rb +0 -227
  335. data/lib/sentdm/models/message_send_quick_message_params.rb +0 -34
  336. data/lib/sentdm/models/message_send_to_contact_params.rb +0 -46
  337. data/lib/sentdm/models/message_send_to_phone_params.rb +0 -47
  338. data/lib/sentdm/models/number_lookup_retrieve_response.rb +0 -83
  339. data/lib/sentdm/models/template_response_v2.rb +0 -100
  340. data/lib/sentdm/resources/number_lookup.rb +0 -37
  341. data/rbi/sentdm/models/contact_list_item.rbi +0 -144
  342. data/rbi/sentdm/models/contact_retrieve_by_phone_params.rbi +0 -40
  343. data/rbi/sentdm/models/message_retrieve_response.rbi +0 -376
  344. data/rbi/sentdm/models/message_send_quick_message_params.rbi +0 -56
  345. data/rbi/sentdm/models/message_send_to_contact_params.rbi +0 -63
  346. data/rbi/sentdm/models/message_send_to_phone_params.rbi +0 -65
  347. data/rbi/sentdm/models/number_lookup_retrieve_response.rbi +0 -132
  348. data/rbi/sentdm/models/template_response_v2.rbi +0 -149
  349. data/rbi/sentdm/resources/number_lookup.rbi +0 -24
  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_response.rbs +0 -78
@@ -0,0 +1,404 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Brands
6
+ class TcrCampaignWithUseCases < Sentdm::Models::Brands::BaseDto
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(
10
+ Sentdm::Brands::TcrCampaignWithUseCases,
11
+ Sentdm::Internal::AnyHash
12
+ )
13
+ end
14
+
15
+ sig { returns(T.nilable(Time)) }
16
+ attr_accessor :billed_date
17
+
18
+ sig { returns(T.nilable(String)) }
19
+ attr_accessor :brand_id
20
+
21
+ sig { returns(T.nilable(Float)) }
22
+ attr_accessor :cost
23
+
24
+ sig { returns(T.nilable(String)) }
25
+ attr_accessor :csp_id
26
+
27
+ sig { returns(T.nilable(String)) }
28
+ attr_reader :customer_id
29
+
30
+ sig { params(customer_id: String).void }
31
+ attr_writer :customer_id
32
+
33
+ sig { returns(T.nilable(String)) }
34
+ attr_reader :description
35
+
36
+ sig { params(description: String).void }
37
+ attr_writer :description
38
+
39
+ sig { returns(T.nilable(String)) }
40
+ attr_accessor :help_keywords
41
+
42
+ sig { returns(T.nilable(String)) }
43
+ attr_accessor :help_message
44
+
45
+ sig { returns(T.nilable(String)) }
46
+ attr_accessor :kyc_submission_form_id
47
+
48
+ sig { returns(T.nilable(String)) }
49
+ attr_accessor :message_flow
50
+
51
+ sig { returns(T.nilable(String)) }
52
+ attr_reader :name
53
+
54
+ sig { params(name: String).void }
55
+ attr_writer :name
56
+
57
+ sig { returns(T.nilable(String)) }
58
+ attr_accessor :optin_keywords
59
+
60
+ sig { returns(T.nilable(String)) }
61
+ attr_accessor :optin_message
62
+
63
+ sig { returns(T.nilable(String)) }
64
+ attr_accessor :optout_keywords
65
+
66
+ sig { returns(T.nilable(String)) }
67
+ attr_accessor :optout_message
68
+
69
+ sig { returns(T.nilable(String)) }
70
+ attr_accessor :privacy_policy_link
71
+
72
+ sig { returns(T.nilable(String)) }
73
+ attr_accessor :reseller_id
74
+
75
+ sig do
76
+ returns(
77
+ T.nilable(
78
+ Sentdm::Brands::TcrCampaignWithUseCases::SharingStatus::TaggedSymbol
79
+ )
80
+ )
81
+ end
82
+ attr_accessor :sharing_status
83
+
84
+ sig do
85
+ returns(
86
+ T.nilable(
87
+ Sentdm::Brands::TcrCampaignWithUseCases::Status::TaggedSymbol
88
+ )
89
+ )
90
+ end
91
+ attr_accessor :status
92
+
93
+ sig { returns(T.nilable(Time)) }
94
+ attr_accessor :submitted_at
95
+
96
+ sig { returns(T.nilable(T::Boolean)) }
97
+ attr_reader :submitted_to_tcr
98
+
99
+ sig { params(submitted_to_tcr: T::Boolean).void }
100
+ attr_writer :submitted_to_tcr
101
+
102
+ sig { returns(T.nilable(String)) }
103
+ attr_accessor :tcr_campaign_id
104
+
105
+ sig { returns(T.nilable(String)) }
106
+ attr_accessor :tcr_sync_error
107
+
108
+ sig { returns(T.nilable(String)) }
109
+ attr_accessor :telnyx_campaign_id
110
+
111
+ sig { returns(T.nilable(String)) }
112
+ attr_accessor :terms_and_conditions_link
113
+
114
+ sig { returns(T.nilable(String)) }
115
+ attr_reader :type
116
+
117
+ sig { params(type: String).void }
118
+ attr_writer :type
119
+
120
+ sig { returns(T.nilable(String)) }
121
+ attr_accessor :upstream_cnp_id
122
+
123
+ sig do
124
+ returns(
125
+ T.nilable(
126
+ T::Array[Sentdm::Brands::TcrCampaignWithUseCases::UseCase]
127
+ )
128
+ )
129
+ end
130
+ attr_reader :use_cases
131
+
132
+ sig do
133
+ params(
134
+ use_cases:
135
+ T::Array[Sentdm::Brands::TcrCampaignWithUseCases::UseCase::OrHash]
136
+ ).void
137
+ end
138
+ attr_writer :use_cases
139
+
140
+ sig do
141
+ params(
142
+ billed_date: T.nilable(Time),
143
+ brand_id: T.nilable(String),
144
+ cost: T.nilable(Float),
145
+ csp_id: T.nilable(String),
146
+ customer_id: String,
147
+ description: String,
148
+ help_keywords: T.nilable(String),
149
+ help_message: T.nilable(String),
150
+ kyc_submission_form_id: T.nilable(String),
151
+ message_flow: T.nilable(String),
152
+ name: String,
153
+ optin_keywords: T.nilable(String),
154
+ optin_message: T.nilable(String),
155
+ optout_keywords: T.nilable(String),
156
+ optout_message: T.nilable(String),
157
+ privacy_policy_link: T.nilable(String),
158
+ reseller_id: T.nilable(String),
159
+ sharing_status:
160
+ T.nilable(
161
+ Sentdm::Brands::TcrCampaignWithUseCases::SharingStatus::OrSymbol
162
+ ),
163
+ status:
164
+ T.nilable(
165
+ Sentdm::Brands::TcrCampaignWithUseCases::Status::OrSymbol
166
+ ),
167
+ submitted_at: T.nilable(Time),
168
+ submitted_to_tcr: T::Boolean,
169
+ tcr_campaign_id: T.nilable(String),
170
+ tcr_sync_error: T.nilable(String),
171
+ telnyx_campaign_id: T.nilable(String),
172
+ terms_and_conditions_link: T.nilable(String),
173
+ type: String,
174
+ upstream_cnp_id: T.nilable(String),
175
+ use_cases:
176
+ T::Array[Sentdm::Brands::TcrCampaignWithUseCases::UseCase::OrHash]
177
+ ).returns(T.attached_class)
178
+ end
179
+ def self.new(
180
+ billed_date: nil,
181
+ brand_id: nil,
182
+ cost: nil,
183
+ csp_id: nil,
184
+ customer_id: nil,
185
+ description: nil,
186
+ help_keywords: nil,
187
+ help_message: nil,
188
+ kyc_submission_form_id: nil,
189
+ message_flow: nil,
190
+ name: nil,
191
+ optin_keywords: nil,
192
+ optin_message: nil,
193
+ optout_keywords: nil,
194
+ optout_message: nil,
195
+ privacy_policy_link: nil,
196
+ reseller_id: nil,
197
+ sharing_status: nil,
198
+ status: nil,
199
+ submitted_at: nil,
200
+ submitted_to_tcr: nil,
201
+ tcr_campaign_id: nil,
202
+ tcr_sync_error: nil,
203
+ telnyx_campaign_id: nil,
204
+ terms_and_conditions_link: nil,
205
+ type: nil,
206
+ upstream_cnp_id: nil,
207
+ use_cases: nil
208
+ )
209
+ end
210
+
211
+ sig do
212
+ override.returns(
213
+ {
214
+ billed_date: T.nilable(Time),
215
+ brand_id: T.nilable(String),
216
+ cost: T.nilable(Float),
217
+ csp_id: T.nilable(String),
218
+ customer_id: String,
219
+ description: String,
220
+ help_keywords: T.nilable(String),
221
+ help_message: T.nilable(String),
222
+ kyc_submission_form_id: T.nilable(String),
223
+ message_flow: T.nilable(String),
224
+ name: String,
225
+ optin_keywords: T.nilable(String),
226
+ optin_message: T.nilable(String),
227
+ optout_keywords: T.nilable(String),
228
+ optout_message: T.nilable(String),
229
+ privacy_policy_link: T.nilable(String),
230
+ reseller_id: T.nilable(String),
231
+ sharing_status:
232
+ T.nilable(
233
+ Sentdm::Brands::TcrCampaignWithUseCases::SharingStatus::TaggedSymbol
234
+ ),
235
+ status:
236
+ T.nilable(
237
+ Sentdm::Brands::TcrCampaignWithUseCases::Status::TaggedSymbol
238
+ ),
239
+ submitted_at: T.nilable(Time),
240
+ submitted_to_tcr: T::Boolean,
241
+ tcr_campaign_id: T.nilable(String),
242
+ tcr_sync_error: T.nilable(String),
243
+ telnyx_campaign_id: T.nilable(String),
244
+ terms_and_conditions_link: T.nilable(String),
245
+ type: String,
246
+ upstream_cnp_id: T.nilable(String),
247
+ use_cases:
248
+ T::Array[Sentdm::Brands::TcrCampaignWithUseCases::UseCase]
249
+ }
250
+ )
251
+ end
252
+ def to_hash
253
+ end
254
+
255
+ module SharingStatus
256
+ extend Sentdm::Internal::Type::Enum
257
+
258
+ TaggedSymbol =
259
+ T.type_alias do
260
+ T.all(
261
+ Symbol,
262
+ Sentdm::Brands::TcrCampaignWithUseCases::SharingStatus
263
+ )
264
+ end
265
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
266
+
267
+ PENDING =
268
+ T.let(
269
+ :PENDING,
270
+ Sentdm::Brands::TcrCampaignWithUseCases::SharingStatus::TaggedSymbol
271
+ )
272
+ ACCEPTED =
273
+ T.let(
274
+ :ACCEPTED,
275
+ Sentdm::Brands::TcrCampaignWithUseCases::SharingStatus::TaggedSymbol
276
+ )
277
+ DECLINED =
278
+ T.let(
279
+ :DECLINED,
280
+ Sentdm::Brands::TcrCampaignWithUseCases::SharingStatus::TaggedSymbol
281
+ )
282
+
283
+ sig do
284
+ override.returns(
285
+ T::Array[
286
+ Sentdm::Brands::TcrCampaignWithUseCases::SharingStatus::TaggedSymbol
287
+ ]
288
+ )
289
+ end
290
+ def self.values
291
+ end
292
+ end
293
+
294
+ module Status
295
+ extend Sentdm::Internal::Type::Enum
296
+
297
+ TaggedSymbol =
298
+ T.type_alias do
299
+ T.all(Symbol, Sentdm::Brands::TcrCampaignWithUseCases::Status)
300
+ end
301
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
302
+
303
+ SENT_CREATED =
304
+ T.let(
305
+ :SENT_CREATED,
306
+ Sentdm::Brands::TcrCampaignWithUseCases::Status::TaggedSymbol
307
+ )
308
+ ACTIVE =
309
+ T.let(
310
+ :ACTIVE,
311
+ Sentdm::Brands::TcrCampaignWithUseCases::Status::TaggedSymbol
312
+ )
313
+ EXPIRED =
314
+ T.let(
315
+ :EXPIRED,
316
+ Sentdm::Brands::TcrCampaignWithUseCases::Status::TaggedSymbol
317
+ )
318
+
319
+ sig do
320
+ override.returns(
321
+ T::Array[
322
+ Sentdm::Brands::TcrCampaignWithUseCases::Status::TaggedSymbol
323
+ ]
324
+ )
325
+ end
326
+ def self.values
327
+ end
328
+ end
329
+
330
+ class UseCase < Sentdm::Models::Brands::BaseDto
331
+ OrHash =
332
+ T.type_alias do
333
+ T.any(
334
+ Sentdm::Brands::TcrCampaignWithUseCases::UseCase,
335
+ Sentdm::Internal::AnyHash
336
+ )
337
+ end
338
+
339
+ sig { returns(T.nilable(String)) }
340
+ attr_reader :campaign_id
341
+
342
+ sig { params(campaign_id: String).void }
343
+ attr_writer :campaign_id
344
+
345
+ sig { returns(T.nilable(String)) }
346
+ attr_reader :customer_id
347
+
348
+ sig { params(customer_id: String).void }
349
+ attr_writer :customer_id
350
+
351
+ sig do
352
+ returns(T.nilable(Sentdm::Brands::MessagingUseCaseUs::TaggedSymbol))
353
+ end
354
+ attr_reader :messaging_use_case_us
355
+
356
+ sig do
357
+ params(
358
+ messaging_use_case_us:
359
+ Sentdm::Brands::MessagingUseCaseUs::OrSymbol
360
+ ).void
361
+ end
362
+ attr_writer :messaging_use_case_us
363
+
364
+ sig { returns(T.nilable(T::Array[String])) }
365
+ attr_reader :sample_messages
366
+
367
+ sig { params(sample_messages: T::Array[String]).void }
368
+ attr_writer :sample_messages
369
+
370
+ sig do
371
+ params(
372
+ campaign_id: String,
373
+ customer_id: String,
374
+ messaging_use_case_us:
375
+ Sentdm::Brands::MessagingUseCaseUs::OrSymbol,
376
+ sample_messages: T::Array[String]
377
+ ).returns(T.attached_class)
378
+ end
379
+ def self.new(
380
+ campaign_id: nil,
381
+ customer_id: nil,
382
+ messaging_use_case_us: nil,
383
+ sample_messages: nil
384
+ )
385
+ end
386
+
387
+ sig do
388
+ override.returns(
389
+ {
390
+ campaign_id: String,
391
+ customer_id: String,
392
+ messaging_use_case_us:
393
+ Sentdm::Brands::MessagingUseCaseUs::TaggedSymbol,
394
+ sample_messages: T::Array[String]
395
+ }
396
+ )
397
+ end
398
+ def to_hash
399
+ end
400
+ end
401
+ end
402
+ end
403
+ end
404
+ end
@@ -0,0 +1,179 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class Contact < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Sentdm::Contact, Sentdm::Internal::AnyHash) }
8
+
9
+ # Unique identifier for the contact
10
+ sig { returns(T.nilable(String)) }
11
+ attr_reader :id
12
+
13
+ sig { params(id: String).void }
14
+ attr_writer :id
15
+
16
+ # Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
17
+ sig { returns(T.nilable(String)) }
18
+ attr_reader :available_channels
19
+
20
+ sig { params(available_channels: String).void }
21
+ attr_writer :available_channels
22
+
23
+ # Country calling code (e.g., 1 for US/Canada)
24
+ sig { returns(T.nilable(String)) }
25
+ attr_reader :country_code
26
+
27
+ sig { params(country_code: String).void }
28
+ attr_writer :country_code
29
+
30
+ # When the contact was created
31
+ sig { returns(T.nilable(Time)) }
32
+ attr_reader :created_at
33
+
34
+ sig { params(created_at: Time).void }
35
+ attr_writer :created_at
36
+
37
+ # Default messaging channel to use (e.g., "sms" or "whatsapp")
38
+ sig { returns(T.nilable(String)) }
39
+ attr_reader :default_channel
40
+
41
+ sig { params(default_channel: String).void }
42
+ attr_writer :default_channel
43
+
44
+ # Phone number in E.164 format (e.g., +1234567890)
45
+ sig { returns(T.nilable(String)) }
46
+ attr_reader :format_e164
47
+
48
+ sig { params(format_e164: String).void }
49
+ attr_writer :format_e164
50
+
51
+ # Phone number in international format (e.g., +1 234-567-890)
52
+ sig { returns(T.nilable(String)) }
53
+ attr_reader :format_international
54
+
55
+ sig { params(format_international: String).void }
56
+ attr_writer :format_international
57
+
58
+ # Phone number in national format (e.g., (234) 567-890)
59
+ sig { returns(T.nilable(String)) }
60
+ attr_reader :format_national
61
+
62
+ sig { params(format_national: String).void }
63
+ attr_writer :format_national
64
+
65
+ # Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
66
+ sig { returns(T.nilable(String)) }
67
+ attr_reader :format_rfc
68
+
69
+ sig { params(format_rfc: String).void }
70
+ attr_writer :format_rfc
71
+
72
+ # Whether this is an inherited contact (read-only)
73
+ sig { returns(T.nilable(T::Boolean)) }
74
+ attr_reader :is_inherited
75
+
76
+ sig { params(is_inherited: T::Boolean).void }
77
+ attr_writer :is_inherited
78
+
79
+ # Whether the contact has opted out of messaging
80
+ sig { returns(T.nilable(T::Boolean)) }
81
+ attr_reader :opt_out
82
+
83
+ sig { params(opt_out: T::Boolean).void }
84
+ attr_writer :opt_out
85
+
86
+ # Phone number in original format
87
+ sig { returns(T.nilable(String)) }
88
+ attr_reader :phone_number
89
+
90
+ sig { params(phone_number: String).void }
91
+ attr_writer :phone_number
92
+
93
+ # ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
94
+ sig { returns(T.nilable(String)) }
95
+ attr_reader :region_code
96
+
97
+ sig { params(region_code: String).void }
98
+ attr_writer :region_code
99
+
100
+ # When the contact was last updated
101
+ sig { returns(T.nilable(Time)) }
102
+ attr_accessor :updated_at
103
+
104
+ # Contact response for v3 API Uses snake_case for JSON property names
105
+ sig do
106
+ params(
107
+ id: String,
108
+ available_channels: String,
109
+ country_code: String,
110
+ created_at: Time,
111
+ default_channel: String,
112
+ format_e164: String,
113
+ format_international: String,
114
+ format_national: String,
115
+ format_rfc: String,
116
+ is_inherited: T::Boolean,
117
+ opt_out: T::Boolean,
118
+ phone_number: String,
119
+ region_code: String,
120
+ updated_at: T.nilable(Time)
121
+ ).returns(T.attached_class)
122
+ end
123
+ def self.new(
124
+ # Unique identifier for the contact
125
+ id: nil,
126
+ # Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
127
+ available_channels: nil,
128
+ # Country calling code (e.g., 1 for US/Canada)
129
+ country_code: nil,
130
+ # When the contact was created
131
+ created_at: nil,
132
+ # Default messaging channel to use (e.g., "sms" or "whatsapp")
133
+ default_channel: nil,
134
+ # Phone number in E.164 format (e.g., +1234567890)
135
+ format_e164: nil,
136
+ # Phone number in international format (e.g., +1 234-567-890)
137
+ format_international: nil,
138
+ # Phone number in national format (e.g., (234) 567-890)
139
+ format_national: nil,
140
+ # Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
141
+ format_rfc: nil,
142
+ # Whether this is an inherited contact (read-only)
143
+ is_inherited: nil,
144
+ # Whether the contact has opted out of messaging
145
+ opt_out: nil,
146
+ # Phone number in original format
147
+ phone_number: nil,
148
+ # ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
149
+ region_code: nil,
150
+ # When the contact was last updated
151
+ updated_at: nil
152
+ )
153
+ end
154
+
155
+ sig do
156
+ override.returns(
157
+ {
158
+ id: String,
159
+ available_channels: String,
160
+ country_code: String,
161
+ created_at: Time,
162
+ default_channel: String,
163
+ format_e164: String,
164
+ format_international: String,
165
+ format_national: String,
166
+ format_rfc: String,
167
+ is_inherited: T::Boolean,
168
+ opt_out: T::Boolean,
169
+ phone_number: String,
170
+ region_code: String,
171
+ updated_at: T.nilable(Time)
172
+ }
173
+ )
174
+ end
175
+ def to_hash
176
+ end
177
+ end
178
+ end
179
+ end
@@ -0,0 +1,68 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ContactCreateParams < 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::ContactCreateParams, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ # Phone number of the contact to create
15
+ sig { returns(T.nilable(String)) }
16
+ attr_reader :phone_number
17
+
18
+ sig { params(phone_number: String).void }
19
+ attr_writer :phone_number
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 { returns(T.nilable(String)) }
30
+ attr_reader :idempotency_key
31
+
32
+ sig { params(idempotency_key: String).void }
33
+ attr_writer :idempotency_key
34
+
35
+ sig do
36
+ params(
37
+ phone_number: String,
38
+ test_mode: T::Boolean,
39
+ idempotency_key: String,
40
+ request_options: Sentdm::RequestOptions::OrHash
41
+ ).returns(T.attached_class)
42
+ end
43
+ def self.new(
44
+ # Phone number of the contact to create
45
+ phone_number: nil,
46
+ # Test mode flag - when true, the operation is simulated without side effects
47
+ # Useful for testing integrations without actual execution
48
+ test_mode: nil,
49
+ idempotency_key: nil,
50
+ request_options: {}
51
+ )
52
+ end
53
+
54
+ sig do
55
+ override.returns(
56
+ {
57
+ phone_number: String,
58
+ test_mode: T::Boolean,
59
+ idempotency_key: String,
60
+ request_options: Sentdm::RequestOptions
61
+ }
62
+ )
63
+ end
64
+ def to_hash
65
+ end
66
+ end
67
+ end
68
+ end
@@ -0,0 +1,68 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class ContactDeleteParams < 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::ContactDeleteParams, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
17
+ # Request to delete/dissociate a contact
18
+ sig { returns(Sentdm::ContactDeleteParams::Body) }
19
+ attr_reader :body
20
+
21
+ sig { params(body: Sentdm::ContactDeleteParams::Body::OrHash).void }
22
+ attr_writer :body
23
+
24
+ sig do
25
+ params(
26
+ id: String,
27
+ body: Sentdm::ContactDeleteParams::Body::OrHash,
28
+ request_options: Sentdm::RequestOptions::OrHash
29
+ ).returns(T.attached_class)
30
+ end
31
+ def self.new(
32
+ id:,
33
+ # Request to delete/dissociate a contact
34
+ body:,
35
+ request_options: {}
36
+ )
37
+ end
38
+
39
+ sig do
40
+ override.returns(
41
+ {
42
+ id: String,
43
+ body: Sentdm::ContactDeleteParams::Body,
44
+ request_options: Sentdm::RequestOptions
45
+ }
46
+ )
47
+ end
48
+ def to_hash
49
+ end
50
+
51
+ class Body < Sentdm::Models::MutationRequest
52
+ OrHash =
53
+ T.type_alias do
54
+ T.any(Sentdm::ContactDeleteParams::Body, Sentdm::Internal::AnyHash)
55
+ end
56
+
57
+ # Request to delete/dissociate a contact
58
+ sig { returns(T.attached_class) }
59
+ def self.new
60
+ end
61
+
62
+ sig { override.returns({}) }
63
+ def to_hash
64
+ end
65
+ end
66
+ end
67
+ end
68
+ end