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,108 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Resources
5
+ class Brands
6
+ class Campaigns
7
+ # Creates a new campaign scoped under a specific brand. The campaign is linked to
8
+ # the specified brand. Each campaign must include at least one use case with
9
+ # sample messages.
10
+ sig do
11
+ params(
12
+ brand_id: String,
13
+ campaign: Sentdm::Brands::CampaignData::OrHash,
14
+ test_mode: T::Boolean,
15
+ idempotency_key: String,
16
+ request_options: Sentdm::RequestOptions::OrHash
17
+ ).returns(Sentdm::Brands::APIResponseTcrCampaignWithUseCases)
18
+ end
19
+ def create(
20
+ # Path param: Brand ID from route
21
+ brand_id,
22
+ # Body param: Campaign data
23
+ campaign:,
24
+ # Body param: Test mode flag - when true, the operation is simulated without side
25
+ # effects Useful for testing integrations without actual execution
26
+ test_mode: nil,
27
+ # Header param: Unique key to ensure idempotent request processing. Must be 1-255
28
+ # alphanumeric characters, hyphens, or underscores. Responses are cached for 24
29
+ # hours per key per customer.
30
+ idempotency_key: nil,
31
+ request_options: {}
32
+ )
33
+ end
34
+
35
+ # Updates an existing campaign scoped under a specific brand. Cannot update
36
+ # campaigns that have already been submitted to TCR.
37
+ sig do
38
+ params(
39
+ campaign_id: String,
40
+ brand_id: String,
41
+ campaign: Sentdm::Brands::CampaignData::OrHash,
42
+ test_mode: T::Boolean,
43
+ idempotency_key: String,
44
+ request_options: Sentdm::RequestOptions::OrHash
45
+ ).returns(Sentdm::Brands::APIResponseTcrCampaignWithUseCases)
46
+ end
47
+ def update(
48
+ # Path param: Campaign ID from route
49
+ campaign_id,
50
+ # Path param: Brand ID from route
51
+ brand_id:,
52
+ # Body param: Campaign data
53
+ campaign:,
54
+ # Body param: Test mode flag - when true, the operation is simulated without side
55
+ # effects Useful for testing integrations without actual execution
56
+ test_mode: nil,
57
+ # Header param: Unique key to ensure idempotent request processing. Must be 1-255
58
+ # alphanumeric characters, hyphens, or underscores. Responses are cached for 24
59
+ # hours per key per customer.
60
+ idempotency_key: nil,
61
+ request_options: {}
62
+ )
63
+ end
64
+
65
+ # Retrieves all campaigns linked to a specific brand, including their use cases
66
+ # and sample messages.
67
+ sig do
68
+ params(
69
+ brand_id: String,
70
+ request_options: Sentdm::RequestOptions::OrHash
71
+ ).returns(Sentdm::Models::Brands::CampaignListResponse)
72
+ end
73
+ def list(
74
+ # Brand ID from route
75
+ brand_id,
76
+ request_options: {}
77
+ )
78
+ end
79
+
80
+ # Deletes a campaign by ID within a specific brand. The brand must belong to the
81
+ # authenticated customer.
82
+ sig do
83
+ params(
84
+ campaign_id: String,
85
+ brand_id: String,
86
+ body: Sentdm::Brands::CampaignDeleteParams::Body::OrHash,
87
+ request_options: Sentdm::RequestOptions::OrHash
88
+ ).void
89
+ end
90
+ def delete(
91
+ # Path param: Campaign ID from route parameter
92
+ campaign_id,
93
+ # Path param: Brand ID from route parameter
94
+ brand_id:,
95
+ # Body param: Request to delete a campaign from a brand
96
+ body:,
97
+ request_options: {}
98
+ )
99
+ end
100
+
101
+ # @api private
102
+ sig { params(client: Sentdm::Client).returns(T.attached_class) }
103
+ def self.new(client:)
104
+ end
105
+ end
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,93 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Resources
5
+ class Brands
6
+ sig { returns(Sentdm::Resources::Brands::Campaigns) }
7
+ attr_reader :campaigns
8
+
9
+ # Creates a new brand and associated information. This endpoint automatically sets
10
+ # inheritTcrBrand=false when a brand is created.
11
+ sig do
12
+ params(
13
+ brand: Sentdm::BrandData::OrHash,
14
+ test_mode: T::Boolean,
15
+ idempotency_key: String,
16
+ request_options: Sentdm::RequestOptions::OrHash
17
+ ).returns(Sentdm::APIResponseBrandWithKYC)
18
+ end
19
+ def create(
20
+ # Body param: Brand and KYC information
21
+ brand:,
22
+ # Body param: Test mode flag - when true, the operation is simulated without side
23
+ # effects Useful for testing integrations without actual execution
24
+ test_mode: nil,
25
+ # Header param: Unique key to ensure idempotent request processing. Must be 1-255
26
+ # alphanumeric characters, hyphens, or underscores. Responses are cached for 24
27
+ # hours per key per customer.
28
+ idempotency_key: nil,
29
+ request_options: {}
30
+ )
31
+ end
32
+
33
+ # Updates an existing brand and its associated information. Cannot update brands
34
+ # that have already been submitted to TCR or inherited brands.
35
+ sig do
36
+ params(
37
+ brand_id: String,
38
+ brand: Sentdm::BrandData::OrHash,
39
+ test_mode: T::Boolean,
40
+ idempotency_key: String,
41
+ request_options: Sentdm::RequestOptions::OrHash
42
+ ).returns(Sentdm::APIResponseBrandWithKYC)
43
+ end
44
+ def update(
45
+ # Path param: Brand ID from route
46
+ brand_id,
47
+ # Body param: Brand and KYC information
48
+ brand:,
49
+ # Body param: Test mode flag - when true, the operation is simulated without side
50
+ # effects Useful for testing integrations without actual execution
51
+ test_mode: nil,
52
+ # Header param: Unique key to ensure idempotent request processing. Must be 1-255
53
+ # alphanumeric characters, hyphens, or underscores. Responses are cached for 24
54
+ # hours per key per customer.
55
+ idempotency_key: nil,
56
+ request_options: {}
57
+ )
58
+ end
59
+
60
+ # Retrieves all brands for the authenticated customer with information in a
61
+ # flattened structure. Includes inherited brands if inheritTcrBrand=true.
62
+ sig do
63
+ params(request_options: Sentdm::RequestOptions::OrHash).returns(
64
+ Sentdm::Models::BrandListResponse
65
+ )
66
+ end
67
+ def list(request_options: {})
68
+ end
69
+
70
+ # Delete a brand by ID. The brand must belong to the authenticated customer.
71
+ sig do
72
+ params(
73
+ brand_id: String,
74
+ body: Sentdm::BrandDeleteParams::Body::OrHash,
75
+ request_options: Sentdm::RequestOptions::OrHash
76
+ ).void
77
+ end
78
+ def delete(
79
+ # Brand ID from route parameter
80
+ brand_id,
81
+ # Request to delete a brand
82
+ body:,
83
+ request_options: {}
84
+ )
85
+ end
86
+
87
+ # @api private
88
+ sig { params(client: Sentdm::Client).returns(T.attached_class) }
89
+ def self.new(client:)
90
+ end
91
+ end
92
+ end
93
+ end
@@ -3,53 +3,116 @@
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
+ # Creates a new contact by phone number and associates it with the authenticated
7
+ # customer.
9
8
  sig do
10
9
  params(
11
- page: Integer,
12
- page_size: Integer,
10
+ phone_number: String,
11
+ test_mode: T::Boolean,
12
+ idempotency_key: String,
13
13
  request_options: Sentdm::RequestOptions::OrHash
14
- ).returns(Sentdm::Models::ContactListResponse)
14
+ ).returns(Sentdm::APIResponseContact)
15
15
  end
16
- def list(
17
- # The page number (zero-indexed). Default is 0.
18
- page:,
19
- # The number of items per page. Default is 20.
20
- page_size:,
16
+ def create(
17
+ # Body param: Phone number of the contact to create
18
+ phone_number: nil,
19
+ # Body param: Test mode flag - when true, the operation is simulated without side
20
+ # effects Useful for testing integrations without actual execution
21
+ test_mode: nil,
22
+ # Header param: Unique key to ensure idempotent request processing. Must be 1-255
23
+ # alphanumeric characters, hyphens, or underscores. Responses are cached for 24
24
+ # hours per key per customer.
25
+ idempotency_key: nil,
21
26
  request_options: {}
22
27
  )
23
28
  end
24
29
 
25
- # Retrieves a contact by their phone number for the authenticated customer. Phone
26
- # number should be in international format (e.g., +1234567890). The customer ID is
27
- # extracted from the authentication token.
30
+ # Retrieves a specific contact by their unique identifier. Returns detailed
31
+ # contact information including phone formats, available channels, and opt-out
32
+ # status.
28
33
  sig do
29
34
  params(
30
- phone_number: String,
35
+ id: String,
36
+ request_options: Sentdm::RequestOptions::OrHash
37
+ ).returns(Sentdm::APIResponseContact)
38
+ end
39
+ def retrieve(
40
+ # Contact ID from route parameter
41
+ id,
42
+ request_options: {}
43
+ )
44
+ end
45
+
46
+ # Updates a contact's default channel and/or opt-out status. Inherited contacts
47
+ # cannot be updated.
48
+ sig do
49
+ params(
50
+ id: String,
51
+ default_channel: T.nilable(String),
52
+ opt_out: T.nilable(T::Boolean),
53
+ test_mode: T::Boolean,
54
+ idempotency_key: String,
31
55
  request_options: Sentdm::RequestOptions::OrHash
32
- ).returns(Sentdm::ContactListItem)
56
+ ).returns(Sentdm::APIResponseContact)
57
+ end
58
+ def update(
59
+ # Path param: Contact ID from route parameter
60
+ id,
61
+ # Body param: Default messaging channel: "sms" or "whatsapp"
62
+ default_channel: nil,
63
+ # Body param: Whether the contact has opted out of messaging
64
+ opt_out: nil,
65
+ # Body param: Test mode flag - when true, the operation is simulated without side
66
+ # effects Useful for testing integrations without actual execution
67
+ test_mode: nil,
68
+ # Header param: Unique key to ensure idempotent request processing. Must be 1-255
69
+ # alphanumeric characters, hyphens, or underscores. Responses are cached for 24
70
+ # hours per key per customer.
71
+ idempotency_key: nil,
72
+ request_options: {}
73
+ )
33
74
  end
34
- def retrieve_by_phone(
35
- # The phone number in international format (e.g., +1234567890)
36
- phone_number:,
75
+
76
+ # Retrieves a paginated list of contacts for the authenticated customer. Supports
77
+ # filtering by search term, channel, or phone number.
78
+ sig do
79
+ params(
80
+ page: Integer,
81
+ page_size: Integer,
82
+ channel: T.nilable(String),
83
+ phone: T.nilable(String),
84
+ search: T.nilable(String),
85
+ request_options: Sentdm::RequestOptions::OrHash
86
+ ).returns(Sentdm::Models::ContactListResponse)
87
+ end
88
+ def list(
89
+ # Page number (1-indexed)
90
+ page:,
91
+ page_size:,
92
+ # Optional channel filter (sms, whatsapp)
93
+ channel: nil,
94
+ # Optional phone number filter (alternative to list view)
95
+ phone: nil,
96
+ # Optional search term for filtering contacts
97
+ search: nil,
37
98
  request_options: {}
38
99
  )
39
100
  end
40
101
 
41
- # Retrieves a specific contact by their unique identifier for the authenticated
42
- # customer. The customer ID is extracted from the authentication token. Returns
43
- # detailed contact information including phone number and creation timestamp.
102
+ # Dissociates a contact from the authenticated customer. Inherited contacts cannot
103
+ # be deleted.
44
104
  sig do
45
105
  params(
46
106
  id: String,
107
+ body: Sentdm::ContactDeleteParams::Body::OrHash,
47
108
  request_options: Sentdm::RequestOptions::OrHash
48
- ).returns(Sentdm::ContactListItem)
109
+ ).void
49
110
  end
50
- def retrieve_id(
51
- # The unique identifier (GUID) of the resource to retrieve
52
- id:,
111
+ def delete(
112
+ # Contact ID from route parameter
113
+ id,
114
+ # Request to delete/dissociate a contact
115
+ body:,
53
116
  request_options: {}
54
117
  )
55
118
  end
@@ -0,0 +1,24 @@
1
+ # typed: strong
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
+ sig do
10
+ params(
11
+ phone_number: String,
12
+ request_options: Sentdm::RequestOptions::OrHash
13
+ ).returns(Sentdm::Models::LookupRetrievePhoneInfoResponse)
14
+ end
15
+ def retrieve_phone_info(phone_number, request_options: {})
16
+ end
17
+
18
+ # @api private
19
+ sig { params(client: Sentdm::Client).returns(T.attached_class) }
20
+ def self.new(client:)
21
+ end
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,23 @@
1
+ # typed: strong
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
+ sig do
10
+ params(request_options: Sentdm::RequestOptions::OrHash).returns(
11
+ Sentdm::Models::MeRetrieveResponse
12
+ )
13
+ end
14
+ def retrieve(request_options: {})
15
+ end
16
+
17
+ # @api private
18
+ sig { params(client: Sentdm::Client).returns(T.attached_class) }
19
+ def self.new(client:)
20
+ end
21
+ end
22
+ end
23
+ end
@@ -3,87 +3,68 @@
3
3
  module Sentdm
4
4
  module Resources
5
5
  class Messages
6
- # Retrieves comprehensive details about a specific message using the message ID.
7
- # Returns complete message data including delivery status, channel information,
8
- # template details, contact information, and pricing. The customer ID is extracted
9
- # from the authentication token to ensure the message belongs to the authenticated
10
- # customer.
6
+ # Retrieves the activity log for a specific message. Activities track the message
7
+ # lifecycle including acceptance, processing, sending, delivery, and any errors.
11
8
  sig do
12
9
  params(
13
10
  id: String,
14
11
  request_options: Sentdm::RequestOptions::OrHash
15
- ).returns(Sentdm::Models::MessageRetrieveResponse)
12
+ ).returns(Sentdm::Models::MessageRetrieveActivitiesResponse)
16
13
  end
17
- def retrieve(id, request_options: {})
18
- end
19
-
20
- # Sends a message to a phone number using the default template. This endpoint is
21
- # rate limited to 5 messages per customer per day. The customer ID is extracted
22
- # from the authentication token.
23
- sig do
24
- params(
25
- custom_message: String,
26
- phone_number: String,
27
- request_options: Sentdm::RequestOptions::OrHash
28
- ).void
29
- end
30
- def send_quick_message(
31
- # The custom message content to include in the template
32
- custom_message:,
33
- # The phone number to send the message to, in international format (e.g.,
34
- # +1234567890)
35
- phone_number:,
14
+ def retrieve_activities(
15
+ # Message ID from route parameter
16
+ id,
36
17
  request_options: {}
37
18
  )
38
19
  end
39
20
 
40
- # Sends a message to a specific contact using a template. The message can be sent
41
- # via SMS or WhatsApp depending on the contact's capabilities. Optionally specify
42
- # a webhook URL to receive delivery status updates. The customer ID is extracted
43
- # from the authentication token.
21
+ # Retrieves the current status and details of a message by ID. Includes delivery
22
+ # status, timestamps, and error information if applicable.
44
23
  sig do
45
24
  params(
46
- contact_id: String,
47
- template_id: String,
48
- template_variables: T.nilable(T::Hash[Symbol, String]),
25
+ id: String,
49
26
  request_options: Sentdm::RequestOptions::OrHash
50
- ).void
27
+ ).returns(Sentdm::Models::MessageRetrieveStatusResponse)
51
28
  end
52
- def send_to_contact(
53
- # The unique identifier of the contact to send the message to
54
- contact_id:,
55
- # The unique identifier of the template to use for the message
56
- template_id:,
57
- # Optional key-value pairs of template variables to replace in the template body.
58
- # For example, if your template contains "Hello {{name}}", you would provide {
59
- # "name": "John Doe" }
60
- template_variables: nil,
29
+ def retrieve_status(
30
+ # Message ID
31
+ id,
61
32
  request_options: {}
62
33
  )
63
34
  end
64
35
 
65
- # Sends a message to a phone number using a template. The phone number doesn't
66
- # need to be a pre-existing contact. The message can be sent via SMS or WhatsApp.
67
- # Optionally specify a webhook URL to receive delivery status updates. The
68
- # customer ID is extracted from the authentication token.
36
+ # Sends a message to one or more recipients using a template. Supports
37
+ # multi-channel broadcast when multiple channels are specified (e.g. ["sms",
38
+ # "whatsapp"]), a separate message is created for each (recipient, channel) pair.
39
+ # Returns immediately with per-recipient message IDs for async tracking via
40
+ # webhooks or the GET /messages/{id} endpoint.
69
41
  sig do
70
42
  params(
71
- phone_number: String,
72
- template_id: String,
73
- template_variables: T.nilable(T::Hash[Symbol, String]),
43
+ channel: T.nilable(T::Array[String]),
44
+ template: Sentdm::MessageSendParams::Template::OrHash,
45
+ test_mode: T::Boolean,
46
+ to: T::Array[String],
47
+ idempotency_key: String,
74
48
  request_options: Sentdm::RequestOptions::OrHash
75
- ).void
49
+ ).returns(Sentdm::Models::MessageSendResponse)
76
50
  end
77
- def send_to_phone(
78
- # The phone number to send the message to, in international format (e.g.,
79
- # +1234567890)
80
- phone_number:,
81
- # The unique identifier of the template to use for the message
82
- template_id:,
83
- # Optional key-value pairs of template variables to replace in the template body.
84
- # For example, if your template contains "Hello {{name}}", you would provide {
85
- # "name": "John Doe" }
86
- template_variables: nil,
51
+ def send_(
52
+ # Body param: Channels to broadcast on, e.g. ["whatsapp", "sms"]. Each channel
53
+ # produces a separate message per recipient. "sent" = auto-detect, "rcs" =
54
+ # reserved (skipped). Defaults to ["sent"] (auto-detect) if omitted.
55
+ channel: nil,
56
+ # Body param: Template reference (by id or name, with optional parameters)
57
+ template: nil,
58
+ # Body param: Test mode flag - when true, the operation is simulated without side
59
+ # effects Useful for testing integrations without actual execution
60
+ test_mode: nil,
61
+ # Body param: List of recipient phone numbers in E.164 format (multi-recipient
62
+ # fan-out)
63
+ to: nil,
64
+ # Header param: Unique key to ensure idempotent request processing. Must be 1-255
65
+ # alphanumeric characters, hyphens, or underscores. Responses are cached for 24
66
+ # hours per key per customer.
67
+ idempotency_key: nil,
87
68
  request_options: {}
88
69
  )
89
70
  end