sentdm 0.3.0 → 0.4.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 (217) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +24 -0
  3. data/README.md +18 -9
  4. data/lib/sentdm/client.rb +7 -0
  5. data/lib/sentdm/internal/util.rb +31 -0
  6. data/lib/sentdm/models/api_meta.rb +1 -9
  7. data/lib/sentdm/models/brand_data.rb +235 -198
  8. data/lib/sentdm/models/brand_with_kyc.rb +249 -214
  9. data/lib/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rb +0 -1
  10. data/lib/sentdm/models/contact_create_params.rb +13 -6
  11. data/lib/sentdm/models/contact_delete_params.rb +15 -1
  12. data/lib/sentdm/models/contact_list_params.rb +10 -2
  13. data/lib/sentdm/models/contact_retrieve_params.rb +13 -1
  14. data/lib/sentdm/models/contact_update_params.rb +20 -6
  15. data/lib/sentdm/models/me_retrieve_params.rb +7 -1
  16. data/lib/sentdm/models/me_retrieve_response.rb +152 -7
  17. data/lib/sentdm/models/message_retrieve_activities_params.rb +13 -1
  18. data/lib/sentdm/models/message_retrieve_activities_response.rb +19 -5
  19. data/lib/sentdm/models/message_retrieve_status_params.rb +13 -1
  20. data/lib/sentdm/models/message_retrieve_status_response.rb +8 -1
  21. data/lib/sentdm/models/message_send_params.rb +17 -10
  22. data/lib/sentdm/models/mutation_request.rb +6 -6
  23. data/lib/sentdm/models/profile_complete_params.rb +20 -6
  24. data/lib/sentdm/models/profile_create_params.rb +192 -10
  25. data/lib/sentdm/models/profile_delete_params.rb +21 -14
  26. data/lib/sentdm/models/profile_detail.rb +144 -95
  27. data/lib/sentdm/models/profile_list_params.rb +7 -1
  28. data/lib/sentdm/models/profile_retrieve_params.rb +13 -1
  29. data/lib/sentdm/models/profile_update_params.rb +146 -19
  30. data/lib/sentdm/models/template_create_params.rb +17 -10
  31. data/lib/sentdm/models/template_delete_params.rb +20 -6
  32. data/lib/sentdm/models/template_list_params.rb +18 -2
  33. data/lib/sentdm/models/template_retrieve_params.rb +13 -1
  34. data/lib/sentdm/models/template_update_params.rb +24 -10
  35. data/lib/sentdm/models/template_variable.rb +7 -1
  36. data/lib/sentdm/models/user_invite_params.rb +13 -6
  37. data/lib/sentdm/models/user_list_params.rb +7 -1
  38. data/lib/sentdm/models/user_remove_params.rb +20 -13
  39. data/lib/sentdm/models/user_retrieve_params.rb +13 -1
  40. data/lib/sentdm/models/user_update_role_params.rb +19 -13
  41. data/lib/sentdm/models/webhook_create_params.rb +13 -6
  42. data/lib/sentdm/models/webhook_delete_params.rb +13 -1
  43. data/lib/sentdm/models/webhook_list_event_types_params.rb +7 -1
  44. data/lib/sentdm/models/webhook_list_events_params.rb +13 -1
  45. data/lib/sentdm/models/webhook_list_params.rb +7 -1
  46. data/lib/sentdm/models/webhook_retrieve_params.rb +13 -1
  47. data/lib/sentdm/models/webhook_rotate_secret_params.rb +13 -1
  48. data/lib/sentdm/models/webhook_test_params.rb +20 -6
  49. data/lib/sentdm/models/webhook_toggle_status_params.rb +20 -6
  50. data/lib/sentdm/models/webhook_update_params.rb +20 -6
  51. data/lib/sentdm/models.rb +0 -12
  52. data/lib/sentdm/resources/brands/campaigns.rb +0 -128
  53. data/lib/sentdm/resources/brands.rb +0 -110
  54. data/lib/sentdm/resources/contacts.rb +44 -19
  55. data/lib/sentdm/resources/lookup.rb +0 -21
  56. data/lib/sentdm/resources/me.rb +25 -5
  57. data/lib/sentdm/resources/messages.rb +25 -8
  58. data/lib/sentdm/resources/profiles.rb +117 -32
  59. data/lib/sentdm/resources/templates.rb +48 -23
  60. data/lib/sentdm/resources/users.rb +41 -23
  61. data/lib/sentdm/resources/webhooks.rb +93 -32
  62. data/lib/sentdm/version.rb +1 -1
  63. data/lib/sentdm.rb +1 -14
  64. data/rbi/sentdm/client.rbi +7 -0
  65. data/rbi/sentdm/internal/util.rbi +20 -0
  66. data/rbi/sentdm/models/api_meta.rbi +4 -18
  67. data/rbi/sentdm/models/brand_data.rbi +326 -203
  68. data/rbi/sentdm/models/brand_with_kyc.rbi +334 -216
  69. data/rbi/sentdm/models/brands/tcr_campaign_with_use_cases.rbi +6 -8
  70. data/rbi/sentdm/models/contact_create_params.rbi +19 -10
  71. data/rbi/sentdm/models/contact_delete_params.rbi +15 -0
  72. data/rbi/sentdm/models/contact_list_params.rbi +11 -0
  73. data/rbi/sentdm/models/contact_retrieve_params.rbi +24 -5
  74. data/rbi/sentdm/models/contact_update_params.rbi +25 -10
  75. data/rbi/sentdm/models/me_retrieve_params.rbi +16 -5
  76. data/rbi/sentdm/models/me_retrieve_response.rbi +316 -16
  77. data/rbi/sentdm/models/message_retrieve_activities_params.rbi +24 -5
  78. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +18 -6
  79. data/rbi/sentdm/models/message_retrieve_status_params.rbi +24 -5
  80. data/rbi/sentdm/models/message_retrieve_status_response.rbi +6 -0
  81. data/rbi/sentdm/models/message_send_params.rbi +22 -13
  82. data/rbi/sentdm/models/mutation_request.rbi +10 -10
  83. data/rbi/sentdm/models/profile_complete_params.rbi +25 -10
  84. data/rbi/sentdm/models/profile_create_params.rbi +323 -15
  85. data/rbi/sentdm/models/profile_delete_params.rbi +38 -20
  86. data/rbi/sentdm/models/profile_detail.rbi +184 -128
  87. data/rbi/sentdm/models/profile_list_params.rbi +16 -5
  88. data/rbi/sentdm/models/profile_retrieve_params.rbi +24 -5
  89. data/rbi/sentdm/models/profile_update_params.rbi +233 -26
  90. data/rbi/sentdm/models/template_create_params.rbi +22 -13
  91. data/rbi/sentdm/models/template_delete_params.rbi +25 -10
  92. data/rbi/sentdm/models/template_list_params.rbi +19 -0
  93. data/rbi/sentdm/models/template_retrieve_params.rbi +24 -5
  94. data/rbi/sentdm/models/template_update_params.rbi +28 -13
  95. data/rbi/sentdm/models/template_variable.rbi +6 -0
  96. data/rbi/sentdm/models/user_invite_params.rbi +19 -10
  97. data/rbi/sentdm/models/user_list_params.rbi +16 -5
  98. data/rbi/sentdm/models/user_remove_params.rbi +37 -19
  99. data/rbi/sentdm/models/user_retrieve_params.rbi +24 -5
  100. data/rbi/sentdm/models/user_update_role_params.rbi +25 -21
  101. data/rbi/sentdm/models/webhook_create_params.rbi +19 -10
  102. data/rbi/sentdm/models/webhook_delete_params.rbi +24 -5
  103. data/rbi/sentdm/models/webhook_list_event_types_params.rbi +16 -5
  104. data/rbi/sentdm/models/webhook_list_events_params.rbi +21 -1
  105. data/rbi/sentdm/models/webhook_list_params.rbi +9 -0
  106. data/rbi/sentdm/models/webhook_retrieve_params.rbi +24 -5
  107. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +20 -1
  108. data/rbi/sentdm/models/webhook_test_params.rbi +25 -10
  109. data/rbi/sentdm/models/webhook_toggle_status_params.rbi +25 -10
  110. data/rbi/sentdm/models/webhook_update_params.rbi +25 -10
  111. data/rbi/sentdm/models.rbi +0 -12
  112. data/rbi/sentdm/resources/brands/campaigns.rbi +0 -94
  113. data/rbi/sentdm/resources/brands.rbi +0 -78
  114. data/rbi/sentdm/resources/contacts.rbi +38 -12
  115. data/rbi/sentdm/resources/lookup.rbi +0 -12
  116. data/rbi/sentdm/resources/me.rbi +26 -7
  117. data/rbi/sentdm/resources/messages.rbi +18 -4
  118. data/rbi/sentdm/resources/profiles.rbi +179 -38
  119. data/rbi/sentdm/resources/templates.rbi +48 -19
  120. data/rbi/sentdm/resources/users.rbi +48 -25
  121. data/rbi/sentdm/resources/webhooks.rbi +93 -20
  122. data/sig/sentdm/internal/util.rbs +10 -0
  123. data/sig/sentdm/models/api_meta.rbs +2 -16
  124. data/sig/sentdm/models/brand_data.rbs +188 -142
  125. data/sig/sentdm/models/brand_with_kyc.rbs +184 -133
  126. data/sig/sentdm/models/contact_create_params.rbs +16 -5
  127. data/sig/sentdm/models/contact_delete_params.rbs +15 -1
  128. data/sig/sentdm/models/contact_list_params.rbs +8 -1
  129. data/sig/sentdm/models/contact_retrieve_params.rbs +18 -3
  130. data/sig/sentdm/models/contact_update_params.rbs +18 -6
  131. data/sig/sentdm/models/me_retrieve_params.rbs +14 -3
  132. data/sig/sentdm/models/me_retrieve_response.rbs +134 -7
  133. data/sig/sentdm/models/message_retrieve_activities_params.rbs +18 -3
  134. data/sig/sentdm/models/message_retrieve_activities_response.rbs +9 -4
  135. data/sig/sentdm/models/message_retrieve_status_params.rbs +18 -3
  136. data/sig/sentdm/models/message_retrieve_status_response.rbs +5 -0
  137. data/sig/sentdm/models/message_send_params.rbs +15 -8
  138. data/sig/sentdm/models/mutation_request.rbs +5 -5
  139. data/sig/sentdm/models/profile_complete_params.rbs +21 -5
  140. data/sig/sentdm/models/profile_create_params.rbs +111 -7
  141. data/sig/sentdm/models/profile_delete_params.rbs +23 -9
  142. data/sig/sentdm/models/profile_detail.rbs +105 -84
  143. data/sig/sentdm/models/profile_list_params.rbs +14 -3
  144. data/sig/sentdm/models/profile_retrieve_params.rbs +18 -3
  145. data/sig/sentdm/models/profile_update_params.rbs +87 -13
  146. data/sig/sentdm/models/template_create_params.rbs +15 -8
  147. data/sig/sentdm/models/template_delete_params.rbs +20 -5
  148. data/sig/sentdm/models/template_list_params.rbs +13 -1
  149. data/sig/sentdm/models/template_retrieve_params.rbs +18 -3
  150. data/sig/sentdm/models/template_update_params.rbs +20 -8
  151. data/sig/sentdm/models/template_variable.rbs +5 -0
  152. data/sig/sentdm/models/user_invite_params.rbs +13 -6
  153. data/sig/sentdm/models/user_list_params.rbs +14 -3
  154. data/sig/sentdm/models/user_remove_params.rbs +23 -9
  155. data/sig/sentdm/models/user_retrieve_params.rbs +18 -3
  156. data/sig/sentdm/models/user_update_role_params.rbs +18 -13
  157. data/sig/sentdm/models/webhook_create_params.rbs +13 -6
  158. data/sig/sentdm/models/webhook_delete_params.rbs +18 -3
  159. data/sig/sentdm/models/webhook_list_event_types_params.rbs +13 -3
  160. data/sig/sentdm/models/webhook_list_events_params.rbs +17 -1
  161. data/sig/sentdm/models/webhook_list_params.rbs +13 -1
  162. data/sig/sentdm/models/webhook_retrieve_params.rbs +18 -3
  163. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +16 -1
  164. data/sig/sentdm/models/webhook_test_params.rbs +21 -5
  165. data/sig/sentdm/models/webhook_toggle_status_params.rbs +21 -5
  166. data/sig/sentdm/models/webhook_update_params.rbs +18 -6
  167. data/sig/sentdm/models.rbs +0 -12
  168. data/sig/sentdm/resources/brands/campaigns.rbs +0 -29
  169. data/sig/sentdm/resources/brands.rbs +0 -25
  170. data/sig/sentdm/resources/contacts.rbs +7 -2
  171. data/sig/sentdm/resources/lookup.rbs +0 -5
  172. data/sig/sentdm/resources/me.rbs +1 -0
  173. data/sig/sentdm/resources/messages.rbs +4 -1
  174. data/sig/sentdm/resources/profiles.rbs +19 -8
  175. data/sig/sentdm/resources/templates.rbs +9 -3
  176. data/sig/sentdm/resources/users.rbs +10 -7
  177. data/sig/sentdm/resources/webhooks.rbs +18 -5
  178. metadata +2 -41
  179. data/lib/sentdm/models/api_response_brand_with_kyc.rb +0 -43
  180. data/lib/sentdm/models/brand_create_params.rb +0 -41
  181. data/lib/sentdm/models/brand_delete_params.rb +0 -27
  182. data/lib/sentdm/models/brand_list_params.rb +0 -14
  183. data/lib/sentdm/models/brand_list_response.rb +0 -43
  184. data/lib/sentdm/models/brand_update_params.rb +0 -41
  185. data/lib/sentdm/models/brands/campaign_create_params.rb +0 -43
  186. data/lib/sentdm/models/brands/campaign_delete_params.rb +0 -36
  187. data/lib/sentdm/models/brands/campaign_list_params.rb +0 -16
  188. data/lib/sentdm/models/brands/campaign_list_response.rb +0 -47
  189. data/lib/sentdm/models/brands/campaign_update_params.rb +0 -50
  190. data/lib/sentdm/models/lookup_retrieve_phone_info_params.rb +0 -14
  191. data/lib/sentdm/models/lookup_retrieve_phone_info_response.rb +0 -104
  192. data/rbi/sentdm/models/api_response_brand_with_kyc.rbi +0 -74
  193. data/rbi/sentdm/models/brand_create_params.rbi +0 -68
  194. data/rbi/sentdm/models/brand_delete_params.rbi +0 -62
  195. data/rbi/sentdm/models/brand_list_params.rbi +0 -27
  196. data/rbi/sentdm/models/brand_list_response.rbi +0 -71
  197. data/rbi/sentdm/models/brand_update_params.rbi +0 -68
  198. data/rbi/sentdm/models/brands/campaign_create_params.rbi +0 -73
  199. data/rbi/sentdm/models/brands/campaign_delete_params.rbi +0 -78
  200. data/rbi/sentdm/models/brands/campaign_list_params.rbi +0 -29
  201. data/rbi/sentdm/models/brands/campaign_list_response.rbi +0 -82
  202. data/rbi/sentdm/models/brands/campaign_update_params.rbi +0 -79
  203. data/rbi/sentdm/models/lookup_retrieve_phone_info_params.rbi +0 -30
  204. data/rbi/sentdm/models/lookup_retrieve_phone_info_response.rbi +0 -183
  205. data/sig/sentdm/models/api_response_brand_with_kyc.rbs +0 -39
  206. data/sig/sentdm/models/brand_create_params.rbs +0 -36
  207. data/sig/sentdm/models/brand_delete_params.rbs +0 -32
  208. data/sig/sentdm/models/brand_list_params.rbs +0 -14
  209. data/sig/sentdm/models/brand_list_response.rbs +0 -39
  210. data/sig/sentdm/models/brand_update_params.rbs +0 -36
  211. data/sig/sentdm/models/brands/campaign_create_params.rbs +0 -42
  212. data/sig/sentdm/models/brands/campaign_delete_params.rbs +0 -38
  213. data/sig/sentdm/models/brands/campaign_list_params.rbs +0 -17
  214. data/sig/sentdm/models/brands/campaign_list_response.rbs +0 -41
  215. data/sig/sentdm/models/brands/campaign_update_params.rbs +0 -47
  216. data/sig/sentdm/models/lookup_retrieve_phone_info_params.rbs +0 -15
  217. data/sig/sentdm/models/lookup_retrieve_phone_info_response.rbs +0 -102
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7e9255fd572fb809acadb95d529be7670e1108067cb33622e50169d008fbdef0
4
- data.tar.gz: 446bb1258628f0793cf4b657f940661dfb7abc792b4ed11d58ff061deb35c27d
3
+ metadata.gz: 05c854c79f1208c28d3ecacb5111648f56c2d850f1b2a353462a19ef9559f70f
4
+ data.tar.gz: 07d88b86954305d084b1dcd5a54785349979e08d66dc68b292be60845f44e05a
5
5
  SHA512:
6
- metadata.gz: 385856fe59775e07188fb9c1e1b820c24db38858ae29a9899122106a21555da3c583b7c62f58eeaf717fc1bdb8ddeab639980aa96796cfaa11696cafe4d6fc9e
7
- data.tar.gz: '083c75a984c27b968a4edadba77fa4014c36650ae056d8c3c2d4cc8e05678ac7aba18548e61ac6923d8856579b0f49b29d17b2f6d187ce6ef5dcd0861ba252a6'
6
+ metadata.gz: d464e1edb179e1b3ef4b76c017417016ff67f4d16d02345985c1177493cdb286285cf00eb4a6a9347a1361aa03a3783f8b2646d889d1fc16ef7b0a6782cde06a
7
+ data.tar.gz: 8bc5abf3c6429faa22188eef6711467142b6b9623fbd208ae5b6171d65f7f44beb7b9b13fad99ab9ba6c29f9d652234e1776bce5b61397f09dd24e4ba1ba89e1
data/CHANGELOG.md CHANGED
@@ -1,5 +1,29 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.4.0 (2026-03-11)
4
+
5
+ Full Changelog: [v0.3.1...v0.4.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.3.1...v0.4.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** api update ([bd1c867](https://github.com/sentdm/sent-dm-ruby/commit/bd1c86786ab541d177d0dab68b56a584becadafd))
10
+
11
+ ## 0.3.1 (2026-03-11)
12
+
13
+ Full Changelog: [v0.3.0...v0.3.1](https://github.com/sentdm/sent-dm-ruby/compare/v0.3.0...v0.3.1)
14
+
15
+ ### Bug Fixes
16
+
17
+ * properly mock time in ruby ci tests ([4c4ebe0](https://github.com/sentdm/sent-dm-ruby/commit/4c4ebe03e980346d3ecc508e2740ad2ded666a8e))
18
+
19
+
20
+ ### Chores
21
+
22
+ * **ci:** add build step ([e67706a](https://github.com/sentdm/sent-dm-ruby/commit/e67706ab8895b76ca683a3e2e47244650be6aca0))
23
+ * **ci:** skip uploading artifacts on stainless-internal branches ([1d6bb94](https://github.com/sentdm/sent-dm-ruby/commit/1d6bb94d3b4eb5b4383827200ead9f557c39c72f))
24
+ * **internal:** codegen related update ([0dd8713](https://github.com/sentdm/sent-dm-ruby/commit/0dd871352c089d8e40788912ba5c1eec907f4640))
25
+ * **internal:** codegen related update ([7b3ead8](https://github.com/sentdm/sent-dm-ruby/commit/7b3ead8de1ffc36ea448af5eed97ac1fc4f462bb))
26
+
3
27
  ## 0.3.0 (2026-02-18)
4
28
 
5
29
  Full Changelog: [v0.2.0...v0.3.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.2.0...v0.3.0)
data/README.md CHANGED
@@ -4,6 +4,15 @@ The Sent Dm Ruby library provides convenient access to the Sent Dm REST API from
4
4
 
5
5
  It is generated with [Stainless](https://www.stainless.com/).
6
6
 
7
+ ## MCP Server
8
+
9
+ Use the Sent Dm MCP Server to enable AI assistants to interact with this API, allowing them to explore endpoints, make test requests, and use documentation to help integrate this SDK into your application.
10
+
11
+ [![Add to Cursor](https://cursor.com/deeplink/mcp-install-dark.svg)](https://cursor.com/en-US/install-mcp?name=%40sentdm%2Fsentdm-mcp&config=eyJjb21tYW5kIjoibnB4IiwiYXJncyI6WyIteSIsIkBzZW50ZG0vc2VudGRtLW1jcCJdLCJlbnYiOnsiU0VOVF9ETV9BUElfS0VZIjoiTXkgQVBJIEtleSJ9fQ)
12
+ [![Install in VS Code](https://img.shields.io/badge/_-Add_to_VS_Code-blue?style=for-the-badge&logo=data:image/svg%2bxml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIGZpbGw9Im5vbmUiIHZpZXdCb3g9IjAgMCA0MCA0MCI+PHBhdGggZmlsbD0iI0VFRSIgZmlsbC1ydWxlPSJldmVub2RkIiBkPSJNMzAuMjM1IDM5Ljg4NGEyLjQ5MSAyLjQ5MSAwIDAgMS0xLjc4MS0uNzNMMTIuNyAyNC43OGwtMy40NiAyLjYyNC0zLjQwNiAyLjU4MmExLjY2NSAxLjY2NSAwIDAgMS0xLjA4Mi4zMzggMS42NjQgMS42NjQgMCAwIDEtMS4wNDYtLjQzMWwtMi4yLTJhMS42NjYgMS42NjYgMCAwIDEgMC0yLjQ2M0w3LjQ1OCAyMCA0LjY3IDE3LjQ1MyAxLjUwNyAxNC41N2ExLjY2NSAxLjY2NSAwIDAgMSAwLTIuNDYzbDIuMi0yYTEuNjY1IDEuNjY1IDAgMCAxIDIuMTMtLjA5N2w2Ljg2MyA1LjIwOUwyOC40NTIuODQ0YTIuNDg4IDIuNDg4IDAgMCAxIDEuODQxLS43MjljLjM1MS4wMDkuNjk5LjA5MSAxLjAxOS4yNDVsOC4yMzYgMy45NjFhMi41IDIuNSAwIDAgMSAxLjQxNSAyLjI1M3YuMDk5LS4wNDVWMzMuMzd2LS4wNDUuMDk1YTIuNTAxIDIuNTAxIDAgMCAxLTEuNDE2IDIuMjU3bC04LjIzNSAzLjk2MWEyLjQ5MiAyLjQ5MiAwIDAgMS0xLjA3Ny4yNDZabS43MTYtMjguOTQ3LTExLjk0OCA5LjA2MiAxMS45NTIgOS4wNjUtLjAwNC0xOC4xMjdaIi8+PC9zdmc+)](https://vscode.stainless.com/mcp/%7B%22name%22%3A%22%40sentdm%2Fsentdm-mcp%22%2C%22command%22%3A%22npx%22%2C%22args%22%3A%5B%22-y%22%2C%22%40sentdm%2Fsentdm-mcp%22%5D%2C%22env%22%3A%7B%22SENT_DM_API_KEY%22%3A%22My%20API%20Key%22%7D%7D)
13
+
14
+ > Note: You may need to set environment variables in your MCP client.
15
+
7
16
  ## Documentation
8
17
 
9
18
  Documentation for releases of this gem can be found [on RubyDoc](https://gemdocs.org/gems/sentdm).
@@ -17,7 +26,7 @@ To use this gem, install via Bundler by adding the following to your application
17
26
  <!-- x-release-please-start-version -->
18
27
 
19
28
  ```ruby
20
- gem "sentdm", "~> 0.3.0"
29
+ gem "sentdm", "~> 0.4.0"
21
30
  ```
22
31
 
23
32
  <!-- x-release-please-end -->
@@ -261,23 +270,23 @@ sent_dm.messages.send_(**params)
261
270
  Since this library does not depend on `sorbet-runtime`, it cannot provide [`T::Enum`](https://sorbet.org/docs/tenum) instances. Instead, we provide "tagged symbols" instead, which is always a primitive at runtime:
262
271
 
263
272
  ```ruby
264
- # :BASIC_ACCOUNT
265
- puts(Sentdm::TcrBrandRelationship::BASIC_ACCOUNT)
273
+ # :SELF_DECLARED
274
+ puts(Sentdm::BrandWithKYC::IdentityStatus::SELF_DECLARED)
266
275
 
267
- # Revealed type: `T.all(Sentdm::TcrBrandRelationship, Symbol)`
268
- T.reveal_type(Sentdm::TcrBrandRelationship::BASIC_ACCOUNT)
276
+ # Revealed type: `T.all(Sentdm::BrandWithKYC::IdentityStatus, Symbol)`
277
+ T.reveal_type(Sentdm::BrandWithKYC::IdentityStatus::SELF_DECLARED)
269
278
  ```
270
279
 
271
280
  Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
272
281
 
273
282
  ```ruby
274
- Sentdm::BrandData.new(
275
- brand_relationship: Sentdm::TcrBrandRelationship::BASIC_ACCOUNT,
283
+ Sentdm::BrandWithKYC.new(
284
+ identity_status: Sentdm::BrandWithKYC::IdentityStatus::SELF_DECLARED,
276
285
  # …
277
286
  )
278
287
 
279
- Sentdm::BrandData.new(
280
- brand_relationship: :BASIC_ACCOUNT,
288
+ Sentdm::BrandWithKYC.new(
289
+ identity_status: :SELF_DECLARED,
281
290
  # …
282
291
  )
283
292
  ```
data/lib/sentdm/client.rb CHANGED
@@ -20,30 +20,37 @@ module Sentdm
20
20
  # @return [String]
21
21
  attr_reader :api_key
22
22
 
23
+ # Configure webhook endpoints for real-time event delivery
23
24
  # @return [Sentdm::Resources::Webhooks]
24
25
  attr_reader :webhooks
25
26
 
27
+ # Invite, update, and manage organization users and roles
26
28
  # @return [Sentdm::Resources::Users]
27
29
  attr_reader :users
28
30
 
31
+ # Manage message templates with variable substitution
29
32
  # @return [Sentdm::Resources::Templates]
30
33
  attr_reader :templates
31
34
 
35
+ # Manage organization profiles
32
36
  # @return [Sentdm::Resources::Profiles]
33
37
  attr_reader :profiles
34
38
 
39
+ # Send and track SMS and WhatsApp messages
35
40
  # @return [Sentdm::Resources::Messages]
36
41
  attr_reader :messages
37
42
 
38
43
  # @return [Sentdm::Resources::Lookup]
39
44
  attr_reader :lookup
40
45
 
46
+ # Create, update, and manage customer contact lists
41
47
  # @return [Sentdm::Resources::Contacts]
42
48
  attr_reader :contacts
43
49
 
44
50
  # @return [Sentdm::Resources::Brands]
45
51
  attr_reader :brands
46
52
 
53
+ # Retrieve account details
47
54
  # @return [Sentdm::Resources::Me]
48
55
  attr_reader :me
49
56
 
@@ -490,6 +490,37 @@ module Sentdm
490
490
  JSONL_CONTENT = %r{^application/(:?x-(?:n|l)djson)|(:?(?:x-)?jsonl)}
491
491
 
492
492
  class << self
493
+ # @api private
494
+ #
495
+ # @param query [Hash{Symbol=>Object}]
496
+ #
497
+ # @return [Hash{Symbol=>Object}]
498
+ def encode_query_params(query)
499
+ out = {}
500
+ query.each { write_query_param_element!(out, _1, _2) }
501
+ out
502
+ end
503
+
504
+ # @api private
505
+ #
506
+ # @param collection [Hash{Symbol=>Object}]
507
+ # @param key [String]
508
+ # @param element [Object]
509
+ #
510
+ # @return [nil]
511
+ private def write_query_param_element!(collection, key, element)
512
+ case element
513
+ in Hash
514
+ element.each do |name, value|
515
+ write_query_param_element!(collection, "#{key}[#{name}]", value)
516
+ end
517
+ in Array
518
+ collection[key] = element.map(&:to_s).join(",")
519
+ else
520
+ collection[key] = element.to_s
521
+ end
522
+ end
523
+
493
524
  # @api private
494
525
  #
495
526
  # @param y [Enumerator::Yielder]
@@ -9,12 +9,6 @@ module Sentdm
9
9
  # @return [String, nil]
10
10
  optional :request_id, String
11
11
 
12
- # @!attribute response_time_ms
13
- # Response time in milliseconds (optional)
14
- #
15
- # @return [Integer, nil]
16
- optional :response_time_ms, Integer, nil?: true
17
-
18
12
  # @!attribute timestamp
19
13
  # Server timestamp when the response was generated
20
14
  #
@@ -27,13 +21,11 @@ module Sentdm
27
21
  # @return [String, nil]
28
22
  optional :version, String
29
23
 
30
- # @!method initialize(request_id: nil, response_time_ms: nil, timestamp: nil, version: nil)
24
+ # @!method initialize(request_id: nil, timestamp: nil, version: nil)
31
25
  # Request and response metadata
32
26
  #
33
27
  # @param request_id [String] Unique identifier for this request (for tracing and support)
34
28
  #
35
- # @param response_time_ms [Integer, nil] Response time in milliseconds (optional)
36
- #
37
29
  # @param timestamp [Time] Server timestamp when the response was generated
38
30
  #
39
31
  # @param version [String] API version used for this request