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,144 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Resources
5
+ class Brands
6
+ class Campaigns
7
+ # Some parameter documentations has been truncated, see
8
+ # {Sentdm::Models::Brands::CampaignCreateParams} for more details.
9
+ #
10
+ # Creates a new campaign scoped under a specific brand. The campaign is linked to
11
+ # the specified brand. Each campaign must include at least one use case with
12
+ # sample messages.
13
+ #
14
+ # @overload create(brand_id, campaign:, test_mode: nil, idempotency_key: nil, request_options: {})
15
+ #
16
+ # @param brand_id [String] Path param: Brand ID from route
17
+ #
18
+ # @param campaign [Sentdm::Models::Brands::CampaignData] Body param: Campaign data
19
+ #
20
+ # @param test_mode [Boolean] Body param: Test mode flag - when true, the operation is simulated without side
21
+ #
22
+ # @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
23
+ #
24
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
25
+ #
26
+ # @return [Sentdm::Models::Brands::APIResponseTcrCampaignWithUseCases]
27
+ #
28
+ # @see Sentdm::Models::Brands::CampaignCreateParams
29
+ def create(brand_id, params)
30
+ parsed, options = Sentdm::Brands::CampaignCreateParams.dump_request(params)
31
+ header_params = {idempotency_key: "idempotency-key"}
32
+ @client.request(
33
+ method: :post,
34
+ path: ["v3/brands/%1$s/campaigns", brand_id],
35
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
36
+ body: parsed.except(*header_params.keys),
37
+ model: Sentdm::Brands::APIResponseTcrCampaignWithUseCases,
38
+ options: options
39
+ )
40
+ end
41
+
42
+ # Some parameter documentations has been truncated, see
43
+ # {Sentdm::Models::Brands::CampaignUpdateParams} for more details.
44
+ #
45
+ # Updates an existing campaign scoped under a specific brand. Cannot update
46
+ # campaigns that have already been submitted to TCR.
47
+ #
48
+ # @overload update(campaign_id, brand_id:, campaign:, test_mode: nil, idempotency_key: nil, request_options: {})
49
+ #
50
+ # @param campaign_id [String] Path param: Campaign ID from route
51
+ #
52
+ # @param brand_id [String] Path param: Brand ID from route
53
+ #
54
+ # @param campaign [Sentdm::Models::Brands::CampaignData] Body param: Campaign data
55
+ #
56
+ # @param test_mode [Boolean] Body param: Test mode flag - when true, the operation is simulated without side
57
+ #
58
+ # @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
59
+ #
60
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
61
+ #
62
+ # @return [Sentdm::Models::Brands::APIResponseTcrCampaignWithUseCases]
63
+ #
64
+ # @see Sentdm::Models::Brands::CampaignUpdateParams
65
+ def update(campaign_id, params)
66
+ parsed, options = Sentdm::Brands::CampaignUpdateParams.dump_request(params)
67
+ brand_id =
68
+ parsed.delete(:brand_id) do
69
+ raise ArgumentError.new("missing required path argument #{_1}")
70
+ end
71
+ header_params = {idempotency_key: "idempotency-key"}
72
+ @client.request(
73
+ method: :put,
74
+ path: ["v3/brands/%1$s/campaigns/%2$s", brand_id, campaign_id],
75
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
76
+ body: parsed.except(*header_params.keys),
77
+ model: Sentdm::Brands::APIResponseTcrCampaignWithUseCases,
78
+ options: options
79
+ )
80
+ end
81
+
82
+ # Retrieves all campaigns linked to a specific brand, including their use cases
83
+ # and sample messages.
84
+ #
85
+ # @overload list(brand_id, request_options: {})
86
+ #
87
+ # @param brand_id [String] Brand ID from route
88
+ #
89
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
90
+ #
91
+ # @return [Sentdm::Models::Brands::CampaignListResponse]
92
+ #
93
+ # @see Sentdm::Models::Brands::CampaignListParams
94
+ def list(brand_id, params = {})
95
+ @client.request(
96
+ method: :get,
97
+ path: ["v3/brands/%1$s/campaigns", brand_id],
98
+ model: Sentdm::Models::Brands::CampaignListResponse,
99
+ options: params[:request_options]
100
+ )
101
+ end
102
+
103
+ # Deletes a campaign by ID within a specific brand. The brand must belong to the
104
+ # authenticated customer.
105
+ #
106
+ # @overload delete(campaign_id, brand_id:, body:, request_options: {})
107
+ #
108
+ # @param campaign_id [String] Path param: Campaign ID from route parameter
109
+ #
110
+ # @param brand_id [String] Path param: Brand ID from route parameter
111
+ #
112
+ # @param body [Sentdm::Models::Brands::CampaignDeleteParams::Body] Body param: Request to delete a campaign from a brand
113
+ #
114
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
115
+ #
116
+ # @return [nil]
117
+ #
118
+ # @see Sentdm::Models::Brands::CampaignDeleteParams
119
+ def delete(campaign_id, params)
120
+ parsed, options = Sentdm::Brands::CampaignDeleteParams.dump_request(params)
121
+ brand_id =
122
+ parsed.delete(:brand_id) do
123
+ raise ArgumentError.new("missing required path argument #{_1}")
124
+ end
125
+ @client.request(
126
+ method: :delete,
127
+ path: ["v3/brands/%1$s/campaigns/%2$s", brand_id, campaign_id],
128
+ headers: {"content-type" => "*/*"},
129
+ body: parsed[:body],
130
+ model: NilClass,
131
+ options: options
132
+ )
133
+ end
134
+
135
+ # @api private
136
+ #
137
+ # @param client [Sentdm::Client]
138
+ def initialize(client:)
139
+ @client = client
140
+ end
141
+ end
142
+ end
143
+ end
144
+ end
@@ -0,0 +1,128 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Resources
5
+ class Brands
6
+ # @return [Sentdm::Resources::Brands::Campaigns]
7
+ attr_reader :campaigns
8
+
9
+ # Some parameter documentations has been truncated, see
10
+ # {Sentdm::Models::BrandCreateParams} for more details.
11
+ #
12
+ # Creates a new brand and associated information. This endpoint automatically sets
13
+ # inheritTcrBrand=false when a brand is created.
14
+ #
15
+ # @overload create(brand:, test_mode: nil, idempotency_key: nil, request_options: {})
16
+ #
17
+ # @param brand [Sentdm::Models::BrandData] Body param: Brand and KYC information
18
+ #
19
+ # @param test_mode [Boolean] Body param: Test mode flag - when true, the operation is simulated without side
20
+ #
21
+ # @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
22
+ #
23
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
24
+ #
25
+ # @return [Sentdm::Models::APIResponseBrandWithKYC]
26
+ #
27
+ # @see Sentdm::Models::BrandCreateParams
28
+ def create(params)
29
+ parsed, options = Sentdm::BrandCreateParams.dump_request(params)
30
+ header_params = {idempotency_key: "idempotency-key"}
31
+ @client.request(
32
+ method: :post,
33
+ path: "v3/brands",
34
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
35
+ body: parsed.except(*header_params.keys),
36
+ model: Sentdm::APIResponseBrandWithKYC,
37
+ options: options
38
+ )
39
+ end
40
+
41
+ # Some parameter documentations has been truncated, see
42
+ # {Sentdm::Models::BrandUpdateParams} for more details.
43
+ #
44
+ # Updates an existing brand and its associated information. Cannot update brands
45
+ # that have already been submitted to TCR or inherited brands.
46
+ #
47
+ # @overload update(brand_id, brand:, test_mode: nil, idempotency_key: nil, request_options: {})
48
+ #
49
+ # @param brand_id [String] Path param: Brand ID from route
50
+ #
51
+ # @param brand [Sentdm::Models::BrandData] Body param: Brand and KYC information
52
+ #
53
+ # @param test_mode [Boolean] Body param: Test mode flag - when true, the operation is simulated without side
54
+ #
55
+ # @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
56
+ #
57
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
58
+ #
59
+ # @return [Sentdm::Models::APIResponseBrandWithKYC]
60
+ #
61
+ # @see Sentdm::Models::BrandUpdateParams
62
+ def update(brand_id, params)
63
+ parsed, options = Sentdm::BrandUpdateParams.dump_request(params)
64
+ header_params = {idempotency_key: "idempotency-key"}
65
+ @client.request(
66
+ method: :put,
67
+ path: ["v3/brands/%1$s", brand_id],
68
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
69
+ body: parsed.except(*header_params.keys),
70
+ model: Sentdm::APIResponseBrandWithKYC,
71
+ options: options
72
+ )
73
+ end
74
+
75
+ # Retrieves all brands for the authenticated customer with information in a
76
+ # flattened structure. Includes inherited brands if inheritTcrBrand=true.
77
+ #
78
+ # @overload list(request_options: {})
79
+ #
80
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
81
+ #
82
+ # @return [Sentdm::Models::BrandListResponse]
83
+ #
84
+ # @see Sentdm::Models::BrandListParams
85
+ def list(params = {})
86
+ @client.request(
87
+ method: :get,
88
+ path: "v3/brands",
89
+ model: Sentdm::Models::BrandListResponse,
90
+ options: params[:request_options]
91
+ )
92
+ end
93
+
94
+ # Delete a brand by ID. The brand must belong to the authenticated customer.
95
+ #
96
+ # @overload delete(brand_id, body:, request_options: {})
97
+ #
98
+ # @param brand_id [String] Brand ID from route parameter
99
+ #
100
+ # @param body [Sentdm::Models::BrandDeleteParams::Body] Request to delete a brand
101
+ #
102
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
103
+ #
104
+ # @return [nil]
105
+ #
106
+ # @see Sentdm::Models::BrandDeleteParams
107
+ def delete(brand_id, params)
108
+ parsed, options = Sentdm::BrandDeleteParams.dump_request(params)
109
+ @client.request(
110
+ method: :delete,
111
+ path: ["v3/brands/%1$s", brand_id],
112
+ headers: {"content-type" => "*/*"},
113
+ body: parsed[:body],
114
+ model: NilClass,
115
+ options: options
116
+ )
117
+ end
118
+
119
+ # @api private
120
+ #
121
+ # @param client [Sentdm::Client]
122
+ def initialize(client:)
123
+ @client = client
124
+ @campaigns = Sentdm::Resources::Brands::Campaigns.new(client: client)
125
+ end
126
+ end
127
+ end
128
+ end
@@ -3,76 +3,149 @@
3
3
  module Sentdm
4
4
  module Resources
5
5
  class Contacts
6
- # Retrieves a paginated list of contacts for the authenticated customer. Supports
7
- # server-side pagination with configurable page size. The customer ID is extracted
8
- # from the authentication token.
6
+ # Some parameter documentations has been truncated, see
7
+ # {Sentdm::Models::ContactCreateParams} for more details.
8
+ #
9
+ # Creates a new contact by phone number and associates it with the authenticated
10
+ # customer.
11
+ #
12
+ # @overload create(phone_number: nil, test_mode: nil, idempotency_key: nil, request_options: {})
9
13
  #
10
- # @overload list(page:, page_size:, request_options: {})
14
+ # @param phone_number [String] Body param: Phone number of the contact to create
11
15
  #
12
- # @param page [Integer] The page number (zero-indexed). Default is 0.
16
+ # @param test_mode [Boolean] Body param: Test mode flag - when true, the operation is simulated without side
13
17
  #
14
- # @param page_size [Integer] The number of items per page. Default is 20.
18
+ # @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
15
19
  #
16
20
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
17
21
  #
18
- # @return [Sentdm::Models::ContactListResponse]
22
+ # @return [Sentdm::Models::APIResponseContact]
19
23
  #
20
- # @see Sentdm::Models::ContactListParams
21
- def list(params)
22
- parsed, options = Sentdm::ContactListParams.dump_request(params)
24
+ # @see Sentdm::Models::ContactCreateParams
25
+ def create(params = {})
26
+ parsed, options = Sentdm::ContactCreateParams.dump_request(params)
27
+ header_params = {idempotency_key: "idempotency-key"}
23
28
  @client.request(
24
- method: :get,
25
- path: "v2/contacts",
26
- query: parsed.transform_keys(page_size: "pageSize"),
27
- model: Sentdm::Models::ContactListResponse,
29
+ method: :post,
30
+ path: "v3/contacts",
31
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
32
+ body: parsed.except(*header_params.keys),
33
+ model: Sentdm::APIResponseContact,
28
34
  options: options
29
35
  )
30
36
  end
31
37
 
32
- # Retrieves a contact by their phone number for the authenticated customer. Phone
33
- # number should be in international format (e.g., +1234567890). The customer ID is
34
- # extracted from the authentication token.
38
+ # Retrieves a specific contact by their unique identifier. Returns detailed
39
+ # contact information including phone formats, available channels, and opt-out
40
+ # status.
35
41
  #
36
- # @overload retrieve_by_phone(phone_number:, request_options: {})
42
+ # @overload retrieve(id, request_options: {})
37
43
  #
38
- # @param phone_number [String] The phone number in international format (e.g., +1234567890)
44
+ # @param id [String] Contact ID from route parameter
39
45
  #
40
46
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
41
47
  #
42
- # @return [Sentdm::Models::ContactListItem]
48
+ # @return [Sentdm::Models::APIResponseContact]
43
49
  #
44
- # @see Sentdm::Models::ContactRetrieveByPhoneParams
45
- def retrieve_by_phone(params)
46
- parsed, options = Sentdm::ContactRetrieveByPhoneParams.dump_request(params)
50
+ # @see Sentdm::Models::ContactRetrieveParams
51
+ def retrieve(id, params = {})
47
52
  @client.request(
48
53
  method: :get,
49
- path: "v2/contacts/phone",
50
- query: parsed.transform_keys(phone_number: "phoneNumber"),
51
- model: Sentdm::ContactListItem,
54
+ path: ["v3/contacts/%1$s", id],
55
+ model: Sentdm::APIResponseContact,
56
+ options: params[:request_options]
57
+ )
58
+ end
59
+
60
+ # Some parameter documentations has been truncated, see
61
+ # {Sentdm::Models::ContactUpdateParams} for more details.
62
+ #
63
+ # Updates a contact's default channel and/or opt-out status. Inherited contacts
64
+ # cannot be updated.
65
+ #
66
+ # @overload update(id, default_channel: nil, opt_out: nil, test_mode: nil, idempotency_key: nil, request_options: {})
67
+ #
68
+ # @param id [String] Path param: Contact ID from route parameter
69
+ #
70
+ # @param default_channel [String, nil] Body param: Default messaging channel: "sms" or "whatsapp"
71
+ #
72
+ # @param opt_out [Boolean, nil] Body param: Whether the contact has opted out of messaging
73
+ #
74
+ # @param test_mode [Boolean] Body param: Test mode flag - when true, the operation is simulated without side
75
+ #
76
+ # @param idempotency_key [String] Header param: Unique key to ensure idempotent request processing. Must be 1-255
77
+ #
78
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
79
+ #
80
+ # @return [Sentdm::Models::APIResponseContact]
81
+ #
82
+ # @see Sentdm::Models::ContactUpdateParams
83
+ def update(id, params = {})
84
+ parsed, options = Sentdm::ContactUpdateParams.dump_request(params)
85
+ header_params = {idempotency_key: "idempotency-key"}
86
+ @client.request(
87
+ method: :patch,
88
+ path: ["v3/contacts/%1$s", id],
89
+ headers: parsed.slice(*header_params.keys).transform_keys(header_params),
90
+ body: parsed.except(*header_params.keys),
91
+ model: Sentdm::APIResponseContact,
52
92
  options: options
53
93
  )
54
94
  end
55
95
 
56
- # Retrieves a specific contact by their unique identifier for the authenticated
57
- # customer. The customer ID is extracted from the authentication token. Returns
58
- # detailed contact information including phone number and creation timestamp.
96
+ # Retrieves a paginated list of contacts for the authenticated customer. Supports
97
+ # filtering by search term, channel, or phone number.
98
+ #
99
+ # @overload list(page:, page_size:, channel: nil, phone: nil, search: nil, request_options: {})
100
+ #
101
+ # @param page [Integer] Page number (1-indexed)
102
+ #
103
+ # @param page_size [Integer]
104
+ #
105
+ # @param channel [String, nil] Optional channel filter (sms, whatsapp)
59
106
  #
60
- # @overload retrieve_id(id:, request_options: {})
107
+ # @param phone [String, nil] Optional phone number filter (alternative to list view)
61
108
  #
62
- # @param id [String] The unique identifier (GUID) of the resource to retrieve
109
+ # @param search [String, nil] Optional search term for filtering contacts
63
110
  #
64
111
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
65
112
  #
66
- # @return [Sentdm::Models::ContactListItem]
113
+ # @return [Sentdm::Models::ContactListResponse]
67
114
  #
68
- # @see Sentdm::Models::ContactRetrieveIDParams
69
- def retrieve_id(params)
70
- parsed, options = Sentdm::ContactRetrieveIDParams.dump_request(params)
115
+ # @see Sentdm::Models::ContactListParams
116
+ def list(params)
117
+ parsed, options = Sentdm::ContactListParams.dump_request(params)
71
118
  @client.request(
72
119
  method: :get,
73
- path: "v2/contacts/id",
74
- query: parsed,
75
- model: Sentdm::ContactListItem,
120
+ path: "v3/contacts",
121
+ query: parsed.transform_keys(page_size: "pageSize"),
122
+ model: Sentdm::Models::ContactListResponse,
123
+ options: options
124
+ )
125
+ end
126
+
127
+ # Dissociates a contact from the authenticated customer. Inherited contacts cannot
128
+ # be deleted.
129
+ #
130
+ # @overload delete(id, body:, request_options: {})
131
+ #
132
+ # @param id [String] Contact ID from route parameter
133
+ #
134
+ # @param body [Sentdm::Models::ContactDeleteParams::Body] Request to delete/dissociate a contact
135
+ #
136
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
137
+ #
138
+ # @return [nil]
139
+ #
140
+ # @see Sentdm::Models::ContactDeleteParams
141
+ def delete(id, params)
142
+ parsed, options = Sentdm::ContactDeleteParams.dump_request(params)
143
+ @client.request(
144
+ method: :delete,
145
+ path: ["v3/contacts/%1$s", id],
146
+ headers: {"content-type" => "*/*"},
147
+ body: parsed[:body],
148
+ model: NilClass,
76
149
  options: options
77
150
  )
78
151
  end
@@ -0,0 +1,35 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Resources
5
+ class Lookup
6
+ # Validates a phone number and retrieves formatting, country, and timezone
7
+ # information from the internal index. Provider-agnostic and works for all
8
+ # customers.
9
+ #
10
+ # @overload retrieve_phone_info(phone_number, request_options: {})
11
+ #
12
+ # @param phone_number [String]
13
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
14
+ #
15
+ # @return [Sentdm::Models::LookupRetrievePhoneInfoResponse]
16
+ #
17
+ # @see Sentdm::Models::LookupRetrievePhoneInfoParams
18
+ def retrieve_phone_info(phone_number, params = {})
19
+ @client.request(
20
+ method: :get,
21
+ path: ["v3/lookup/number/%1$s", phone_number],
22
+ model: Sentdm::Models::LookupRetrievePhoneInfoResponse,
23
+ options: params[:request_options]
24
+ )
25
+ end
26
+
27
+ # @api private
28
+ #
29
+ # @param client [Sentdm::Client]
30
+ def initialize(client:)
31
+ @client = client
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Resources
5
+ class Me
6
+ # Returns the account associated with the API key. For organization API keys,
7
+ # returns the organization with its profiles. For profile API keys, returns the
8
+ # profile with its settings.
9
+ #
10
+ # @overload retrieve(request_options: {})
11
+ #
12
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}, nil]
13
+ #
14
+ # @return [Sentdm::Models::MeRetrieveResponse]
15
+ #
16
+ # @see Sentdm::Models::MeRetrieveParams
17
+ def retrieve(params = {})
18
+ @client.request(
19
+ method: :get,
20
+ path: "v3/me",
21
+ model: Sentdm::Models::MeRetrieveResponse,
22
+ options: params[:request_options]
23
+ )
24
+ end
25
+
26
+ # @api private
27
+ #
28
+ # @param client [Sentdm::Client]
29
+ def initialize(client:)
30
+ @client = client
31
+ end
32
+ end
33
+ end
34
+ end