sentdm 0.2.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (354) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +26 -0
  3. data/README.md +105 -39
  4. data/lib/sentdm/client.rb +36 -36
  5. data/lib/sentdm/internal/type/base_model.rb +5 -5
  6. data/lib/sentdm/internal/type/enum.rb +25 -0
  7. data/lib/sentdm/internal/util.rb +31 -0
  8. data/lib/sentdm/models/api_error.rb +42 -0
  9. data/lib/sentdm/models/api_meta.rb +42 -0
  10. data/lib/sentdm/models/api_response_brand_with_kyc.rb +43 -0
  11. data/lib/sentdm/models/api_response_contact.rb +43 -0
  12. data/lib/sentdm/models/api_response_of_profile_detail.rb +43 -0
  13. data/lib/sentdm/models/api_response_of_user.rb +43 -0
  14. data/lib/sentdm/models/api_response_template.rb +43 -0
  15. data/lib/sentdm/models/api_response_webhook.rb +43 -0
  16. data/lib/sentdm/models/brand_create_params.rb +41 -0
  17. data/lib/sentdm/models/brand_data.rb +237 -0
  18. data/lib/sentdm/models/brand_delete_params.rb +34 -0
  19. data/lib/sentdm/models/{message_retrieve_params.rb → brand_list_params.rb} +2 -2
  20. data/lib/sentdm/models/brand_list_response.rb +43 -0
  21. data/lib/sentdm/models/brand_update_params.rb +48 -0
  22. data/lib/sentdm/models/brand_with_kyc.rb +335 -0
  23. data/lib/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rb +45 -0
  24. data/lib/sentdm/models/brands/base_dto.rb +32 -0
  25. data/lib/sentdm/models/brands/campaign_create_params.rb +50 -0
  26. data/lib/sentdm/models/brands/campaign_data.rb +123 -0
  27. data/lib/sentdm/models/brands/campaign_delete_params.rb +43 -0
  28. data/lib/sentdm/models/brands/campaign_list_params.rb +22 -0
  29. data/lib/sentdm/models/brands/campaign_list_response.rb +47 -0
  30. data/lib/sentdm/models/brands/campaign_update_params.rb +57 -0
  31. data/lib/sentdm/models/brands/messaging_use_case_us.rb +28 -0
  32. data/lib/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rb +30 -0
  33. data/lib/sentdm/models/brands/tcr_campaign_with_use_cases.rb +236 -0
  34. data/lib/sentdm/models/contact.rb +122 -0
  35. data/lib/sentdm/models/contact_create_params.rb +41 -0
  36. data/lib/sentdm/models/contact_delete_params.rb +34 -0
  37. data/lib/sentdm/models/contact_list_params.rb +28 -5
  38. data/lib/sentdm/models/contact_list_response.rb +46 -21
  39. data/lib/sentdm/models/{contact_retrieve_id_params.rb → contact_retrieve_params.rb} +3 -5
  40. data/lib/sentdm/models/contact_update_params.rb +56 -0
  41. data/lib/sentdm/models/destination_country.rb +21 -0
  42. data/lib/sentdm/models/{number_lookup_retrieve_params.rb → lookup_retrieve_phone_info_params.rb} +2 -2
  43. data/lib/sentdm/models/lookup_retrieve_phone_info_response.rb +104 -0
  44. data/lib/sentdm/models/me_retrieve_params.rb +14 -0
  45. data/lib/sentdm/models/me_retrieve_response.rb +200 -0
  46. data/lib/sentdm/models/message_retrieve_activities_params.rb +20 -0
  47. data/lib/sentdm/models/message_retrieve_activities_response.rb +103 -0
  48. data/lib/sentdm/models/message_retrieve_status_params.rb +20 -0
  49. data/lib/sentdm/models/message_retrieve_status_response.rb +237 -0
  50. data/lib/sentdm/models/message_send_params.rb +88 -0
  51. data/lib/sentdm/models/message_send_response.rb +123 -0
  52. data/lib/sentdm/models/mutation_request.rb +20 -0
  53. data/lib/sentdm/models/pagination_meta.rb +80 -0
  54. data/lib/sentdm/models/profile_complete_params.rb +48 -0
  55. data/lib/sentdm/models/profile_complete_response.rb +8 -0
  56. data/lib/sentdm/models/profile_create_params.rb +122 -0
  57. data/lib/sentdm/models/profile_delete_params.rb +41 -0
  58. data/lib/sentdm/models/profile_detail.rb +200 -0
  59. data/lib/sentdm/models/profile_list_params.rb +14 -0
  60. data/lib/sentdm/models/profile_list_response.rb +57 -0
  61. data/lib/sentdm/models/profile_retrieve_params.rb +20 -0
  62. data/lib/sentdm/models/profile_settings.rb +66 -0
  63. data/lib/sentdm/models/profile_update_params.rb +176 -0
  64. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rb +34 -0
  65. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rb +40 -0
  66. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rb +38 -0
  67. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rb +81 -0
  68. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rb +34 -0
  69. data/lib/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rb +39 -0
  70. data/lib/sentdm/models/tcr_brand_relationship.rb +18 -0
  71. data/lib/sentdm/models/tcr_vertical.rb +36 -0
  72. data/lib/sentdm/models/template.rb +90 -0
  73. data/lib/sentdm/models/template_create_params.rb +40 -19
  74. data/lib/sentdm/models/template_definition.rb +15 -255
  75. data/lib/sentdm/models/template_delete_params.rb +29 -1
  76. data/lib/sentdm/models/template_list_params.rb +9 -10
  77. data/lib/sentdm/models/template_list_response.rb +46 -21
  78. data/lib/sentdm/models/template_retrieve_params.rb +7 -1
  79. data/lib/sentdm/models/template_update_params.rb +80 -0
  80. data/lib/sentdm/models/user_invite_params.rb +57 -0
  81. data/lib/sentdm/models/user_list_params.rb +14 -0
  82. data/lib/sentdm/models/user_list_response.rb +57 -0
  83. data/lib/sentdm/models/user_remove_params.rb +41 -0
  84. data/lib/sentdm/models/user_response.rb +82 -0
  85. data/lib/sentdm/models/user_retrieve_params.rb +20 -0
  86. data/lib/sentdm/models/user_update_role_params.rb +56 -0
  87. data/lib/sentdm/models/webhook_create_params.rb +68 -0
  88. data/lib/sentdm/models/webhook_delete_params.rb +20 -0
  89. data/lib/sentdm/models/webhook_list_event_types_params.rb +14 -0
  90. data/lib/sentdm/models/webhook_list_event_types_response.rb +85 -0
  91. data/lib/sentdm/models/webhook_list_events_params.rb +38 -0
  92. data/lib/sentdm/models/webhook_list_events_response.rb +135 -0
  93. data/lib/sentdm/models/webhook_list_params.rb +38 -0
  94. data/lib/sentdm/models/webhook_list_response.rb +64 -0
  95. data/lib/sentdm/models/webhook_response.rb +87 -0
  96. data/lib/sentdm/models/webhook_retrieve_params.rb +20 -0
  97. data/lib/sentdm/models/webhook_rotate_secret_params.rb +36 -0
  98. data/lib/sentdm/models/webhook_rotate_secret_response.rb +56 -0
  99. data/lib/sentdm/models/webhook_test_params.rb +47 -0
  100. data/lib/sentdm/models/webhook_test_response.rb +62 -0
  101. data/lib/sentdm/models/webhook_toggle_status_params.rb +47 -0
  102. data/lib/sentdm/models/webhook_update_params.rb +75 -0
  103. data/lib/sentdm/models.rb +124 -10
  104. data/lib/sentdm/resources/brands/campaigns.rb +145 -0
  105. data/lib/sentdm/resources/brands.rb +130 -0
  106. data/lib/sentdm/resources/contacts.rb +113 -38
  107. data/lib/sentdm/resources/lookup.rb +35 -0
  108. data/lib/sentdm/resources/me.rb +35 -0
  109. data/lib/sentdm/resources/messages.rb +43 -77
  110. data/lib/sentdm/resources/profiles.rb +255 -0
  111. data/lib/sentdm/resources/templates.rb +97 -46
  112. data/lib/sentdm/resources/users.rb +159 -0
  113. data/lib/sentdm/resources/webhooks.rb +298 -0
  114. data/lib/sentdm/version.rb +1 -1
  115. data/lib/sentdm.rb +94 -12
  116. data/rbi/sentdm/client.rbi +28 -25
  117. data/rbi/sentdm/internal/util.rbi +20 -0
  118. data/rbi/sentdm/models/api_error.rbi +66 -0
  119. data/rbi/sentdm/models/api_meta.rbi +69 -0
  120. data/rbi/sentdm/models/api_response_brand_with_kyc.rbi +74 -0
  121. data/rbi/sentdm/models/api_response_contact.rbi +74 -0
  122. data/rbi/sentdm/models/api_response_of_profile_detail.rbi +74 -0
  123. data/rbi/sentdm/models/api_response_of_user.rbi +74 -0
  124. data/rbi/sentdm/models/api_response_template.rbi +74 -0
  125. data/rbi/sentdm/models/api_response_webhook.rbi +74 -0
  126. data/rbi/sentdm/models/brand_create_params.rbi +68 -0
  127. data/rbi/sentdm/models/brand_data.rbi +266 -0
  128. data/rbi/sentdm/models/brand_delete_params.rbi +68 -0
  129. data/rbi/sentdm/models/{message_retrieve_params.rbi → brand_list_params.rbi} +2 -2
  130. data/rbi/sentdm/models/brand_list_response.rbi +71 -0
  131. data/rbi/sentdm/models/brand_update_params.rbi +74 -0
  132. data/rbi/sentdm/models/brand_with_kyc.rbi +398 -0
  133. data/rbi/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rbi +83 -0
  134. data/rbi/sentdm/models/brands/base_dto.rbi +53 -0
  135. data/rbi/sentdm/models/brands/campaign_create_params.rbi +79 -0
  136. data/rbi/sentdm/models/brands/campaign_data.rbi +148 -0
  137. data/rbi/sentdm/models/brands/campaign_delete_params.rbi +84 -0
  138. data/rbi/sentdm/models/brands/campaign_list_params.rbi +37 -0
  139. data/rbi/sentdm/models/brands/campaign_list_response.rbi +82 -0
  140. data/rbi/sentdm/models/brands/campaign_update_params.rbi +85 -0
  141. data/rbi/sentdm/models/brands/messaging_use_case_us.rbi +69 -0
  142. data/rbi/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbi +52 -0
  143. data/rbi/sentdm/models/brands/tcr_campaign_with_use_cases.rbi +404 -0
  144. data/rbi/sentdm/models/contact.rbi +179 -0
  145. data/rbi/sentdm/models/contact_create_params.rbi +68 -0
  146. data/rbi/sentdm/models/contact_delete_params.rbi +68 -0
  147. data/rbi/sentdm/models/contact_list_params.rbi +26 -4
  148. data/rbi/sentdm/models/contact_list_response.rbi +91 -37
  149. data/rbi/sentdm/models/{contact_retrieve_id_params.rbi → contact_retrieve_params.rbi} +3 -8
  150. data/rbi/sentdm/models/contact_update_params.rbi +79 -0
  151. data/rbi/sentdm/models/destination_country.rbi +32 -0
  152. data/rbi/sentdm/models/{number_lookup_retrieve_params.rbi → lookup_retrieve_phone_info_params.rbi} +5 -2
  153. data/rbi/sentdm/models/lookup_retrieve_phone_info_response.rbi +183 -0
  154. data/rbi/sentdm/models/me_retrieve_params.rbi +27 -0
  155. data/rbi/sentdm/models/me_retrieve_response.rbi +314 -0
  156. data/rbi/sentdm/models/message_retrieve_activities_params.rbi +38 -0
  157. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +234 -0
  158. data/rbi/sentdm/models/message_retrieve_status_params.rbi +35 -0
  159. data/rbi/sentdm/models/message_retrieve_status_response.rbi +434 -0
  160. data/rbi/sentdm/models/message_send_params.rbi +143 -0
  161. data/rbi/sentdm/models/message_send_response.rbi +231 -0
  162. data/rbi/sentdm/models/mutation_request.rbi +32 -0
  163. data/rbi/sentdm/models/pagination_meta.rbi +135 -0
  164. data/rbi/sentdm/models/profile_complete_params.rbi +71 -0
  165. data/rbi/sentdm/models/profile_complete_response.rbi +8 -0
  166. data/rbi/sentdm/models/profile_create_params.rbi +156 -0
  167. data/rbi/sentdm/models/profile_delete_params.rbi +65 -0
  168. data/rbi/sentdm/models/profile_detail.rbi +273 -0
  169. data/rbi/sentdm/models/profile_list_params.rbi +27 -0
  170. data/rbi/sentdm/models/profile_list_response.rbi +111 -0
  171. data/rbi/sentdm/models/profile_retrieve_params.rbi +35 -0
  172. data/rbi/sentdm/models/profile_settings.rbi +86 -0
  173. data/rbi/sentdm/models/profile_update_params.rbi +202 -0
  174. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbi +56 -0
  175. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbi +76 -0
  176. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbi +79 -0
  177. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbi +104 -0
  178. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbi +60 -0
  179. data/rbi/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbi +62 -0
  180. data/rbi/sentdm/models/tcr_brand_relationship.rbi +30 -0
  181. data/rbi/sentdm/models/tcr_vertical.rbi +41 -0
  182. data/rbi/sentdm/models/template.rbi +129 -0
  183. data/rbi/sentdm/models/template_create_params.rbi +47 -23
  184. data/rbi/sentdm/models/template_definition.rbi +74 -405
  185. data/rbi/sentdm/models/template_delete_params.rbi +42 -5
  186. data/rbi/sentdm/models/template_list_params.rbi +8 -10
  187. data/rbi/sentdm/models/template_list_response.rbi +91 -37
  188. data/rbi/sentdm/models/template_retrieve_params.rbi +13 -5
  189. data/rbi/sentdm/models/template_update_params.rbi +111 -0
  190. data/rbi/sentdm/models/user_invite_params.rbi +90 -0
  191. data/rbi/sentdm/models/user_list_params.rbi +27 -0
  192. data/rbi/sentdm/models/user_list_response.rbi +111 -0
  193. data/rbi/sentdm/models/user_remove_params.rbi +65 -0
  194. data/rbi/sentdm/models/user_response.rbi +118 -0
  195. data/rbi/sentdm/models/user_retrieve_params.rbi +35 -0
  196. data/rbi/sentdm/models/user_update_role_params.rbi +85 -0
  197. data/rbi/sentdm/models/webhook_create_params.rbi +102 -0
  198. data/rbi/sentdm/models/webhook_delete_params.rbi +35 -0
  199. data/rbi/sentdm/models/webhook_list_event_types_params.rbi +27 -0
  200. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +206 -0
  201. data/rbi/sentdm/models/webhook_list_events_params.rbi +53 -0
  202. data/rbi/sentdm/models/webhook_list_events_response.rbi +263 -0
  203. data/rbi/sentdm/models/webhook_list_params.rbi +59 -0
  204. data/rbi/sentdm/models/webhook_list_response.rbi +126 -0
  205. data/rbi/sentdm/models/webhook_response.rbi +134 -0
  206. data/rbi/sentdm/models/webhook_retrieve_params.rbi +35 -0
  207. data/rbi/sentdm/models/webhook_rotate_secret_params.rbi +72 -0
  208. data/rbi/sentdm/models/webhook_rotate_secret_response.rbi +112 -0
  209. data/rbi/sentdm/models/webhook_test_params.rbi +72 -0
  210. data/rbi/sentdm/models/webhook_test_response.rbi +111 -0
  211. data/rbi/sentdm/models/webhook_toggle_status_params.rbi +72 -0
  212. data/rbi/sentdm/models/webhook_update_params.rbi +108 -0
  213. data/rbi/sentdm/models.rbi +125 -10
  214. data/rbi/sentdm/resources/brands/campaigns.rbi +109 -0
  215. data/rbi/sentdm/resources/brands.rbi +95 -0
  216. data/rbi/sentdm/resources/contacts.rbi +90 -26
  217. data/rbi/sentdm/resources/lookup.rbi +24 -0
  218. data/rbi/sentdm/resources/me.rbi +24 -0
  219. data/rbi/sentdm/resources/messages.rbi +42 -60
  220. data/rbi/sentdm/resources/profiles.rbi +239 -0
  221. data/rbi/sentdm/resources/templates.rbi +95 -41
  222. data/rbi/sentdm/resources/users.rbi +117 -0
  223. data/rbi/sentdm/resources/webhooks.rbi +219 -0
  224. data/sig/sentdm/client.rbs +11 -8
  225. data/sig/sentdm/internal/util.rbs +10 -0
  226. data/sig/sentdm/models/api_error.rbs +39 -0
  227. data/sig/sentdm/models/api_meta.rbs +41 -0
  228. data/sig/sentdm/models/api_response_brand_with_kyc.rbs +39 -0
  229. data/sig/sentdm/models/api_response_contact.rbs +39 -0
  230. data/sig/sentdm/models/api_response_of_profile_detail.rbs +39 -0
  231. data/sig/sentdm/models/api_response_of_user.rbs +39 -0
  232. data/sig/sentdm/models/api_response_template.rbs +39 -0
  233. data/sig/sentdm/models/api_response_webhook.rbs +39 -0
  234. data/sig/sentdm/models/brand_create_params.rbs +36 -0
  235. data/sig/sentdm/models/brand_data.rbs +164 -0
  236. data/sig/sentdm/models/brand_delete_params.rbs +36 -0
  237. data/sig/sentdm/models/brand_list_params.rbs +14 -0
  238. data/sig/sentdm/models/brand_list_response.rbs +39 -0
  239. data/sig/sentdm/models/brand_update_params.rbs +45 -0
  240. data/sig/sentdm/models/brand_with_kyc.rbs +237 -0
  241. data/sig/sentdm/models/brands/api_response_tcr_campaign_with_use_cases.rbs +41 -0
  242. data/sig/sentdm/models/brands/base_dto.rbs +27 -0
  243. data/sig/sentdm/models/brands/campaign_create_params.rbs +47 -0
  244. data/sig/sentdm/models/brands/campaign_data.rbs +82 -0
  245. data/sig/sentdm/models/brands/campaign_delete_params.rbs +46 -0
  246. data/sig/sentdm/models/brands/campaign_list_params.rbs +25 -0
  247. data/sig/sentdm/models/brands/campaign_list_response.rbs +41 -0
  248. data/sig/sentdm/models/brands/campaign_update_params.rbs +52 -0
  249. data/sig/sentdm/models/brands/messaging_use_case_us.rbs +40 -0
  250. data/sig/sentdm/models/brands/sent_dm_services_endpoints_customer_ap_iv3_contracts_requests_campaigns_campaign_use_case_data.rbs +27 -0
  251. data/sig/sentdm/models/brands/tcr_campaign_with_use_cases.rbs +285 -0
  252. data/sig/sentdm/models/{contact_list_item.rbs → contact.rbs} +31 -5
  253. data/sig/sentdm/models/contact_create_params.rbs +38 -0
  254. data/sig/sentdm/models/contact_delete_params.rbs +36 -0
  255. data/sig/sentdm/models/contact_list_params.rbs +19 -1
  256. data/sig/sentdm/models/contact_list_response.rbs +44 -31
  257. data/sig/sentdm/models/{contact_retrieve_id_params.rbs → contact_retrieve_params.rbs} +2 -2
  258. data/sig/sentdm/models/contact_update_params.rbs +50 -0
  259. data/sig/sentdm/models/destination_country.rbs +19 -0
  260. data/sig/sentdm/models/{number_lookup_retrieve_params.rbs → lookup_retrieve_phone_info_params.rbs} +2 -2
  261. data/sig/sentdm/models/lookup_retrieve_phone_info_response.rbs +102 -0
  262. data/sig/sentdm/models/me_retrieve_params.rbs +14 -0
  263. data/sig/sentdm/models/me_retrieve_response.rbs +162 -0
  264. data/sig/sentdm/models/message_retrieve_activities_params.rbs +20 -0
  265. data/sig/sentdm/models/message_retrieve_activities_response.rbs +105 -0
  266. data/sig/sentdm/models/message_retrieve_status_params.rbs +20 -0
  267. data/sig/sentdm/models/message_retrieve_status_response.rbs +224 -0
  268. data/sig/sentdm/models/message_send_params.rbs +79 -0
  269. data/sig/sentdm/models/message_send_response.rbs +108 -0
  270. data/sig/sentdm/models/mutation_request.rbs +15 -0
  271. data/sig/sentdm/models/pagination_meta.rbs +67 -0
  272. data/sig/sentdm/models/profile_complete_params.rbs +45 -0
  273. data/sig/sentdm/models/profile_complete_response.rbs +5 -0
  274. data/sig/sentdm/models/profile_create_params.rbs +96 -0
  275. data/sig/sentdm/models/profile_delete_params.rbs +36 -0
  276. data/sig/sentdm/models/profile_detail.rbs +168 -0
  277. data/sig/sentdm/models/profile_list_params.rbs +14 -0
  278. data/sig/sentdm/models/profile_list_response.rbs +53 -0
  279. data/sig/sentdm/models/{contact_retrieve_by_phone_params.rbs → profile_retrieve_params.rbs} +6 -6
  280. data/sig/sentdm/models/profile_settings.rbs +50 -0
  281. data/sig/sentdm/models/profile_update_params.rbs +127 -0
  282. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_authentication_config.rbs +24 -0
  283. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_body.rbs +30 -0
  284. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button.rbs +38 -0
  285. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_button_props.rbs +75 -0
  286. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_footer.rbs +32 -0
  287. data/sig/sentdm/models/sent_dm_services_common_contracts_poc_os_template_header.rbs +32 -0
  288. data/sig/sentdm/models/tcr_brand_relationship.rbs +22 -0
  289. data/sig/sentdm/models/tcr_vertical.rbs +58 -0
  290. data/sig/sentdm/models/{template_response_v2.rbs → template.rbs} +18 -31
  291. data/sig/sentdm/models/template_create_params.rbs +29 -6
  292. data/sig/sentdm/models/template_definition.rbs +20 -233
  293. data/sig/sentdm/models/template_delete_params.rbs +22 -3
  294. data/sig/sentdm/models/template_list_response.rbs +44 -31
  295. data/sig/sentdm/models/template_retrieve_params.rbs +8 -3
  296. data/sig/sentdm/models/template_update_params.rbs +67 -0
  297. data/sig/sentdm/models/user_invite_params.rbs +56 -0
  298. data/sig/sentdm/models/user_list_params.rbs +14 -0
  299. data/sig/sentdm/models/user_list_response.rbs +53 -0
  300. data/sig/sentdm/models/user_remove_params.rbs +36 -0
  301. data/sig/sentdm/models/user_response.rbs +72 -0
  302. data/sig/sentdm/models/user_retrieve_params.rbs +23 -0
  303. data/sig/sentdm/models/user_update_role_params.rbs +54 -0
  304. data/sig/sentdm/models/webhook_create_params.rbs +70 -0
  305. data/sig/sentdm/models/webhook_delete_params.rbs +20 -0
  306. data/sig/sentdm/models/{message_retrieve_params.rbs → webhook_list_event_types_params.rbs} +2 -2
  307. data/sig/sentdm/models/webhook_list_event_types_response.rbs +98 -0
  308. data/sig/sentdm/models/webhook_list_events_params.rbs +36 -0
  309. data/sig/sentdm/models/webhook_list_events_response.rbs +146 -0
  310. data/sig/sentdm/models/webhook_list_params.rbs +36 -0
  311. data/sig/sentdm/models/webhook_list_response.rbs +67 -0
  312. data/sig/sentdm/models/webhook_response.rbs +98 -0
  313. data/sig/sentdm/models/webhook_retrieve_params.rbs +20 -0
  314. data/sig/sentdm/models/webhook_rotate_secret_params.rbs +46 -0
  315. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +51 -0
  316. data/sig/sentdm/models/webhook_test_params.rbs +47 -0
  317. data/sig/sentdm/models/webhook_test_response.rbs +55 -0
  318. data/sig/sentdm/models/webhook_toggle_status_params.rbs +42 -0
  319. data/sig/sentdm/models/webhook_update_params.rbs +75 -0
  320. data/sig/sentdm/models.rbs +118 -10
  321. data/sig/sentdm/resources/brands/campaigns.rbs +38 -0
  322. data/sig/sentdm/resources/brands.rbs +34 -0
  323. data/sig/sentdm/resources/contacts.rbs +28 -8
  324. data/sig/sentdm/resources/lookup.rbs +12 -0
  325. data/sig/sentdm/resources/{number_lookup.rbs → me.rbs} +2 -3
  326. data/sig/sentdm/resources/messages.rbs +12 -18
  327. data/sig/sentdm/resources/profiles.rbs +72 -0
  328. data/sig/sentdm/resources/templates.rbs +24 -4
  329. data/sig/sentdm/resources/users.rbs +41 -0
  330. data/sig/sentdm/resources/webhooks.rbs +80 -0
  331. metadata +284 -38
  332. data/lib/sentdm/models/contact_list_item.rb +0 -96
  333. data/lib/sentdm/models/contact_retrieve_by_phone_params.rb +0 -22
  334. data/lib/sentdm/models/message_retrieve_response.rb +0 -227
  335. data/lib/sentdm/models/message_send_quick_message_params.rb +0 -34
  336. data/lib/sentdm/models/message_send_to_contact_params.rb +0 -46
  337. data/lib/sentdm/models/message_send_to_phone_params.rb +0 -47
  338. data/lib/sentdm/models/number_lookup_retrieve_response.rb +0 -83
  339. data/lib/sentdm/models/template_response_v2.rb +0 -100
  340. data/lib/sentdm/resources/number_lookup.rb +0 -37
  341. data/rbi/sentdm/models/contact_list_item.rbi +0 -144
  342. data/rbi/sentdm/models/contact_retrieve_by_phone_params.rbi +0 -40
  343. data/rbi/sentdm/models/message_retrieve_response.rbi +0 -376
  344. data/rbi/sentdm/models/message_send_quick_message_params.rbi +0 -56
  345. data/rbi/sentdm/models/message_send_to_contact_params.rbi +0 -63
  346. data/rbi/sentdm/models/message_send_to_phone_params.rbi +0 -65
  347. data/rbi/sentdm/models/number_lookup_retrieve_response.rbi +0 -132
  348. data/rbi/sentdm/models/template_response_v2.rbi +0 -149
  349. data/rbi/sentdm/resources/number_lookup.rbi +0 -24
  350. data/sig/sentdm/models/message_retrieve_response.rbs +0 -188
  351. data/sig/sentdm/models/message_send_quick_message_params.rbs +0 -28
  352. data/sig/sentdm/models/message_send_to_contact_params.rbs +0 -36
  353. data/sig/sentdm/models/message_send_to_phone_params.rbs +0 -36
  354. data/sig/sentdm/models/number_lookup_retrieve_response.rbs +0 -78
@@ -0,0 +1,57 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Brands
6
+ # @see Sentdm::Resources::Brands::Campaigns#update
7
+ class CampaignUpdateParams < Sentdm::Internal::Type::BaseModel
8
+ extend Sentdm::Internal::Type::RequestParameters::Converter
9
+ include Sentdm::Internal::Type::RequestParameters
10
+
11
+ # @!attribute brand_id
12
+ #
13
+ # @return [String]
14
+ required :brand_id, String
15
+
16
+ # @!attribute campaign_id
17
+ #
18
+ # @return [String]
19
+ required :campaign_id, String
20
+
21
+ # @!attribute campaign
22
+ # Campaign data
23
+ #
24
+ # @return [Sentdm::Models::Brands::CampaignData]
25
+ required :campaign, -> { Sentdm::Brands::CampaignData }
26
+
27
+ # @!attribute test_mode
28
+ # Test mode flag - when true, the operation is simulated without side effects
29
+ # Useful for testing integrations without actual execution
30
+ #
31
+ # @return [Boolean, nil]
32
+ optional :test_mode, Sentdm::Internal::Type::Boolean
33
+
34
+ # @!attribute idempotency_key
35
+ #
36
+ # @return [String, nil]
37
+ optional :idempotency_key, String
38
+
39
+ # @!method initialize(brand_id:, campaign_id:, campaign:, test_mode: nil, idempotency_key: nil, request_options: {})
40
+ # Some parameter documentations has been truncated, see
41
+ # {Sentdm::Models::Brands::CampaignUpdateParams} for more details.
42
+ #
43
+ # @param brand_id [String]
44
+ #
45
+ # @param campaign_id [String]
46
+ #
47
+ # @param campaign [Sentdm::Models::Brands::CampaignData] Campaign data
48
+ #
49
+ # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
50
+ #
51
+ # @param idempotency_key [String]
52
+ #
53
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,28 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Brands
6
+ module MessagingUseCaseUs
7
+ extend Sentdm::Internal::Type::Enum
8
+
9
+ MARKETING = :MARKETING
10
+ ACCOUNT_NOTIFICATION = :ACCOUNT_NOTIFICATION
11
+ CUSTOMER_CARE = :CUSTOMER_CARE
12
+ FRAUD_ALERT = :FRAUD_ALERT
13
+ TWO_FA = :TWO_FA
14
+ DELIVERY_NOTIFICATION = :DELIVERY_NOTIFICATION
15
+ SECURITY_ALERT = :SECURITY_ALERT
16
+ M2_M = :M2M
17
+ MIXED = :MIXED
18
+ HIGHER_EDUCATION = :HIGHER_EDUCATION
19
+ POLLING_VOTING = :POLLING_VOTING
20
+ PUBLIC_SERVICE_ANNOUNCEMENT = :PUBLIC_SERVICE_ANNOUNCEMENT
21
+ LOW_VOLUME = :LOW_VOLUME
22
+
23
+ # @!method self.values
24
+ # @return [Array<Symbol>]
25
+ end
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,30 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Brands
6
+ class SentDmServicesEndpointsCustomerApIv3ContractsRequestsCampaignsCampaignUseCaseData < Sentdm::Internal::Type::BaseModel
7
+ # @!attribute messaging_use_case_us
8
+ # US messaging use case category
9
+ #
10
+ # @return [Symbol, Sentdm::Models::Brands::MessagingUseCaseUs]
11
+ required :messaging_use_case_us,
12
+ enum: -> { Sentdm::Brands::MessagingUseCaseUs },
13
+ api_name: :messagingUseCaseUs
14
+
15
+ # @!attribute sample_messages
16
+ # Sample messages for this use case (1-5 messages, max 1024 characters each)
17
+ #
18
+ # @return [Array<String>]
19
+ required :sample_messages, Sentdm::Internal::Type::ArrayOf[String], api_name: :sampleMessages
20
+
21
+ # @!method initialize(messaging_use_case_us:, sample_messages:)
22
+ # Campaign use case with sample messages
23
+ #
24
+ # @param messaging_use_case_us [Symbol, Sentdm::Models::Brands::MessagingUseCaseUs] US messaging use case category
25
+ #
26
+ # @param sample_messages [Array<String>] Sample messages for this use case (1-5 messages, max 1024 characters each)
27
+ end
28
+ end
29
+ end
30
+ end
@@ -0,0 +1,236 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Brands
6
+ class TcrCampaignWithUseCases < Sentdm::Models::Brands::BaseDto
7
+ # @!attribute billed_date
8
+ #
9
+ # @return [Time, nil]
10
+ optional :billed_date, Time, api_name: :billedDate, nil?: true
11
+
12
+ # @!attribute brand_id
13
+ #
14
+ # @return [String, nil]
15
+ optional :brand_id, String, api_name: :brandId, nil?: true
16
+
17
+ # @!attribute cost
18
+ #
19
+ # @return [Float, nil]
20
+ optional :cost, Float, nil?: true
21
+
22
+ # @!attribute csp_id
23
+ #
24
+ # @return [String, nil]
25
+ optional :csp_id, String, api_name: :cspId, nil?: true
26
+
27
+ # @!attribute customer_id
28
+ #
29
+ # @return [String, nil]
30
+ optional :customer_id, String, api_name: :customerId
31
+
32
+ # @!attribute description
33
+ #
34
+ # @return [String, nil]
35
+ optional :description, String
36
+
37
+ # @!attribute help_keywords
38
+ #
39
+ # @return [String, nil]
40
+ optional :help_keywords, String, api_name: :helpKeywords, nil?: true
41
+
42
+ # @!attribute help_message
43
+ #
44
+ # @return [String, nil]
45
+ optional :help_message, String, api_name: :helpMessage, nil?: true
46
+
47
+ # @!attribute kyc_submission_form_id
48
+ #
49
+ # @return [String, nil]
50
+ optional :kyc_submission_form_id, String, api_name: :kycSubmissionFormId, nil?: true
51
+
52
+ # @!attribute message_flow
53
+ #
54
+ # @return [String, nil]
55
+ optional :message_flow, String, api_name: :messageFlow, nil?: true
56
+
57
+ # @!attribute name
58
+ #
59
+ # @return [String, nil]
60
+ optional :name, String
61
+
62
+ # @!attribute optin_keywords
63
+ #
64
+ # @return [String, nil]
65
+ optional :optin_keywords, String, api_name: :optinKeywords, nil?: true
66
+
67
+ # @!attribute optin_message
68
+ #
69
+ # @return [String, nil]
70
+ optional :optin_message, String, api_name: :optinMessage, nil?: true
71
+
72
+ # @!attribute optout_keywords
73
+ #
74
+ # @return [String, nil]
75
+ optional :optout_keywords, String, api_name: :optoutKeywords, nil?: true
76
+
77
+ # @!attribute optout_message
78
+ #
79
+ # @return [String, nil]
80
+ optional :optout_message, String, api_name: :optoutMessage, nil?: true
81
+
82
+ # @!attribute privacy_policy_link
83
+ #
84
+ # @return [String, nil]
85
+ optional :privacy_policy_link, String, api_name: :privacyPolicyLink, nil?: true
86
+
87
+ # @!attribute reseller_id
88
+ #
89
+ # @return [String, nil]
90
+ optional :reseller_id, String, api_name: :resellerId, nil?: true
91
+
92
+ # @!attribute sharing_status
93
+ #
94
+ # @return [Symbol, Sentdm::Models::Brands::TcrCampaignWithUseCases::SharingStatus, nil]
95
+ optional :sharing_status,
96
+ enum: -> { Sentdm::Brands::TcrCampaignWithUseCases::SharingStatus },
97
+ api_name: :sharingStatus,
98
+ nil?: true
99
+
100
+ # @!attribute status
101
+ #
102
+ # @return [Symbol, Sentdm::Models::Brands::TcrCampaignWithUseCases::Status, nil]
103
+ optional :status, enum: -> { Sentdm::Brands::TcrCampaignWithUseCases::Status }, nil?: true
104
+
105
+ # @!attribute submitted_at
106
+ #
107
+ # @return [Time, nil]
108
+ optional :submitted_at, Time, api_name: :submittedAt, nil?: true
109
+
110
+ # @!attribute submitted_to_tcr
111
+ #
112
+ # @return [Boolean, nil]
113
+ optional :submitted_to_tcr, Sentdm::Internal::Type::Boolean, api_name: :submittedToTCR
114
+
115
+ # @!attribute tcr_campaign_id
116
+ #
117
+ # @return [String, nil]
118
+ optional :tcr_campaign_id, String, api_name: :tcrCampaignId, nil?: true
119
+
120
+ # @!attribute tcr_sync_error
121
+ #
122
+ # @return [String, nil]
123
+ optional :tcr_sync_error, String, api_name: :tcrSyncError, nil?: true
124
+
125
+ # @!attribute telnyx_campaign_id
126
+ #
127
+ # @return [String, nil]
128
+ optional :telnyx_campaign_id, String, api_name: :telnyxCampaignId, nil?: true
129
+
130
+ # @!attribute terms_and_conditions_link
131
+ #
132
+ # @return [String, nil]
133
+ optional :terms_and_conditions_link, String, api_name: :termsAndConditionsLink, nil?: true
134
+
135
+ # @!attribute type
136
+ #
137
+ # @return [String, nil]
138
+ optional :type, String
139
+
140
+ # @!attribute upstream_cnp_id
141
+ #
142
+ # @return [String, nil]
143
+ optional :upstream_cnp_id, String, api_name: :upstreamCnpId, nil?: true
144
+
145
+ # @!attribute use_cases
146
+ #
147
+ # @return [Array<Sentdm::Models::Brands::TcrCampaignWithUseCases::UseCase>, nil]
148
+ optional :use_cases,
149
+ -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Brands::TcrCampaignWithUseCases::UseCase] },
150
+ api_name: :useCases
151
+
152
+ # @!method initialize(billed_date: nil, brand_id: nil, cost: nil, csp_id: nil, customer_id: nil, description: nil, help_keywords: nil, help_message: nil, kyc_submission_form_id: nil, message_flow: nil, name: nil, optin_keywords: nil, optin_message: nil, optout_keywords: nil, optout_message: nil, privacy_policy_link: nil, reseller_id: nil, sharing_status: nil, status: nil, submitted_at: nil, submitted_to_tcr: nil, tcr_campaign_id: nil, tcr_sync_error: nil, telnyx_campaign_id: nil, terms_and_conditions_link: nil, type: nil, upstream_cnp_id: nil, use_cases: nil)
153
+ # @param billed_date [Time, nil]
154
+ # @param brand_id [String, nil]
155
+ # @param cost [Float, nil]
156
+ # @param csp_id [String, nil]
157
+ # @param customer_id [String]
158
+ # @param description [String]
159
+ # @param help_keywords [String, nil]
160
+ # @param help_message [String, nil]
161
+ # @param kyc_submission_form_id [String, nil]
162
+ # @param message_flow [String, nil]
163
+ # @param name [String]
164
+ # @param optin_keywords [String, nil]
165
+ # @param optin_message [String, nil]
166
+ # @param optout_keywords [String, nil]
167
+ # @param optout_message [String, nil]
168
+ # @param privacy_policy_link [String, nil]
169
+ # @param reseller_id [String, nil]
170
+ # @param sharing_status [Symbol, Sentdm::Models::Brands::TcrCampaignWithUseCases::SharingStatus, nil]
171
+ # @param status [Symbol, Sentdm::Models::Brands::TcrCampaignWithUseCases::Status, nil]
172
+ # @param submitted_at [Time, nil]
173
+ # @param submitted_to_tcr [Boolean]
174
+ # @param tcr_campaign_id [String, nil]
175
+ # @param tcr_sync_error [String, nil]
176
+ # @param telnyx_campaign_id [String, nil]
177
+ # @param terms_and_conditions_link [String, nil]
178
+ # @param type [String]
179
+ # @param upstream_cnp_id [String, nil]
180
+ # @param use_cases [Array<Sentdm::Models::Brands::TcrCampaignWithUseCases::UseCase>]
181
+
182
+ module SharingStatus
183
+ extend Sentdm::Internal::Type::Enum
184
+
185
+ PENDING = :PENDING
186
+ ACCEPTED = :ACCEPTED
187
+ DECLINED = :DECLINED
188
+
189
+ # @!method self.values
190
+ # @return [Array<Symbol>]
191
+ end
192
+
193
+ module Status
194
+ extend Sentdm::Internal::Type::Enum
195
+
196
+ SENT_CREATED = :SENT_CREATED
197
+ ACTIVE = :ACTIVE
198
+ EXPIRED = :EXPIRED
199
+
200
+ # @!method self.values
201
+ # @return [Array<Symbol>]
202
+ end
203
+
204
+ class UseCase < Sentdm::Models::Brands::BaseDto
205
+ # @!attribute campaign_id
206
+ #
207
+ # @return [String, nil]
208
+ optional :campaign_id, String, api_name: :campaignId
209
+
210
+ # @!attribute customer_id
211
+ #
212
+ # @return [String, nil]
213
+ optional :customer_id, String, api_name: :customerId
214
+
215
+ # @!attribute messaging_use_case_us
216
+ #
217
+ # @return [Symbol, Sentdm::Models::Brands::MessagingUseCaseUs, nil]
218
+ optional :messaging_use_case_us,
219
+ enum: -> { Sentdm::Brands::MessagingUseCaseUs },
220
+ api_name: :messagingUseCaseUs
221
+
222
+ # @!attribute sample_messages
223
+ #
224
+ # @return [Array<String>, nil]
225
+ optional :sample_messages, Sentdm::Internal::Type::ArrayOf[String], api_name: :sampleMessages
226
+
227
+ # @!method initialize(campaign_id: nil, customer_id: nil, messaging_use_case_us: nil, sample_messages: nil)
228
+ # @param campaign_id [String]
229
+ # @param customer_id [String]
230
+ # @param messaging_use_case_us [Symbol, Sentdm::Models::Brands::MessagingUseCaseUs]
231
+ # @param sample_messages [Array<String>]
232
+ end
233
+ end
234
+ end
235
+ end
236
+ end
@@ -0,0 +1,122 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ class Contact < Sentdm::Internal::Type::BaseModel
6
+ # @!attribute id
7
+ # Unique identifier for the contact
8
+ #
9
+ # @return [String, nil]
10
+ optional :id, String
11
+
12
+ # @!attribute available_channels
13
+ # Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
14
+ #
15
+ # @return [String, nil]
16
+ optional :available_channels, String
17
+
18
+ # @!attribute country_code
19
+ # Country calling code (e.g., 1 for US/Canada)
20
+ #
21
+ # @return [String, nil]
22
+ optional :country_code, String
23
+
24
+ # @!attribute created_at
25
+ # When the contact was created
26
+ #
27
+ # @return [Time, nil]
28
+ optional :created_at, Time
29
+
30
+ # @!attribute default_channel
31
+ # Default messaging channel to use (e.g., "sms" or "whatsapp")
32
+ #
33
+ # @return [String, nil]
34
+ optional :default_channel, String
35
+
36
+ # @!attribute format_e164
37
+ # Phone number in E.164 format (e.g., +1234567890)
38
+ #
39
+ # @return [String, nil]
40
+ optional :format_e164, String
41
+
42
+ # @!attribute format_international
43
+ # Phone number in international format (e.g., +1 234-567-890)
44
+ #
45
+ # @return [String, nil]
46
+ optional :format_international, String
47
+
48
+ # @!attribute format_national
49
+ # Phone number in national format (e.g., (234) 567-890)
50
+ #
51
+ # @return [String, nil]
52
+ optional :format_national, String
53
+
54
+ # @!attribute format_rfc
55
+ # Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
56
+ #
57
+ # @return [String, nil]
58
+ optional :format_rfc, String
59
+
60
+ # @!attribute is_inherited
61
+ # Whether this is an inherited contact (read-only)
62
+ #
63
+ # @return [Boolean, nil]
64
+ optional :is_inherited, Sentdm::Internal::Type::Boolean
65
+
66
+ # @!attribute opt_out
67
+ # Whether the contact has opted out of messaging
68
+ #
69
+ # @return [Boolean, nil]
70
+ optional :opt_out, Sentdm::Internal::Type::Boolean
71
+
72
+ # @!attribute phone_number
73
+ # Phone number in original format
74
+ #
75
+ # @return [String, nil]
76
+ optional :phone_number, String
77
+
78
+ # @!attribute region_code
79
+ # ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
80
+ #
81
+ # @return [String, nil]
82
+ optional :region_code, String
83
+
84
+ # @!attribute updated_at
85
+ # When the contact was last updated
86
+ #
87
+ # @return [Time, nil]
88
+ optional :updated_at, Time, nil?: true
89
+
90
+ # @!method initialize(id: nil, available_channels: nil, country_code: nil, created_at: nil, default_channel: nil, format_e164: nil, format_international: nil, format_national: nil, format_rfc: nil, is_inherited: nil, opt_out: nil, phone_number: nil, region_code: nil, updated_at: nil)
91
+ # Contact response for v3 API Uses snake_case for JSON property names
92
+ #
93
+ # @param id [String] Unique identifier for the contact
94
+ #
95
+ # @param available_channels [String] Comma-separated list of available messaging channels (e.g., "sms,whatsapp")
96
+ #
97
+ # @param country_code [String] Country calling code (e.g., 1 for US/Canada)
98
+ #
99
+ # @param created_at [Time] When the contact was created
100
+ #
101
+ # @param default_channel [String] Default messaging channel to use (e.g., "sms" or "whatsapp")
102
+ #
103
+ # @param format_e164 [String] Phone number in E.164 format (e.g., +1234567890)
104
+ #
105
+ # @param format_international [String] Phone number in international format (e.g., +1 234-567-890)
106
+ #
107
+ # @param format_national [String] Phone number in national format (e.g., (234) 567-890)
108
+ #
109
+ # @param format_rfc [String] Phone number in RFC 3966 format (e.g., tel:+1-234-567-890)
110
+ #
111
+ # @param is_inherited [Boolean] Whether this is an inherited contact (read-only)
112
+ #
113
+ # @param opt_out [Boolean] Whether the contact has opted out of messaging
114
+ #
115
+ # @param phone_number [String] Phone number in original format
116
+ #
117
+ # @param region_code [String] ISO 3166-1 alpha-2 country code (e.g., US, CA, GB)
118
+ #
119
+ # @param updated_at [Time, nil] When the contact was last updated
120
+ end
121
+ end
122
+ end
@@ -0,0 +1,41 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Contacts#create
6
+ class ContactCreateParams < Sentdm::Internal::Type::BaseModel
7
+ extend Sentdm::Internal::Type::RequestParameters::Converter
8
+ include Sentdm::Internal::Type::RequestParameters
9
+
10
+ # @!attribute phone_number
11
+ # Phone number of the contact to create
12
+ #
13
+ # @return [String, nil]
14
+ optional :phone_number, String
15
+
16
+ # @!attribute test_mode
17
+ # Test mode flag - when true, the operation is simulated without side effects
18
+ # Useful for testing integrations without actual execution
19
+ #
20
+ # @return [Boolean, nil]
21
+ optional :test_mode, Sentdm::Internal::Type::Boolean
22
+
23
+ # @!attribute idempotency_key
24
+ #
25
+ # @return [String, nil]
26
+ optional :idempotency_key, String
27
+
28
+ # @!method initialize(phone_number: nil, test_mode: nil, idempotency_key: nil, request_options: {})
29
+ # Some parameter documentations has been truncated, see
30
+ # {Sentdm::Models::ContactCreateParams} for more details.
31
+ #
32
+ # @param phone_number [String] Phone number of the contact to create
33
+ #
34
+ # @param test_mode [Boolean] Test mode flag - when true, the operation is simulated without side effects
35
+ #
36
+ # @param idempotency_key [String]
37
+ #
38
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
39
+ end
40
+ end
41
+ end
@@ -0,0 +1,34 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Sentdm
4
+ module Models
5
+ # @see Sentdm::Resources::Contacts#delete
6
+ class ContactDeleteParams < Sentdm::Internal::Type::BaseModel
7
+ extend Sentdm::Internal::Type::RequestParameters::Converter
8
+ include Sentdm::Internal::Type::RequestParameters
9
+
10
+ # @!attribute id
11
+ #
12
+ # @return [String]
13
+ required :id, String
14
+
15
+ # @!attribute body
16
+ # Request to delete/dissociate a contact
17
+ #
18
+ # @return [Sentdm::Models::ContactDeleteParams::Body]
19
+ required :body, -> { Sentdm::ContactDeleteParams::Body }
20
+
21
+ # @!method initialize(id:, body:, request_options: {})
22
+ # @param id [String]
23
+ #
24
+ # @param body [Sentdm::Models::ContactDeleteParams::Body] Request to delete/dissociate a contact
25
+ #
26
+ # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
27
+
28
+ class Body < Sentdm::Models::MutationRequest
29
+ # @!method initialize
30
+ # Request to delete/dissociate a contact
31
+ end
32
+ end
33
+ end
34
+ end
@@ -8,21 +8,44 @@ module Sentdm
8
8
  include Sentdm::Internal::Type::RequestParameters
9
9
 
10
10
  # @!attribute page
11
- # The page number (zero-indexed). Default is 0.
11
+ # Page number (1-indexed)
12
12
  #
13
13
  # @return [Integer]
14
14
  required :page, Integer
15
15
 
16
16
  # @!attribute page_size
17
- # The number of items per page. Default is 20.
18
17
  #
19
18
  # @return [Integer]
20
19
  required :page_size, Integer
21
20
 
22
- # @!method initialize(page:, page_size:, request_options: {})
23
- # @param page [Integer] The page number (zero-indexed). Default is 0.
21
+ # @!attribute channel
22
+ # Optional channel filter (sms, whatsapp)
24
23
  #
25
- # @param page_size [Integer] The number of items per page. Default is 20.
24
+ # @return [String, nil]
25
+ optional :channel, String, nil?: true
26
+
27
+ # @!attribute phone
28
+ # Optional phone number filter (alternative to list view)
29
+ #
30
+ # @return [String, nil]
31
+ optional :phone, String, nil?: true
32
+
33
+ # @!attribute search
34
+ # Optional search term for filtering contacts
35
+ #
36
+ # @return [String, nil]
37
+ optional :search, String, nil?: true
38
+
39
+ # @!method initialize(page:, page_size:, channel: nil, phone: nil, search: nil, request_options: {})
40
+ # @param page [Integer] Page number (1-indexed)
41
+ #
42
+ # @param page_size [Integer]
43
+ #
44
+ # @param channel [String, nil] Optional channel filter (sms, whatsapp)
45
+ #
46
+ # @param phone [String, nil] Optional phone number filter (alternative to list view)
47
+ #
48
+ # @param search [String, nil] Optional search term for filtering contacts
26
49
  #
27
50
  # @param request_options [Sentdm::RequestOptions, Hash{Symbol=>Object}]
28
51
  end
@@ -4,37 +4,62 @@ module Sentdm
4
4
  module Models
5
5
  # @see Sentdm::Resources::Contacts#list
6
6
  class ContactListResponse < Sentdm::Internal::Type::BaseModel
7
- # @!attribute items
7
+ # @!attribute data
8
+ # The response data (null if error)
8
9
  #
9
- # @return [Array<Sentdm::Models::ContactListItem>, nil]
10
- optional :items, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::ContactListItem] }
10
+ # @return [Sentdm::Models::ContactListResponse::Data, nil]
11
+ optional :data, -> { Sentdm::Models::ContactListResponse::Data }, nil?: true
11
12
 
12
- # @!attribute page
13
+ # @!attribute error
14
+ # Error details (null if successful)
13
15
  #
14
- # @return [Integer, nil]
15
- optional :page, Integer
16
+ # @return [Sentdm::Models::APIError, nil]
17
+ optional :error, -> { Sentdm::APIError }, nil?: true
16
18
 
17
- # @!attribute page_size
19
+ # @!attribute meta
20
+ # Metadata about the request and response
18
21
  #
19
- # @return [Integer, nil]
20
- optional :page_size, Integer, api_name: :pageSize
22
+ # @return [Sentdm::Models::APIMeta, nil]
23
+ optional :meta, -> { Sentdm::APIMeta }
21
24
 
22
- # @!attribute total_count
25
+ # @!attribute success
26
+ # Indicates whether the request was successful
23
27
  #
24
- # @return [Integer, nil]
25
- optional :total_count, Integer, api_name: :totalCount
28
+ # @return [Boolean, nil]
29
+ optional :success, Sentdm::Internal::Type::Boolean
26
30
 
27
- # @!attribute total_pages
31
+ # @!method initialize(data: nil, error: nil, meta: nil, success: nil)
32
+ # Standard API response envelope for all v3 endpoints
28
33
  #
29
- # @return [Integer, nil]
30
- optional :total_pages, Integer, api_name: :totalPages
34
+ # @param data [Sentdm::Models::ContactListResponse::Data, 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
+
42
+ # @see Sentdm::Models::ContactListResponse#data
43
+ class Data < Sentdm::Internal::Type::BaseModel
44
+ # @!attribute contacts
45
+ # List of contacts
46
+ #
47
+ # @return [Array<Sentdm::Models::Contact>, nil]
48
+ optional :contacts, -> { Sentdm::Internal::Type::ArrayOf[Sentdm::Contact] }
49
+
50
+ # @!attribute pagination
51
+ # Pagination metadata
52
+ #
53
+ # @return [Sentdm::Models::PaginationMeta, nil]
54
+ optional :pagination, -> { Sentdm::PaginationMeta }
31
55
 
32
- # @!method initialize(items: nil, page: nil, page_size: nil, total_count: nil, total_pages: nil)
33
- # @param items [Array<Sentdm::Models::ContactListItem>]
34
- # @param page [Integer]
35
- # @param page_size [Integer]
36
- # @param total_count [Integer]
37
- # @param total_pages [Integer]
56
+ # @!method initialize(contacts: nil, pagination: nil)
57
+ # The response data (null if error)
58
+ #
59
+ # @param contacts [Array<Sentdm::Models::Contact>] List of contacts
60
+ #
61
+ # @param pagination [Sentdm::Models::PaginationMeta] Pagination metadata
62
+ end
38
63
  end
39
64
  end
40
65
  end