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,266 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BrandData < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Sentdm::BrandData, Sentdm::Internal::AnyHash) }
8
+
9
+ # Brand relationship level with TCR (required for TCR)
10
+ sig { returns(Sentdm::TcrBrandRelationship::OrSymbol) }
11
+ attr_accessor :brand_relationship
12
+
13
+ # Primary contact name (required)
14
+ sig { returns(String) }
15
+ attr_accessor :contact_name
16
+
17
+ # Business vertical/industry category (required for TCR)
18
+ sig { returns(Sentdm::TcrVertical::OrSymbol) }
19
+ attr_accessor :vertical
20
+
21
+ # Brand name for KYC submission
22
+ sig { returns(T.nilable(String)) }
23
+ attr_accessor :brand_name
24
+
25
+ # Legal business name
26
+ sig { returns(T.nilable(String)) }
27
+ attr_accessor :business_legal_name
28
+
29
+ # Business/brand name
30
+ sig { returns(T.nilable(String)) }
31
+ attr_accessor :business_name
32
+
33
+ # Contact's role in the business
34
+ sig { returns(T.nilable(String)) }
35
+ attr_accessor :business_role
36
+
37
+ # Business website URL
38
+ sig { returns(T.nilable(String)) }
39
+ attr_accessor :business_url
40
+
41
+ # City
42
+ sig { returns(T.nilable(String)) }
43
+ attr_accessor :city
44
+
45
+ # Contact email address
46
+ sig { returns(T.nilable(String)) }
47
+ attr_accessor :contact_email
48
+
49
+ # Contact phone number in E.164 format
50
+ sig { returns(T.nilable(String)) }
51
+ attr_accessor :contact_phone
52
+
53
+ # Contact phone country code (e.g., "1" for US)
54
+ sig { returns(T.nilable(String)) }
55
+ attr_accessor :contact_phone_country_code
56
+
57
+ # Country code (e.g., US, CA)
58
+ sig { returns(T.nilable(String)) }
59
+ attr_accessor :country
60
+
61
+ # Country where the business is registered
62
+ sig { returns(T.nilable(String)) }
63
+ attr_accessor :country_of_registration
64
+
65
+ # List of destination countries for messaging
66
+ sig { returns(T.nilable(T::Array[Sentdm::DestinationCountry])) }
67
+ attr_accessor :destination_countries
68
+
69
+ # Business entity type
70
+ sig { returns(T.nilable(Sentdm::BrandData::EntityType::OrSymbol)) }
71
+ attr_accessor :entity_type
72
+
73
+ # Expected daily messaging volume
74
+ sig { returns(T.nilable(String)) }
75
+ attr_accessor :expected_messaging_volume
76
+
77
+ # Whether this is a TCR (Campaign Registry) application
78
+ sig { returns(T.nilable(T::Boolean)) }
79
+ attr_accessor :is_tcr_application
80
+
81
+ # Additional notes about the business or use case
82
+ sig { returns(T.nilable(String)) }
83
+ attr_accessor :notes
84
+
85
+ # Phone number prefix for messaging (e.g., "+1")
86
+ sig { returns(T.nilable(String)) }
87
+ attr_accessor :phone_number_prefix
88
+
89
+ # Postal/ZIP code
90
+ sig { returns(T.nilable(String)) }
91
+ attr_accessor :postal_code
92
+
93
+ # Primary messaging use case description
94
+ sig { returns(T.nilable(String)) }
95
+ attr_accessor :primary_use_case
96
+
97
+ # State/province code
98
+ sig { returns(T.nilable(String)) }
99
+ attr_accessor :state
100
+
101
+ # Street address
102
+ sig { returns(T.nilable(String)) }
103
+ attr_accessor :street
104
+
105
+ # Tax ID/EIN number
106
+ sig { returns(T.nilable(String)) }
107
+ attr_accessor :tax_id
108
+
109
+ # Type of tax ID (e.g., us_ein, ca_bn)
110
+ sig { returns(T.nilable(String)) }
111
+ attr_accessor :tax_id_type
112
+
113
+ # Brand and KYC data
114
+ sig do
115
+ params(
116
+ brand_relationship: Sentdm::TcrBrandRelationship::OrSymbol,
117
+ contact_name: String,
118
+ vertical: Sentdm::TcrVertical::OrSymbol,
119
+ brand_name: T.nilable(String),
120
+ business_legal_name: T.nilable(String),
121
+ business_name: T.nilable(String),
122
+ business_role: T.nilable(String),
123
+ business_url: T.nilable(String),
124
+ city: T.nilable(String),
125
+ contact_email: T.nilable(String),
126
+ contact_phone: T.nilable(String),
127
+ contact_phone_country_code: T.nilable(String),
128
+ country: T.nilable(String),
129
+ country_of_registration: T.nilable(String),
130
+ destination_countries:
131
+ T.nilable(T::Array[Sentdm::DestinationCountry::OrHash]),
132
+ entity_type: T.nilable(Sentdm::BrandData::EntityType::OrSymbol),
133
+ expected_messaging_volume: T.nilable(String),
134
+ is_tcr_application: T.nilable(T::Boolean),
135
+ notes: T.nilable(String),
136
+ phone_number_prefix: T.nilable(String),
137
+ postal_code: T.nilable(String),
138
+ primary_use_case: T.nilable(String),
139
+ state: T.nilable(String),
140
+ street: T.nilable(String),
141
+ tax_id: T.nilable(String),
142
+ tax_id_type: T.nilable(String)
143
+ ).returns(T.attached_class)
144
+ end
145
+ def self.new(
146
+ # Brand relationship level with TCR (required for TCR)
147
+ brand_relationship:,
148
+ # Primary contact name (required)
149
+ contact_name:,
150
+ # Business vertical/industry category (required for TCR)
151
+ vertical:,
152
+ # Brand name for KYC submission
153
+ brand_name: nil,
154
+ # Legal business name
155
+ business_legal_name: nil,
156
+ # Business/brand name
157
+ business_name: nil,
158
+ # Contact's role in the business
159
+ business_role: nil,
160
+ # Business website URL
161
+ business_url: nil,
162
+ # City
163
+ city: nil,
164
+ # Contact email address
165
+ contact_email: nil,
166
+ # Contact phone number in E.164 format
167
+ contact_phone: nil,
168
+ # Contact phone country code (e.g., "1" for US)
169
+ contact_phone_country_code: nil,
170
+ # Country code (e.g., US, CA)
171
+ country: nil,
172
+ # Country where the business is registered
173
+ country_of_registration: nil,
174
+ # List of destination countries for messaging
175
+ destination_countries: nil,
176
+ # Business entity type
177
+ entity_type: nil,
178
+ # Expected daily messaging volume
179
+ expected_messaging_volume: nil,
180
+ # Whether this is a TCR (Campaign Registry) application
181
+ is_tcr_application: nil,
182
+ # Additional notes about the business or use case
183
+ notes: nil,
184
+ # Phone number prefix for messaging (e.g., "+1")
185
+ phone_number_prefix: nil,
186
+ # Postal/ZIP code
187
+ postal_code: nil,
188
+ # Primary messaging use case description
189
+ primary_use_case: nil,
190
+ # State/province code
191
+ state: nil,
192
+ # Street address
193
+ street: nil,
194
+ # Tax ID/EIN number
195
+ tax_id: nil,
196
+ # Type of tax ID (e.g., us_ein, ca_bn)
197
+ tax_id_type: nil
198
+ )
199
+ end
200
+
201
+ sig do
202
+ override.returns(
203
+ {
204
+ brand_relationship: Sentdm::TcrBrandRelationship::OrSymbol,
205
+ contact_name: String,
206
+ vertical: Sentdm::TcrVertical::OrSymbol,
207
+ brand_name: T.nilable(String),
208
+ business_legal_name: T.nilable(String),
209
+ business_name: T.nilable(String),
210
+ business_role: T.nilable(String),
211
+ business_url: T.nilable(String),
212
+ city: T.nilable(String),
213
+ contact_email: T.nilable(String),
214
+ contact_phone: T.nilable(String),
215
+ contact_phone_country_code: T.nilable(String),
216
+ country: T.nilable(String),
217
+ country_of_registration: T.nilable(String),
218
+ destination_countries:
219
+ T.nilable(T::Array[Sentdm::DestinationCountry]),
220
+ entity_type: T.nilable(Sentdm::BrandData::EntityType::OrSymbol),
221
+ expected_messaging_volume: T.nilable(String),
222
+ is_tcr_application: T.nilable(T::Boolean),
223
+ notes: T.nilable(String),
224
+ phone_number_prefix: T.nilable(String),
225
+ postal_code: T.nilable(String),
226
+ primary_use_case: T.nilable(String),
227
+ state: T.nilable(String),
228
+ street: T.nilable(String),
229
+ tax_id: T.nilable(String),
230
+ tax_id_type: T.nilable(String)
231
+ }
232
+ )
233
+ end
234
+ def to_hash
235
+ end
236
+
237
+ # Business entity type
238
+ module EntityType
239
+ extend Sentdm::Internal::Type::Enum
240
+
241
+ TaggedSymbol =
242
+ T.type_alias { T.all(Symbol, Sentdm::BrandData::EntityType) }
243
+ OrSymbol = T.type_alias { T.any(Symbol, String) }
244
+
245
+ PRIVATE_PROFIT =
246
+ T.let(:PRIVATE_PROFIT, Sentdm::BrandData::EntityType::TaggedSymbol)
247
+ PUBLIC_PROFIT =
248
+ T.let(:PUBLIC_PROFIT, Sentdm::BrandData::EntityType::TaggedSymbol)
249
+ NON_PROFIT =
250
+ T.let(:NON_PROFIT, Sentdm::BrandData::EntityType::TaggedSymbol)
251
+ SOLE_PROPRIETOR =
252
+ T.let(:SOLE_PROPRIETOR, Sentdm::BrandData::EntityType::TaggedSymbol)
253
+ GOVERNMENT =
254
+ T.let(:GOVERNMENT, Sentdm::BrandData::EntityType::TaggedSymbol)
255
+
256
+ sig do
257
+ override.returns(
258
+ T::Array[Sentdm::BrandData::EntityType::TaggedSymbol]
259
+ )
260
+ end
261
+ def self.values
262
+ end
263
+ end
264
+ end
265
+ end
266
+ end
@@ -0,0 +1,68 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BrandDeleteParams < 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::BrandDeleteParams, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :brand_id
16
+
17
+ # Request to delete a brand
18
+ sig { returns(Sentdm::BrandDeleteParams::Body) }
19
+ attr_reader :body
20
+
21
+ sig { params(body: Sentdm::BrandDeleteParams::Body::OrHash).void }
22
+ attr_writer :body
23
+
24
+ sig do
25
+ params(
26
+ brand_id: String,
27
+ body: Sentdm::BrandDeleteParams::Body::OrHash,
28
+ request_options: Sentdm::RequestOptions::OrHash
29
+ ).returns(T.attached_class)
30
+ end
31
+ def self.new(
32
+ brand_id:,
33
+ # Request to delete a brand
34
+ body:,
35
+ request_options: {}
36
+ )
37
+ end
38
+
39
+ sig do
40
+ override.returns(
41
+ {
42
+ brand_id: String,
43
+ body: Sentdm::BrandDeleteParams::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::BrandDeleteParams::Body, Sentdm::Internal::AnyHash)
55
+ end
56
+
57
+ # Request to delete a brand
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
@@ -2,13 +2,13 @@
2
2
 
3
3
  module Sentdm
4
4
  module Models
5
- class MessageRetrieveParams < Sentdm::Internal::Type::BaseModel
5
+ class BrandListParams < Sentdm::Internal::Type::BaseModel
6
6
  extend Sentdm::Internal::Type::RequestParameters::Converter
7
7
  include Sentdm::Internal::Type::RequestParameters
8
8
 
9
9
  OrHash =
10
10
  T.type_alias do
11
- T.any(Sentdm::MessageRetrieveParams, Sentdm::Internal::AnyHash)
11
+ T.any(Sentdm::BrandListParams, Sentdm::Internal::AnyHash)
12
12
  end
13
13
 
14
14
  sig do
@@ -0,0 +1,71 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BrandListResponse < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::Models::BrandListResponse, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # The response data (null if error)
12
+ sig { returns(T.nilable(T::Array[Sentdm::BrandWithKYC])) }
13
+ attr_accessor :data
14
+
15
+ # Error details (null if successful)
16
+ sig { returns(T.nilable(Sentdm::APIError)) }
17
+ attr_reader :error
18
+
19
+ sig { params(error: T.nilable(Sentdm::APIError::OrHash)).void }
20
+ attr_writer :error
21
+
22
+ # Metadata about the request and response
23
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
24
+ attr_reader :meta
25
+
26
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
27
+ attr_writer :meta
28
+
29
+ # Indicates whether the request was successful
30
+ sig { returns(T.nilable(T::Boolean)) }
31
+ attr_reader :success
32
+
33
+ sig { params(success: T::Boolean).void }
34
+ attr_writer :success
35
+
36
+ # Standard API response envelope for all v3 endpoints
37
+ sig do
38
+ params(
39
+ data: T.nilable(T::Array[Sentdm::BrandWithKYC::OrHash]),
40
+ error: T.nilable(Sentdm::APIError::OrHash),
41
+ meta: Sentdm::APIMeta::OrHash,
42
+ success: T::Boolean
43
+ ).returns(T.attached_class)
44
+ end
45
+ def self.new(
46
+ # The response data (null if error)
47
+ data: nil,
48
+ # Error details (null if successful)
49
+ error: nil,
50
+ # Metadata about the request and response
51
+ meta: nil,
52
+ # Indicates whether the request was successful
53
+ success: nil
54
+ )
55
+ end
56
+
57
+ sig do
58
+ override.returns(
59
+ {
60
+ data: T.nilable(T::Array[Sentdm::BrandWithKYC]),
61
+ error: T.nilable(Sentdm::APIError),
62
+ meta: Sentdm::APIMeta,
63
+ success: T::Boolean
64
+ }
65
+ )
66
+ end
67
+ def to_hash
68
+ end
69
+ end
70
+ end
71
+ end
@@ -0,0 +1,74 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class BrandUpdateParams < 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::BrandUpdateParams, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :brand_id
16
+
17
+ # Brand and KYC information
18
+ sig { returns(Sentdm::BrandData) }
19
+ attr_reader :brand
20
+
21
+ sig { params(brand: Sentdm::BrandData::OrHash).void }
22
+ attr_writer :brand
23
+
24
+ # Test mode flag - when true, the operation is simulated without side effects
25
+ # Useful for testing integrations without actual execution
26
+ sig { returns(T.nilable(T::Boolean)) }
27
+ attr_reader :test_mode
28
+
29
+ sig { params(test_mode: T::Boolean).void }
30
+ attr_writer :test_mode
31
+
32
+ sig { returns(T.nilable(String)) }
33
+ attr_reader :idempotency_key
34
+
35
+ sig { params(idempotency_key: String).void }
36
+ attr_writer :idempotency_key
37
+
38
+ sig do
39
+ params(
40
+ brand_id: String,
41
+ brand: Sentdm::BrandData::OrHash,
42
+ test_mode: T::Boolean,
43
+ idempotency_key: String,
44
+ request_options: Sentdm::RequestOptions::OrHash
45
+ ).returns(T.attached_class)
46
+ end
47
+ def self.new(
48
+ brand_id:,
49
+ # Brand and KYC information
50
+ brand:,
51
+ # Test mode flag - when true, the operation is simulated without side effects
52
+ # Useful for testing integrations without actual execution
53
+ test_mode: nil,
54
+ idempotency_key: nil,
55
+ request_options: {}
56
+ )
57
+ end
58
+
59
+ sig do
60
+ override.returns(
61
+ {
62
+ brand_id: String,
63
+ brand: Sentdm::BrandData,
64
+ test_mode: T::Boolean,
65
+ idempotency_key: String,
66
+ request_options: Sentdm::RequestOptions
67
+ }
68
+ )
69
+ end
70
+ def to_hash
71
+ end
72
+ end
73
+ end
74
+ end