sentdm 0.1.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 (361) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/README.md +96 -39
  4. data/lib/sentdm/client.rb +29 -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 -14
  114. data/rbi/sentdm/client.rbi +22 -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 +9 -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.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 -44
  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.rb +0 -100
  336. data/lib/sentdm/resources/number_lookup.rb +0 -37
  337. data/lib/sentdm/resources/organizations/users.rb +0 -16
  338. data/lib/sentdm/resources/organizations.rb +0 -18
  339. data/rbi/sentdm/models/contact_list_item.rbi +0 -144
  340. data/rbi/sentdm/models/contact_retrieve_by_phone_params.rbi +0 -40
  341. data/rbi/sentdm/models/contact_retrieve_id_params.rbi +0 -40
  342. data/rbi/sentdm/models/message_retrieve_response.rbi +0 -376
  343. data/rbi/sentdm/models/message_send_quick_message_params.rbi +0 -56
  344. data/rbi/sentdm/models/message_send_to_contact_params.rbi +0 -63
  345. data/rbi/sentdm/models/message_send_to_phone_params.rbi +0 -65
  346. data/rbi/sentdm/models/number_lookup_retrieve_params.rbi +0 -35
  347. data/rbi/sentdm/models/number_lookup_retrieve_response.rbi +0 -132
  348. data/rbi/sentdm/models/template_response.rbi +0 -149
  349. data/rbi/sentdm/resources/number_lookup.rbi +0 -24
  350. data/rbi/sentdm/resources/organizations/users.rbi +0 -14
  351. data/rbi/sentdm/resources/organizations.rbi +0 -15
  352. data/sig/sentdm/models/contact_retrieve_by_phone_params.rbs +0 -23
  353. data/sig/sentdm/models/contact_retrieve_id_params.rbs +0 -20
  354. data/sig/sentdm/models/message_retrieve_response.rbs +0 -188
  355. data/sig/sentdm/models/message_send_quick_message_params.rbs +0 -28
  356. data/sig/sentdm/models/message_send_to_contact_params.rbs +0 -36
  357. data/sig/sentdm/models/message_send_to_phone_params.rbs +0 -36
  358. data/sig/sentdm/models/number_lookup_retrieve_params.rbs +0 -23
  359. data/sig/sentdm/models/number_lookup_retrieve_response.rbs +0 -78
  360. data/sig/sentdm/resources/organizations/users.rbs +0 -9
  361. data/sig/sentdm/resources/organizations.rbs +0 -9
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 31445227ab71e86eadb4a87c40f4cd1e323e5d7662a87fcf9aa8c57288171e81
4
- data.tar.gz: a29e93874f1d06a0f514aacb541c6f2c573176ce5bb217ac1011e47988c65154
3
+ metadata.gz: 7e9255fd572fb809acadb95d529be7670e1108067cb33622e50169d008fbdef0
4
+ data.tar.gz: 446bb1258628f0793cf4b657f940661dfb7abc792b4ed11d58ff061deb35c27d
5
5
  SHA512:
6
- metadata.gz: 9d5ebda8629795e1f7905d07cc18f0814fb9d214388d91192bfdab4f259d88fe93225e56579d2e75e8a5587da7d307dc2772b02ac3defc6f2d8c7f679f89dd4e
7
- data.tar.gz: 03b08de70af011e81e60f8d3938c2089b549fdc1312e20b389953cfda6cf1f75ce212b0872c82b0f8db17e37d23838a2aa0912c55c187f74e7e70afe6765d669
6
+ metadata.gz: 385856fe59775e07188fb9c1e1b820c24db38858ae29a9899122106a21555da3c583b7c62f58eeaf717fc1bdb8ddeab639980aa96796cfaa11696cafe4d6fc9e
7
+ data.tar.gz: '083c75a984c27b968a4edadba77fa4014c36650ae056d8c3c2d4cc8e05678ac7aba18548e61ac6923d8856579b0f49b29d17b2f6d187ce6ef5dcd0861ba252a6'
data/CHANGELOG.md CHANGED
@@ -1,5 +1,23 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.3.0 (2026-02-18)
4
+
5
+ Full Changelog: [v0.2.0...v0.3.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.2.0...v0.3.0)
6
+
7
+ ### Features
8
+
9
+ * **api:** manual updates ([e674172](https://github.com/sentdm/sent-dm-ruby/commit/e674172971f06d5616165303b01e6c0a24cf3744))
10
+ * **api:** manual updates ([6262e32](https://github.com/sentdm/sent-dm-ruby/commit/6262e327f30368608f29890d469c0352b9da80c8))
11
+ * **api:** manual updates ([33fff26](https://github.com/sentdm/sent-dm-ruby/commit/33fff2647eb26bde013600c8632b160a46f1eb73))
12
+
13
+ ## 0.2.0 (2026-02-16)
14
+
15
+ Full Changelog: [v0.1.0...v0.2.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.1.0...v0.2.0)
16
+
17
+ ### Features
18
+
19
+ * **api:** manual updates ([2bbf0b7](https://github.com/sentdm/sent-dm-ruby/commit/2bbf0b7eb75ea163ba7694d3e79d71b5d0e2b804))
20
+
3
21
  ## 0.1.0 (2026-02-10)
4
22
 
5
23
  Full Changelog: [v0.0.3...v0.1.0](https://github.com/sentdm/sent-dm-ruby/compare/v0.0.3...v0.1.0)
data/README.md CHANGED
@@ -17,7 +17,7 @@ To use this gem, install via Bundler by adding the following to your application
17
17
  <!-- x-release-please-start-version -->
18
18
 
19
19
  ```ruby
20
- gem "sentdm", "~> 0.1.0"
20
+ gem "sentdm", "~> 0.3.0"
21
21
  ```
22
22
 
23
23
  <!-- x-release-please-end -->
@@ -29,17 +29,20 @@ require "bundler/setup"
29
29
  require "sentdm"
30
30
 
31
31
  sent_dm = Sentdm::Client.new(
32
- api_key: ENV["SENT_DM_API_KEY"], # This is the default and can be omitted
33
- sender_id: ENV["SENT_DM_SENDER_ID"] # This is the default and can be omitted
32
+ api_key: ENV["SENT_DM_API_KEY"] # This is the default and can be omitted
34
33
  )
35
34
 
36
- result = sent_dm.messages.send_to_phone(
37
- phone_number: "+1234567890",
38
- template_id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
39
- template_variables: {name: "John Doe", order_id: "12345"}
35
+ response = sent_dm.messages.send_(
36
+ channel: ["sms", "whatsapp"],
37
+ template: {
38
+ id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
39
+ name: "order_confirmation",
40
+ parameters: {name: "John Doe", order_id: "12345"}
41
+ },
42
+ to: ["+14155551234", "+14155555678"]
40
43
  )
41
44
 
42
- puts(result)
45
+ puts(response.data)
43
46
  ```
44
47
 
45
48
  ### Handling errors
@@ -48,10 +51,14 @@ When the library is unable to connect to the API, or if the API returns a non-su
48
51
 
49
52
  ```ruby
50
53
  begin
51
- message = sent_dm.messages.send_to_phone(
52
- phone_number: "+1234567890",
53
- template_id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
54
- template_variables: {name: "John Doe", order_id: "12345"}
54
+ message = sent_dm.messages.send_(
55
+ channel: ["sms"],
56
+ template: {
57
+ id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
58
+ name: "order_confirmation",
59
+ parameters: {name: "John Doe", order_id: "12345"}
60
+ },
61
+ to: ["+14155551234"]
55
62
  )
56
63
  rescue Sentdm::Errors::APIConnectionError => e
57
64
  puts("The server could not be reached")
@@ -95,10 +102,14 @@ sent_dm = Sentdm::Client.new(
95
102
  )
96
103
 
97
104
  # Or, configure per-request:
98
- sent_dm.messages.send_to_phone(
99
- phone_number: "+1234567890",
100
- template_id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
101
- template_variables: {name: "John Doe", order_id: "12345"},
105
+ sent_dm.messages.send_(
106
+ channel: ["sms"],
107
+ template: {
108
+ id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
109
+ name: "order_confirmation",
110
+ parameters: {name: "John Doe", order_id: "12345"}
111
+ },
112
+ to: ["+14155551234"],
102
113
  request_options: {max_retries: 5}
103
114
  )
104
115
  ```
@@ -114,10 +125,14 @@ sent_dm = Sentdm::Client.new(
114
125
  )
115
126
 
116
127
  # Or, configure per-request:
117
- sent_dm.messages.send_to_phone(
118
- phone_number: "+1234567890",
119
- template_id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
120
- template_variables: {name: "John Doe", order_id: "12345"},
128
+ sent_dm.messages.send_(
129
+ channel: ["sms"],
130
+ template: {
131
+ id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
132
+ name: "order_confirmation",
133
+ parameters: {name: "John Doe", order_id: "12345"}
134
+ },
135
+ to: ["+14155551234"],
121
136
  request_options: {timeout: 5}
122
137
  )
123
138
  ```
@@ -149,11 +164,15 @@ You can send undocumented parameters to any endpoint, and read undocumented resp
149
164
  Note: the `extra_` parameters of the same name overrides the documented parameters.
150
165
 
151
166
  ```ruby
152
- result =
153
- sent_dm.messages.send_to_phone(
154
- phone_number: "+1234567890",
155
- template_id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
156
- template_variables: {name: "John Doe", order_id: "12345"},
167
+ response =
168
+ sent_dm.messages.send_(
169
+ channel: ["sms"],
170
+ template: {
171
+ id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
172
+ name: "order_confirmation",
173
+ parameters: {name: "John Doe", order_id: "12345"}
174
+ },
175
+ to: ["+14155551234"],
157
176
  request_options: {
158
177
  extra_query: {my_query_parameter: value},
159
178
  extra_body: {my_body_parameter: value},
@@ -161,7 +180,7 @@ result =
161
180
  }
162
181
  )
163
182
 
164
- puts(result[:my_undocumented_property])
183
+ puts(response[:my_undocumented_property])
165
184
  ```
166
185
 
167
186
  #### Undocumented request params
@@ -199,10 +218,14 @@ This library provides comprehensive [RBI](https://sorbet.org/docs/rbi) definitio
199
218
  You can provide typesafe request parameters like so:
200
219
 
201
220
  ```ruby
202
- sent_dm.messages.send_to_phone(
203
- phone_number: "+1234567890",
204
- template_id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
205
- template_variables: {name: "John Doe", order_id: "12345"}
221
+ sent_dm.messages.send_(
222
+ channel: ["sms", "whatsapp"],
223
+ template: Sentdm::MessageSendParams::Template.new(
224
+ id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
225
+ name: "order_confirmation",
226
+ parameters: {name: "John Doe", order_id: "12345"}
227
+ ),
228
+ to: ["+14155551234", "+14155555678"]
206
229
  )
207
230
  ```
208
231
 
@@ -210,19 +233,53 @@ Or, equivalently:
210
233
 
211
234
  ```ruby
212
235
  # Hashes work, but are not typesafe:
213
- sent_dm.messages.send_to_phone(
214
- phone_number: "+1234567890",
215
- template_id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
216
- template_variables: {name: "John Doe", order_id: "12345"}
236
+ sent_dm.messages.send_(
237
+ channel: ["sms", "whatsapp"],
238
+ template: {
239
+ id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
240
+ name: "order_confirmation",
241
+ parameters: {name: "John Doe", order_id: "12345"}
242
+ },
243
+ to: ["+14155551234", "+14155555678"]
217
244
  )
218
245
 
219
246
  # You can also splat a full Params class:
220
- params = Sentdm::MessageSendToPhoneParams.new(
221
- phone_number: "+1234567890",
222
- template_id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
223
- template_variables: {name: "John Doe", order_id: "12345"}
247
+ params = Sentdm::MessageSendParams.new(
248
+ channel: ["sms", "whatsapp"],
249
+ template: Sentdm::MessageSendParams::Template.new(
250
+ id: "7ba7b820-9dad-11d1-80b4-00c04fd430c8",
251
+ name: "order_confirmation",
252
+ parameters: {name: "John Doe", order_id: "12345"}
253
+ ),
254
+ to: ["+14155551234", "+14155555678"]
255
+ )
256
+ sent_dm.messages.send_(**params)
257
+ ```
258
+
259
+ ### Enums
260
+
261
+ 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
+
263
+ ```ruby
264
+ # :BASIC_ACCOUNT
265
+ puts(Sentdm::TcrBrandRelationship::BASIC_ACCOUNT)
266
+
267
+ # Revealed type: `T.all(Sentdm::TcrBrandRelationship, Symbol)`
268
+ T.reveal_type(Sentdm::TcrBrandRelationship::BASIC_ACCOUNT)
269
+ ```
270
+
271
+ Enum parameters have a "relaxed" type, so you can either pass in enum constants or their literal value:
272
+
273
+ ```ruby
274
+ Sentdm::BrandData.new(
275
+ brand_relationship: Sentdm::TcrBrandRelationship::BASIC_ACCOUNT,
276
+ # …
277
+ )
278
+
279
+ Sentdm::BrandData.new(
280
+ brand_relationship: :BASIC_ACCOUNT,
281
+ # …
224
282
  )
225
- sent_dm.messages.send_to_phone(**params)
226
283
  ```
227
284
 
228
285
  ## Versioning
data/lib/sentdm/client.rb CHANGED
@@ -15,56 +15,50 @@ module Sentdm
15
15
  # Default max retry delay in seconds.
16
16
  DEFAULT_MAX_RETRY_DELAY = 8.0
17
17
 
18
- # Customer API key for authentication
18
+ # Customer API key for authentication. Use `sk_live_*` keys for production and
19
+ # `sk_test_*` keys for sandbox/testing. Pass via the `x-api-key` header.
19
20
  # @return [String]
20
21
  attr_reader :api_key
21
22
 
22
- # Customer sender ID (GUID) identifying the customer account
23
- # @return [String]
24
- attr_reader :sender_id
23
+ # @return [Sentdm::Resources::Webhooks]
24
+ attr_reader :webhooks
25
+
26
+ # @return [Sentdm::Resources::Users]
27
+ attr_reader :users
25
28
 
26
29
  # @return [Sentdm::Resources::Templates]
27
30
  attr_reader :templates
28
31
 
29
- # @return [Sentdm::Resources::Contacts]
30
- attr_reader :contacts
32
+ # @return [Sentdm::Resources::Profiles]
33
+ attr_reader :profiles
31
34
 
32
35
  # @return [Sentdm::Resources::Messages]
33
36
  attr_reader :messages
34
37
 
35
- # @return [Sentdm::Resources::NumberLookup]
36
- attr_reader :number_lookup
38
+ # @return [Sentdm::Resources::Lookup]
39
+ attr_reader :lookup
37
40
 
38
- # @return [Sentdm::Resources::Organizations]
39
- attr_reader :organizations
41
+ # @return [Sentdm::Resources::Contacts]
42
+ attr_reader :contacts
40
43
 
41
- # @api private
42
- #
43
- # @return [Hash{String=>String}]
44
- private def auth_headers
45
- {**customer_api_key, **customer_sender_id}
46
- end
44
+ # @return [Sentdm::Resources::Brands]
45
+ attr_reader :brands
47
46
 
48
- # @api private
49
- #
50
- # @return [Hash{String=>String}]
51
- private def customer_api_key
52
- {"x-api-key" => @api_key}
53
- end
47
+ # @return [Sentdm::Resources::Me]
48
+ attr_reader :me
54
49
 
55
50
  # @api private
56
51
  #
57
52
  # @return [Hash{String=>String}]
58
- private def customer_sender_id
59
- {"x-sender-id" => @sender_id}
53
+ private def auth_headers
54
+ {"x-api-key" => @api_key}
60
55
  end
61
56
 
62
57
  # Creates and returns a new client for interacting with the API.
63
58
  #
64
- # @param api_key [String, nil] Customer API key for authentication Defaults to `ENV["SENT_DM_API_KEY"]`
65
- #
66
- # @param sender_id [String, nil] Customer sender ID (GUID) identifying the customer account Defaults to
67
- # `ENV["SENT_DM_SENDER_ID"]`
59
+ # @param api_key [String, nil] Customer API key for authentication. Use `sk_live_*` keys for production and
60
+ # `sk_test_*` keys for sandbox/testing. Pass via the `x-api-key` header. Defaults
61
+ # to `ENV["SENT_DM_API_KEY"]`
68
62
  #
69
63
  # @param base_url [String, nil] Override the default base URL for the API, e.g.,
70
64
  # `"https://api.example.com/v2/"`. Defaults to `ENV["SENT_DM_BASE_URL"]`
@@ -78,7 +72,6 @@ module Sentdm
78
72
  # @param max_retry_delay [Float]
79
73
  def initialize(
80
74
  api_key: ENV["SENT_DM_API_KEY"],
81
- sender_id: ENV["SENT_DM_SENDER_ID"],
82
75
  base_url: ENV["SENT_DM_BASE_URL"],
83
76
  max_retries: self.class::DEFAULT_MAX_RETRIES,
84
77
  timeout: self.class::DEFAULT_TIMEOUT_IN_SECONDS,
@@ -90,12 +83,8 @@ module Sentdm
90
83
  if api_key.nil?
91
84
  raise ArgumentError.new("api_key is required, and can be set via environ: \"SENT_DM_API_KEY\"")
92
85
  end
93
- if sender_id.nil?
94
- raise ArgumentError.new("sender_id is required, and can be set via environ: \"SENT_DM_SENDER_ID\"")
95
- end
96
86
 
97
87
  @api_key = api_key.to_s
98
- @sender_id = sender_id.to_s
99
88
 
100
89
  super(
101
90
  base_url: base_url,
@@ -105,11 +94,15 @@ module Sentdm
105
94
  max_retry_delay: max_retry_delay
106
95
  )
107
96
 
97
+ @webhooks = Sentdm::Resources::Webhooks.new(client: self)
98
+ @users = Sentdm::Resources::Users.new(client: self)
108
99
  @templates = Sentdm::Resources::Templates.new(client: self)
109
- @contacts = Sentdm::Resources::Contacts.new(client: self)
100
+ @profiles = Sentdm::Resources::Profiles.new(client: self)
110
101
  @messages = Sentdm::Resources::Messages.new(client: self)
111
- @number_lookup = Sentdm::Resources::NumberLookup.new(client: self)
112
- @organizations = Sentdm::Resources::Organizations.new(client: self)
102
+ @lookup = Sentdm::Resources::Lookup.new(client: self)
103
+ @contacts = Sentdm::Resources::Contacts.new(client: self)
104
+ @brands = Sentdm::Resources::Brands.new(client: self)
105
+ @me = Sentdm::Resources::Me.new(client: self)
113
106
  end
114
107
  end
115
108
  end
@@ -438,11 +438,11 @@ module Sentdm
438
438
  # @return [Hash{Symbol=>Object}]
439
439
  #
440
440
  # @example
441
- # # `template_body_content` is a `Sentdm::TemplateBodyContent`
442
- # template_body_content => {
443
- # template: template,
444
- # type: type,
445
- # variables: variables
441
+ # # `api_error` is a `Sentdm::APIError`
442
+ # api_error => {
443
+ # code: code,
444
+ # details: details,
445
+ # doc_url: doc_url
446
446
  # }
447
447
  def deconstruct_keys(keys)
448
448
  (keys || self.class.known_fields.keys)
@@ -15,6 +15,31 @@ module Sentdm
15
15
  #
16
16
  # We can therefore convert string values to Symbols, but can't convert other
17
17
  # values safely.
18
+ #
19
+ # @example
20
+ # # `tcr_brand_relationship` is a `Sentdm::TcrBrandRelationship`
21
+ # case tcr_brand_relationship
22
+ # when Sentdm::TcrBrandRelationship::BASIC_ACCOUNT
23
+ # # ...
24
+ # when Sentdm::TcrBrandRelationship::MEDIUM_ACCOUNT
25
+ # # ...
26
+ # when Sentdm::TcrBrandRelationship::LARGE_ACCOUNT
27
+ # # ...
28
+ # else
29
+ # puts(tcr_brand_relationship)
30
+ # end
31
+ #
32
+ # @example
33
+ # case tcr_brand_relationship
34
+ # in :BASIC_ACCOUNT
35
+ # # ...
36
+ # in :MEDIUM_ACCOUNT
37
+ # # ...
38
+ # in :LARGE_ACCOUNT
39
+ # # ...
40
+ # else
41
+ # puts(tcr_brand_relationship)
42
+ # end
18
43
  module Enum
19
44
  include Sentdm::Internal::Type::Converter
20
45
  include Sentdm::Internal::Util::SorbetRuntimeSupport
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class APIError < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute code
7
+ # Machine-readable error code (e.g., "RESOURCE_001")
8
+ #
9
+ # @return [String, nil]
10
+ optional :code, String
11
+
12
+ # @!attribute details
13
+ # Additional validation error details (field-level errors)
14
+ #
15
+ # @return [Hash{Symbol=>Array<String>}, nil]
16
+ optional :details, Sentdm::Internal::Type::HashOf[Sentdm::Internal::Type::ArrayOf[String]], nil?: true
17
+
18
+ # @!attribute doc_url
19
+ # URL to documentation about this error
20
+ #
21
+ # @return [String, nil]
22
+ optional :doc_url, String, nil?: true
23
+
24
+ # @!attribute message
25
+ # Human-readable error message
26
+ #
27
+ # @return [String, nil]
28
+ optional :message, String
29
+
30
+ # @!method initialize(code: nil, details: nil, doc_url: nil, message: nil)
31
+ # Error information
32
+ #
33
+ # @param code [String] Machine-readable error code (e.g., "RESOURCE_001")
34
+ #
35
+ # @param details [Hash{Symbol=>Array<String>}, nil] Additional validation error details (field-level errors)
36
+ #
37
+ # @param doc_url [String, nil] URL to documentation about this error
38
+ #
39
+ # @param message [String] Human-readable error message
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,42 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class APIMeta < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute request_id
7
+ # Unique identifier for this request (for tracing and support)
8
+ #
9
+ # @return [String, nil]
10
+ optional :request_id, String
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
+ # @!attribute timestamp
19
+ # Server timestamp when the response was generated
20
+ #
21
+ # @return [Time, nil]
22
+ optional :timestamp, Time
23
+
24
+ # @!attribute version
25
+ # API version used for this request
26
+ #
27
+ # @return [String, nil]
28
+ optional :version, String
29
+
30
+ # @!method initialize(request_id: nil, response_time_ms: nil, timestamp: nil, version: nil)
31
+ # Request and response metadata
32
+ #
33
+ # @param request_id [String] Unique identifier for this request (for tracing and support)
34
+ #
35
+ # @param response_time_ms [Integer, nil] Response time in milliseconds (optional)
36
+ #
37
+ # @param timestamp [Time] Server timestamp when the response was generated
38
+ #
39
+ # @param version [String] API version used for this request
40
+ end
41
+ end
42
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Brands#create
6
+ class APIResponseBrandWithKYC < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ # The response data (null if error)
9
+ #
10
+ # @return [Sentdm::Models::BrandWithKYC, nil]
11
+ optional :data, -> { Sentdm::BrandWithKYC }, nil?: true
12
+
13
+ # @!attribute error
14
+ # Error details (null if successful)
15
+ #
16
+ # @return [Sentdm::Models::APIError, nil]
17
+ optional :error, -> { Sentdm::APIError }, nil?: true
18
+
19
+ # @!attribute meta
20
+ # Metadata about the request and response
21
+ #
22
+ # @return [Sentdm::Models::APIMeta, nil]
23
+ optional :meta, -> { Sentdm::APIMeta }
24
+
25
+ # @!attribute success
26
+ # Indicates whether the request was successful
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :success, Sentdm::Internal::Type::Boolean
30
+
31
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
32
+ # Standard API response envelope for all v3 endpoints
33
+ #
34
+ # @param data [Sentdm::Models::BrandWithKYC, nil] The response data (null if error)
35
+ #
36
+ # @param error [Sentdm::Models::APIError, nil] Error details (null if successful)
37
+ #
38
+ # @param meta [Sentdm::Models::APIMeta] Metadata about the request and response
39
+ #
40
+ # @param success [Boolean] Indicates whether the request was successful
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Contacts#create
6
+ class APIResponseContact < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ # The response data (null if error)
9
+ #
10
+ # @return [Sentdm::Models::Contact, nil]
11
+ optional :data, -> { Sentdm::Contact }, nil?: true
12
+
13
+ # @!attribute error
14
+ # Error details (null if successful)
15
+ #
16
+ # @return [Sentdm::Models::APIError, nil]
17
+ optional :error, -> { Sentdm::APIError }, nil?: true
18
+
19
+ # @!attribute meta
20
+ # Metadata about the request and response
21
+ #
22
+ # @return [Sentdm::Models::APIMeta, nil]
23
+ optional :meta, -> { Sentdm::APIMeta }
24
+
25
+ # @!attribute success
26
+ # Indicates whether the request was successful
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :success, Sentdm::Internal::Type::Boolean
30
+
31
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
32
+ # Standard API response envelope for all v3 endpoints
33
+ #
34
+ # @param data [Sentdm::Models::Contact, nil] The response data (null if error)
35
+ #
36
+ # @param error [Sentdm::Models::APIError, nil] Error details (null if successful)
37
+ #
38
+ # @param meta [Sentdm::Models::APIMeta] Metadata about the request and response
39
+ #
40
+ # @param success [Boolean] Indicates whether the request was successful
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Profiles#create
6
+ class APIResponseOfProfileDetail < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ # The response data (null if error)
9
+ #
10
+ # @return [Sentdm::Models::ProfileDetail, nil]
11
+ optional :data, -> { Sentdm::ProfileDetail }, nil?: true
12
+
13
+ # @!attribute error
14
+ # Error details (null if successful)
15
+ #
16
+ # @return [Sentdm::Models::APIError, nil]
17
+ optional :error, -> { Sentdm::APIError }, nil?: true
18
+
19
+ # @!attribute meta
20
+ # Metadata about the request and response
21
+ #
22
+ # @return [Sentdm::Models::APIMeta, nil]
23
+ optional :meta, -> { Sentdm::APIMeta }
24
+
25
+ # @!attribute success
26
+ # Indicates whether the request was successful
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :success, Sentdm::Internal::Type::Boolean
30
+
31
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
32
+ # Standard API response envelope for all v3 endpoints
33
+ #
34
+ # @param data [Sentdm::Models::ProfileDetail, nil] The response data (null if error)
35
+ #
36
+ # @param error [Sentdm::Models::APIError, nil] Error details (null if successful)
37
+ #
38
+ # @param meta [Sentdm::Models::APIMeta] Metadata about the request and response
39
+ #
40
+ # @param success [Boolean] Indicates whether the request was successful
41
+ end
42
+ end
43
+ end
@@ -0,0 +1,43 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Users#retrieve
6
+ class APIResponseOfUser < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute data
8
+ # The response data (null if error)
9
+ #
10
+ # @return [Sentdm::Models::UserResponse, nil]
11
+ optional :data, -> { Sentdm::UserResponse }, nil?: true
12
+
13
+ # @!attribute error
14
+ # Error details (null if successful)
15
+ #
16
+ # @return [Sentdm::Models::APIError, nil]
17
+ optional :error, -> { Sentdm::APIError }, nil?: true
18
+
19
+ # @!attribute meta
20
+ # Metadata about the request and response
21
+ #
22
+ # @return [Sentdm::Models::APIMeta, nil]
23
+ optional :meta, -> { Sentdm::APIMeta }
24
+
25
+ # @!attribute success
26
+ # Indicates whether the request was successful
27
+ #
28
+ # @return [Boolean, nil]
29
+ optional :success, Sentdm::Internal::Type::Boolean
30
+
31
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
32
+ # Standard API response envelope for all v3 endpoints
33
+ #
34
+ # @param data [Sentdm::Models::UserResponse, nil] The response data (null if error)
35
+ #
36
+ # @param error [Sentdm::Models::APIError, nil] Error details (null if successful)
37
+ #
38
+ # @param meta [Sentdm::Models::APIMeta] Metadata about the request and response
39
+ #
40
+ # @param success [Boolean] Indicates whether the request was successful
41
+ end
42
+ end
43
+ end