sentdm 0.44.0 → 0.46.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 (484) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +18 -0
  3. data/README.md +11 -11
  4. data/lib/sentdm/client.rb +66 -0
  5. data/lib/sentdm/internal/sender_profiles_page.rb +140 -0
  6. data/lib/sentdm/internal/type/enum.rb +11 -11
  7. data/lib/sentdm/models/account.rb +173 -0
  8. data/lib/sentdm/models/account_channels.rb +39 -0
  9. data/lib/sentdm/models/account_profile.rb +86 -0
  10. data/lib/sentdm/models/account_rcs_channel.rb +26 -0
  11. data/lib/sentdm/models/account_sms_channel.rb +26 -0
  12. data/lib/sentdm/models/account_whatsapp_channel.rb +35 -0
  13. data/lib/sentdm/models/api_response_of_account.rb +48 -0
  14. data/lib/sentdm/models/api_response_of_cancelled_message.rb +43 -0
  15. data/lib/sentdm/models/api_response_of_channels_state.rb +48 -0
  16. data/lib/sentdm/models/api_response_of_compliance_requirements.rb +47 -0
  17. data/lib/sentdm/models/api_response_of_contacts_list.rb +42 -0
  18. data/lib/sentdm/models/api_response_of_message.rb +51 -0
  19. data/lib/sentdm/models/api_response_of_message_activities.rb +43 -0
  20. data/lib/sentdm/models/api_response_of_number_lookup_result.rb +43 -0
  21. data/lib/sentdm/models/api_response_of_profile_completion_accepted.rb +47 -0
  22. data/lib/sentdm/models/api_response_of_profile_completion_result.rb +47 -0
  23. data/lib/sentdm/models/api_response_of_profiles_list.rb +43 -0
  24. data/lib/sentdm/models/api_response_of_sender_profile.rb +54 -0
  25. data/lib/sentdm/models/api_response_of_sender_profiles_list.rb +42 -0
  26. data/lib/sentdm/models/api_response_of_templates_list.rb +42 -0
  27. data/lib/sentdm/models/api_response_of_users_list.rb +43 -0
  28. data/lib/sentdm/models/api_response_of_webhook_event_types_list.rb +43 -0
  29. data/lib/sentdm/models/api_response_of_webhook_events_list.rb +42 -0
  30. data/lib/sentdm/models/{webhook_rotate_secret_response.rb → api_response_of_webhook_secret.rb} +4 -17
  31. data/lib/sentdm/models/{webhook_test_response.rb → api_response_of_webhook_test.rb} +4 -23
  32. data/lib/sentdm/models/api_response_of_webhooks_list.rb +42 -0
  33. data/lib/sentdm/models/billing_contact.rb +35 -0
  34. data/lib/sentdm/models/brand_business.rb +96 -0
  35. data/lib/sentdm/models/brand_business_info.rb +3 -20
  36. data/lib/sentdm/models/brand_compliance.rb +75 -0
  37. data/lib/sentdm/models/brand_contact.rb +56 -0
  38. data/lib/sentdm/models/brand_with_kyc.rb +129 -0
  39. data/lib/sentdm/models/cancelled_message.rb +28 -0
  40. data/lib/sentdm/models/channel_event_payload.rb +3 -114
  41. data/lib/sentdm/models/channel_list_params.rb +20 -0
  42. data/lib/sentdm/models/channel_score.rb +35 -0
  43. data/lib/sentdm/models/channels/api_response_of_list_of_sms_market.rb +45 -0
  44. data/lib/sentdm/models/channels/api_response_of_rcs_agent.rb +60 -0
  45. data/lib/sentdm/models/channels/api_response_of_sms_market.rb +54 -0
  46. data/lib/sentdm/models/channels/api_response_of_whatsapp_channel.rb +47 -0
  47. data/lib/sentdm/models/channels/market_compliance.rb +409 -0
  48. data/lib/sentdm/models/channels/rc_create_params.rb +260 -0
  49. data/lib/sentdm/models/channels/rcs_address.rb +43 -0
  50. data/lib/sentdm/models/channels/rcs_agent.rb +278 -0
  51. data/lib/sentdm/models/channels/sms_create_params.rb +173 -0
  52. data/lib/sentdm/models/channels/sms_list_params.rb +22 -0
  53. data/lib/sentdm/models/channels/sms_market.rb +158 -0
  54. data/lib/sentdm/models/channels/sms_number.rb +41 -0
  55. data/lib/sentdm/models/channels/sms_number_request.rb +33 -0
  56. data/lib/sentdm/models/channels/sms_retrieve_params.rb +34 -0
  57. data/lib/sentdm/models/channels/sms_update_params.rb +64 -0
  58. data/lib/sentdm/models/channels/supplied_compliance.rb +89 -0
  59. data/lib/sentdm/models/channels/supplied_document.rb +35 -0
  60. data/lib/sentdm/models/channels/whatsapp_channel.rb +109 -0
  61. data/lib/sentdm/models/channels/whatsapp_create_params.rb +65 -0
  62. data/lib/sentdm/models/channels_state.rb +89 -0
  63. data/lib/sentdm/models/compliance_attachment_template.rb +36 -0
  64. data/lib/sentdm/models/compliance_requirement.rb +112 -0
  65. data/lib/sentdm/models/compliance_requirements.rb +98 -0
  66. data/lib/sentdm/models/compliance_retrieve_requirements_params.rb +52 -0
  67. data/lib/sentdm/models/compliance_setup_step.rb +78 -0
  68. data/lib/sentdm/models/contact_message_summary.rb +3 -34
  69. data/lib/sentdm/models/contacts_list.rb +26 -0
  70. data/lib/sentdm/models/conversation_messages_list.rb +3 -430
  71. data/lib/sentdm/models/entity_type.rb +18 -0
  72. data/lib/sentdm/models/inbound_media.rb +53 -0
  73. data/lib/sentdm/models/inbound_message_event_payload.rb +3 -53
  74. data/lib/sentdm/models/link_event.rb +79 -0
  75. data/lib/sentdm/models/link_event_payload.rb +211 -0
  76. data/lib/sentdm/models/message.rb +168 -0
  77. data/lib/sentdm/models/message_activities.rb +34 -0
  78. data/lib/sentdm/models/message_activity.rb +105 -0
  79. data/lib/sentdm/models/message_body.rb +79 -0
  80. data/lib/sentdm/models/message_button.rb +33 -0
  81. data/lib/sentdm/models/message_cancel_params.rb +32 -0
  82. data/lib/sentdm/models/message_channel_options.rb +43 -0
  83. data/lib/sentdm/models/message_event_payload.rb +3 -2
  84. data/lib/sentdm/models/message_header_media.rb +31 -0
  85. data/lib/sentdm/models/message_media.rb +74 -0
  86. data/lib/sentdm/models/message_recipient.rb +46 -0
  87. data/lib/sentdm/models/message_send_params.rb +6 -90
  88. data/lib/sentdm/models/message_send_response.rb +3 -95
  89. data/lib/sentdm/models/message_send_result.rb +55 -0
  90. data/lib/sentdm/models/message_status_event.rb +54 -0
  91. data/lib/sentdm/models/mms_market.rb +48 -0
  92. data/lib/sentdm/models/number_lookup_result.rb +63 -0
  93. data/lib/sentdm/models/pagination_cursors.rb +27 -0
  94. data/lib/sentdm/models/pagination_meta.rb +3 -27
  95. data/lib/sentdm/models/profile_completion_accepted.rb +20 -0
  96. data/lib/sentdm/models/profile_completion_result.rb +31 -0
  97. data/lib/sentdm/models/profile_detail.rb +6 -408
  98. data/lib/sentdm/models/profiles/brand_campaign.rb +3 -15
  99. data/lib/sentdm/models/profiles_list.rb +26 -0
  100. data/lib/sentdm/models/sender_profile.rb +138 -0
  101. data/lib/sentdm/models/sender_profile_billing.rb +21 -0
  102. data/lib/sentdm/models/sender_profile_billing_request.rb +33 -0
  103. data/lib/sentdm/models/sender_profile_channels.rb +90 -0
  104. data/lib/sentdm/models/sender_profile_create_params.rb +116 -0
  105. data/lib/sentdm/models/sender_profile_delete_params.rb +20 -0
  106. data/lib/sentdm/models/sender_profile_list_params.rb +30 -0
  107. data/lib/sentdm/models/sender_profile_rcs.rb +209 -0
  108. data/lib/sentdm/models/sender_profile_retrieve_params.rb +20 -0
  109. data/lib/sentdm/models/sender_profile_sms.rb +106 -0
  110. data/lib/sentdm/models/sender_profile_update_params.rb +71 -0
  111. data/lib/sentdm/models/sender_profile_whatsapp.rb +61 -0
  112. data/lib/sentdm/models/sender_profiles_list.rb +26 -0
  113. data/lib/sentdm/models/tcr_brand_identity_status.rb +17 -0
  114. data/lib/sentdm/models/tcr_brand_status.rb +16 -0
  115. data/lib/sentdm/models/tcr_campaign_status.rb +16 -0
  116. data/lib/sentdm/models/template_body.rb +3 -70
  117. data/lib/sentdm/models/template_create_params.rb +11 -1
  118. data/lib/sentdm/models/template_header.rb +3 -37
  119. data/lib/sentdm/models/template_header_location.rb +38 -0
  120. data/lib/sentdm/models/template_media_item.rb +34 -0
  121. data/lib/sentdm/models/template_mms_body_content.rb +49 -0
  122. data/lib/sentdm/models/template_ref.rb +51 -0
  123. data/lib/sentdm/models/template_variable.rb +3 -64
  124. data/lib/sentdm/models/template_variable_props.rb +65 -0
  125. data/lib/sentdm/models/templates_list.rb +26 -0
  126. data/lib/sentdm/models/users_list.rb +26 -0
  127. data/lib/sentdm/models/voice/call.rb +3 -54
  128. data/lib/sentdm/models/voice/call_leg.rb +58 -0
  129. data/lib/sentdm/models/webhook_create_params.rb +3 -25
  130. data/lib/sentdm/models/webhook_delivery.rb +160 -0
  131. data/lib/sentdm/models/webhook_event_types_list.rb +26 -0
  132. data/lib/sentdm/models/webhook_events_list.rb +26 -0
  133. data/lib/sentdm/models/webhook_response.rb +3 -28
  134. data/lib/sentdm/models/webhook_secret.rb +15 -0
  135. data/lib/sentdm/models/webhook_sender_profile.rb +29 -0
  136. data/lib/sentdm/models/webhook_sender_profile_config.rb +27 -0
  137. data/lib/sentdm/models/webhook_test.rb +21 -0
  138. data/lib/sentdm/models/webhook_update_params.rb +3 -25
  139. data/lib/sentdm/models/webhooks_list.rb +26 -0
  140. data/lib/sentdm/models.rb +188 -0
  141. data/lib/sentdm/resources/channels/rcs.rb +177 -0
  142. data/lib/sentdm/resources/channels/sms.rb +417 -0
  143. data/lib/sentdm/resources/channels/whatsapp.rb +106 -0
  144. data/lib/sentdm/resources/channels.rb +162 -0
  145. data/lib/sentdm/resources/compliance.rb +127 -0
  146. data/lib/sentdm/resources/conversations.rb +4 -4
  147. data/lib/sentdm/resources/me.rb +2 -2
  148. data/lib/sentdm/resources/messages.rb +73 -7
  149. data/lib/sentdm/resources/numbers.rb +2 -2
  150. data/lib/sentdm/resources/profiles.rb +4 -4
  151. data/lib/sentdm/resources/sender_profiles.rb +463 -0
  152. data/lib/sentdm/resources/templates.rb +5 -3
  153. data/lib/sentdm/resources/users.rb +2 -2
  154. data/lib/sentdm/resources/webhooks.rb +10 -10
  155. data/lib/sentdm/version.rb +1 -1
  156. data/lib/sentdm.rb +120 -11
  157. data/rbi/sentdm/client.rbi +64 -0
  158. data/rbi/sentdm/internal/sender_profiles_page.rbi +122 -0
  159. data/rbi/sentdm/models/account.rbi +242 -0
  160. data/rbi/sentdm/models/account_channels.rbi +66 -0
  161. data/rbi/sentdm/models/account_profile.rbi +116 -0
  162. data/rbi/sentdm/models/account_rcs_channel.rbi +45 -0
  163. data/rbi/sentdm/models/account_sms_channel.rbi +45 -0
  164. data/rbi/sentdm/models/account_whatsapp_channel.rbi +58 -0
  165. data/rbi/sentdm/models/api_response_of_account.rbi +78 -0
  166. data/rbi/sentdm/models/{webhook_rotate_secret_response.rbi → api_response_of_cancelled_message.rbi} +6 -41
  167. data/rbi/sentdm/models/api_response_of_channels_state.rbi +78 -0
  168. data/rbi/sentdm/models/api_response_of_compliance_requirements.rbi +81 -0
  169. data/rbi/sentdm/models/api_response_of_contacts_list.rbi +74 -0
  170. data/rbi/sentdm/models/api_response_of_message.rbi +84 -0
  171. data/rbi/sentdm/models/api_response_of_message_activities.rbi +77 -0
  172. data/rbi/sentdm/models/{webhook_test_response.rbi → api_response_of_number_lookup_result.rbi} +9 -43
  173. data/rbi/sentdm/models/api_response_of_profile_completion_accepted.rbi +83 -0
  174. data/rbi/sentdm/models/{profile_complete_response.rbi → api_response_of_profile_completion_result.rbi} +6 -52
  175. data/rbi/sentdm/models/api_response_of_profiles_list.rbi +74 -0
  176. data/rbi/sentdm/models/api_response_of_sender_profile.rbi +90 -0
  177. data/rbi/sentdm/models/api_response_of_sender_profiles_list.rbi +77 -0
  178. data/rbi/sentdm/models/api_response_of_templates_list.rbi +74 -0
  179. data/rbi/sentdm/models/api_response_of_users_list.rbi +74 -0
  180. data/rbi/sentdm/models/api_response_of_webhook_event_types_list.rbi +79 -0
  181. data/rbi/sentdm/models/api_response_of_webhook_events_list.rbi +77 -0
  182. data/rbi/sentdm/models/api_response_of_webhook_secret.rbi +74 -0
  183. data/rbi/sentdm/models/api_response_of_webhook_test.rbi +74 -0
  184. data/rbi/sentdm/models/api_response_of_webhooks_list.rbi +74 -0
  185. data/rbi/sentdm/models/billing_contact.rbi +49 -0
  186. data/rbi/sentdm/models/brand_business.rbi +115 -0
  187. data/rbi/sentdm/models/brand_business_info.rbi +3 -49
  188. data/rbi/sentdm/models/brand_compliance.rbi +108 -0
  189. data/rbi/sentdm/models/brand_contact.rbi +78 -0
  190. data/rbi/sentdm/models/brand_with_kyc.rbi +167 -0
  191. data/rbi/sentdm/models/cancelled_message.rbi +37 -0
  192. data/rbi/sentdm/models/channel_event_payload.rbi +4 -204
  193. data/rbi/sentdm/models/channel_list_params.rbi +38 -0
  194. data/rbi/sentdm/models/channel_score.rbi +56 -0
  195. data/rbi/sentdm/models/channels/api_response_of_list_of_sms_market.rbi +76 -0
  196. data/rbi/sentdm/models/channels/api_response_of_rcs_agent.rbi +103 -0
  197. data/rbi/sentdm/models/channels/api_response_of_sms_market.rbi +93 -0
  198. data/rbi/sentdm/models/channels/api_response_of_whatsapp_channel.rbi +85 -0
  199. data/rbi/sentdm/models/channels/market_compliance.rbi +770 -0
  200. data/rbi/sentdm/models/channels/rc_create_params.rbi +397 -0
  201. data/rbi/sentdm/models/channels/rcs_address.rbi +62 -0
  202. data/rbi/sentdm/models/channels/rcs_agent.rbi +320 -0
  203. data/rbi/sentdm/models/channels/sms_create_params.rbi +291 -0
  204. data/rbi/sentdm/models/channels/sms_list_params.rbi +40 -0
  205. data/rbi/sentdm/models/channels/sms_market.rbi +247 -0
  206. data/rbi/sentdm/models/channels/sms_number.rbi +60 -0
  207. data/rbi/sentdm/models/channels/sms_number_request.rbi +48 -0
  208. data/rbi/sentdm/models/channels/sms_retrieve_params.rbi +56 -0
  209. data/rbi/sentdm/models/channels/sms_update_params.rbi +93 -0
  210. data/rbi/sentdm/models/channels/supplied_compliance.rbi +140 -0
  211. data/rbi/sentdm/models/channels/supplied_document.rbi +57 -0
  212. data/rbi/sentdm/models/channels/whatsapp_channel.rbi +172 -0
  213. data/rbi/sentdm/models/channels/whatsapp_create_params.rbi +104 -0
  214. data/rbi/sentdm/models/channels_state.rbi +151 -0
  215. data/rbi/sentdm/models/compliance_attachment_template.rbi +56 -0
  216. data/rbi/sentdm/models/compliance_requirement.rbi +149 -0
  217. data/rbi/sentdm/models/compliance_requirements.rbi +165 -0
  218. data/rbi/sentdm/models/compliance_retrieve_requirements_params.rbi +79 -0
  219. data/rbi/sentdm/models/compliance_setup_step.rbi +115 -0
  220. data/rbi/sentdm/models/contact_message_summary.rbi +4 -69
  221. data/rbi/sentdm/models/contacts_list.rbi +50 -0
  222. data/rbi/sentdm/models/conversation_messages_list.rbi +4 -669
  223. data/rbi/sentdm/models/entity_type.rbi +23 -0
  224. data/rbi/sentdm/models/inbound_media.rbi +76 -0
  225. data/rbi/sentdm/models/inbound_message_event_payload.rbi +3 -85
  226. data/rbi/sentdm/models/link_event.rbi +128 -0
  227. data/rbi/sentdm/models/link_event_payload.rbi +279 -0
  228. data/rbi/sentdm/models/message.rbi +214 -0
  229. data/rbi/sentdm/models/message_activities.rbi +63 -0
  230. data/rbi/sentdm/models/message_activity.rbi +145 -0
  231. data/rbi/sentdm/models/message_body.rbi +104 -0
  232. data/rbi/sentdm/models/message_button.rbi +52 -0
  233. data/rbi/sentdm/models/message_cancel_params.rbi +59 -0
  234. data/rbi/sentdm/models/message_channel_options.rbi +65 -0
  235. data/rbi/sentdm/models/message_event_payload.rbi +4 -2
  236. data/rbi/sentdm/models/message_header_media.rbi +44 -0
  237. data/rbi/sentdm/models/message_media.rbi +95 -0
  238. data/rbi/sentdm/models/message_recipient.rbi +70 -0
  239. data/rbi/sentdm/models/message_send_params.rbi +7 -155
  240. data/rbi/sentdm/models/message_send_response.rbi +4 -163
  241. data/rbi/sentdm/models/message_send_result.rbi +85 -0
  242. data/rbi/sentdm/models/message_status_event.rbi +70 -0
  243. data/rbi/sentdm/models/mms_market.rbi +66 -0
  244. data/rbi/sentdm/models/number_lookup_result.rbi +89 -0
  245. data/rbi/sentdm/models/pagination_cursors.rbi +42 -0
  246. data/rbi/sentdm/models/pagination_meta.rbi +4 -43
  247. data/rbi/sentdm/models/profile_completion_accepted.rbi +33 -0
  248. data/rbi/sentdm/models/profile_completion_result.rbi +43 -0
  249. data/rbi/sentdm/models/profile_detail.rbi +8 -621
  250. data/rbi/sentdm/models/profiles/brand_campaign.rbi +3 -45
  251. data/rbi/sentdm/models/profiles_list.rbi +50 -0
  252. data/rbi/sentdm/models/sender_profile.rbi +204 -0
  253. data/rbi/sentdm/models/sender_profile_billing.rbi +34 -0
  254. data/rbi/sentdm/models/sender_profile_billing_request.rbi +46 -0
  255. data/rbi/sentdm/models/sender_profile_channels.rbi +163 -0
  256. data/rbi/sentdm/models/sender_profile_create_params.rbi +190 -0
  257. data/rbi/sentdm/models/sender_profile_delete_params.rbi +35 -0
  258. data/rbi/sentdm/models/sender_profile_list_params.rbi +57 -0
  259. data/rbi/sentdm/models/sender_profile_rcs.rbi +211 -0
  260. data/rbi/sentdm/models/sender_profile_retrieve_params.rbi +35 -0
  261. data/rbi/sentdm/models/sender_profile_sms.rbi +156 -0
  262. data/rbi/sentdm/models/sender_profile_update_params.rbi +96 -0
  263. data/rbi/sentdm/models/sender_profile_whatsapp.rbi +83 -0
  264. data/rbi/sentdm/models/sender_profiles_list.rbi +54 -0
  265. data/rbi/sentdm/models/tcr_brand_identity_status.rbi +27 -0
  266. data/rbi/sentdm/models/tcr_brand_status.rbi +20 -0
  267. data/rbi/sentdm/models/tcr_campaign_status.rbi +23 -0
  268. data/rbi/sentdm/models/template_body.rbi +6 -114
  269. data/rbi/sentdm/models/template_create_params.rbi +12 -0
  270. data/rbi/sentdm/models/template_header.rbi +4 -53
  271. data/rbi/sentdm/models/template_header_location.rbi +47 -0
  272. data/rbi/sentdm/models/template_media_item.rbi +51 -0
  273. data/rbi/sentdm/models/template_mms_body_content.rbi +73 -0
  274. data/rbi/sentdm/models/template_ref.rbi +79 -0
  275. data/rbi/sentdm/models/template_variable.rbi +4 -80
  276. data/rbi/sentdm/models/template_variable_props.rbi +81 -0
  277. data/rbi/sentdm/models/templates_list.rbi +50 -0
  278. data/rbi/sentdm/models/users_list.rbi +50 -0
  279. data/rbi/sentdm/models/voice/call.rbi +3 -86
  280. data/rbi/sentdm/models/voice/call_leg.rbi +90 -0
  281. data/rbi/sentdm/models/webhook_create_params.rbi +4 -49
  282. data/rbi/sentdm/models/webhook_delivery.rbi +211 -0
  283. data/rbi/sentdm/models/webhook_event_types_list.rbi +54 -0
  284. data/rbi/sentdm/models/webhook_events_list.rbi +52 -0
  285. data/rbi/sentdm/models/webhook_response.rbi +4 -50
  286. data/rbi/sentdm/models/webhook_secret.rbi +24 -0
  287. data/rbi/sentdm/models/webhook_sender_profile.rbi +46 -0
  288. data/rbi/sentdm/models/webhook_sender_profile_config.rbi +44 -0
  289. data/rbi/sentdm/models/webhook_test.rbi +32 -0
  290. data/rbi/sentdm/models/webhook_update_params.rbi +4 -49
  291. data/rbi/sentdm/models/webhooks_list.rbi +50 -0
  292. data/rbi/sentdm/models.rbi +197 -0
  293. data/rbi/sentdm/resources/channels/rcs.rbi +208 -0
  294. data/rbi/sentdm/resources/channels/sms.rbi +437 -0
  295. data/rbi/sentdm/resources/channels/whatsapp.rbi +108 -0
  296. data/rbi/sentdm/resources/channels.rbi +149 -0
  297. data/rbi/sentdm/resources/compliance.rbi +121 -0
  298. data/rbi/sentdm/resources/conversations.rbi +2 -10
  299. data/rbi/sentdm/resources/me.rbi +1 -1
  300. data/rbi/sentdm/resources/messages.rbi +66 -8
  301. data/rbi/sentdm/resources/numbers.rbi +1 -1
  302. data/rbi/sentdm/resources/profiles.rbi +2 -2
  303. data/rbi/sentdm/resources/sender_profiles.rbi +461 -0
  304. data/rbi/sentdm/resources/templates.rbi +7 -2
  305. data/rbi/sentdm/resources/users.rbi +1 -1
  306. data/rbi/sentdm/resources/webhooks.rbi +6 -12
  307. data/sig/sentdm/client.rbs +4 -0
  308. data/sig/sentdm/internal/sender_profiles_page.rbs +80 -0
  309. data/sig/sentdm/models/account.rbs +111 -0
  310. data/sig/sentdm/models/account_channels.rbs +38 -0
  311. data/sig/sentdm/models/account_profile.rbs +68 -0
  312. data/sig/sentdm/models/account_rcs_channel.rbs +17 -0
  313. data/sig/sentdm/models/account_sms_channel.rbs +17 -0
  314. data/sig/sentdm/models/account_whatsapp_channel.rbs +28 -0
  315. data/sig/sentdm/models/api_response_of_account.rbs +39 -0
  316. data/sig/sentdm/models/api_response_of_cancelled_message.rbs +39 -0
  317. data/sig/sentdm/models/api_response_of_channels_state.rbs +39 -0
  318. data/sig/sentdm/models/api_response_of_compliance_requirements.rbs +39 -0
  319. data/sig/sentdm/models/api_response_of_contacts_list.rbs +39 -0
  320. data/sig/sentdm/models/api_response_of_message.rbs +39 -0
  321. data/sig/sentdm/models/api_response_of_message_activities.rbs +39 -0
  322. data/sig/sentdm/models/api_response_of_number_lookup_result.rbs +39 -0
  323. data/sig/sentdm/models/api_response_of_profile_completion_accepted.rbs +39 -0
  324. data/sig/sentdm/models/api_response_of_profile_completion_result.rbs +39 -0
  325. data/sig/sentdm/models/api_response_of_profiles_list.rbs +39 -0
  326. data/sig/sentdm/models/api_response_of_sender_profile.rbs +39 -0
  327. data/sig/sentdm/models/api_response_of_sender_profiles_list.rbs +39 -0
  328. data/sig/sentdm/models/api_response_of_templates_list.rbs +39 -0
  329. data/sig/sentdm/models/api_response_of_users_list.rbs +39 -0
  330. data/sig/sentdm/models/api_response_of_webhook_event_types_list.rbs +39 -0
  331. data/sig/sentdm/models/api_response_of_webhook_events_list.rbs +39 -0
  332. data/sig/sentdm/models/api_response_of_webhook_secret.rbs +39 -0
  333. data/sig/sentdm/models/api_response_of_webhook_test.rbs +39 -0
  334. data/sig/sentdm/models/api_response_of_webhooks_list.rbs +39 -0
  335. data/sig/sentdm/models/billing_contact.rbs +30 -0
  336. data/sig/sentdm/models/brand_business.rbs +70 -0
  337. data/sig/sentdm/models/brand_business_info.rbs +4 -23
  338. data/sig/sentdm/models/brand_compliance.rbs +56 -0
  339. data/sig/sentdm/models/brand_contact.rbs +47 -0
  340. data/sig/sentdm/models/brand_with_kyc.rbs +93 -0
  341. data/sig/sentdm/models/cancelled_message.rbs +15 -0
  342. data/sig/sentdm/models/channel_event_payload.rbs +4 -56
  343. data/sig/sentdm/models/channel_list_params.rbs +25 -0
  344. data/sig/sentdm/models/channel_score.rbs +32 -0
  345. data/sig/sentdm/models/channels/api_response_of_list_of_sms_market.rbs +41 -0
  346. data/sig/sentdm/models/channels/api_response_of_rcs_agent.rbs +41 -0
  347. data/sig/sentdm/models/channels/api_response_of_sms_market.rbs +41 -0
  348. data/sig/sentdm/models/channels/api_response_of_whatsapp_channel.rbs +43 -0
  349. data/sig/sentdm/models/channels/market_compliance.rbs +338 -0
  350. data/sig/sentdm/models/channels/rc_create_params.rbs +242 -0
  351. data/sig/sentdm/models/channels/rcs_address.rbs +42 -0
  352. data/sig/sentdm/models/channels/rcs_agent.rbs +181 -0
  353. data/sig/sentdm/models/channels/sms_create_params.rbs +116 -0
  354. data/sig/sentdm/models/channels/sms_list_params.rbs +27 -0
  355. data/sig/sentdm/models/channels/sms_market.rbs +85 -0
  356. data/sig/sentdm/models/channels/sms_number.rbs +28 -0
  357. data/sig/sentdm/models/channels/sms_number_request.rbs +17 -0
  358. data/sig/sentdm/models/channels/sms_retrieve_params.rbs +36 -0
  359. data/sig/sentdm/models/channels/sms_update_params.rbs +63 -0
  360. data/sig/sentdm/models/channels/supplied_compliance.rbs +32 -0
  361. data/sig/sentdm/models/channels/supplied_document.rbs +30 -0
  362. data/sig/sentdm/models/channels/whatsapp_channel.rbs +78 -0
  363. data/sig/sentdm/models/channels/whatsapp_create_params.rbs +56 -0
  364. data/sig/sentdm/models/channels_state.rbs +55 -0
  365. data/sig/sentdm/models/compliance_attachment_template.rbs +26 -0
  366. data/sig/sentdm/models/compliance_requirement.rbs +76 -0
  367. data/sig/sentdm/models/compliance_requirements.rbs +66 -0
  368. data/sig/sentdm/models/compliance_retrieve_requirements_params.rbs +43 -0
  369. data/sig/sentdm/models/compliance_setup_step.rbs +62 -0
  370. data/sig/sentdm/models/contact_message_summary.rbs +6 -35
  371. data/sig/sentdm/models/contacts_list.rbs +31 -0
  372. data/sig/sentdm/models/conversation_messages_list.rbs +5 -312
  373. data/sig/sentdm/models/entity_type.rbs +22 -0
  374. data/sig/sentdm/models/inbound_media.rbs +35 -0
  375. data/sig/sentdm/models/inbound_message_event_payload.rbs +4 -36
  376. data/sig/sentdm/models/link_event.rbs +44 -0
  377. data/sig/sentdm/models/link_event_payload.rbs +106 -0
  378. data/sig/sentdm/models/message.rbs +130 -0
  379. data/sig/sentdm/models/message_activities.rbs +38 -0
  380. data/sig/sentdm/models/message_activity.rbs +66 -0
  381. data/sig/sentdm/models/message_body.rbs +52 -0
  382. data/sig/sentdm/models/message_button.rbs +34 -0
  383. data/sig/sentdm/models/message_cancel_params.rbs +38 -0
  384. data/sig/sentdm/models/message_channel_options.rbs +26 -0
  385. data/sig/sentdm/models/message_header_media.rbs +19 -0
  386. data/sig/sentdm/models/message_media.rbs +40 -0
  387. data/sig/sentdm/models/message_recipient.rbs +34 -0
  388. data/sig/sentdm/models/message_send_params.rbs +8 -54
  389. data/sig/sentdm/models/message_send_response.rbs +4 -77
  390. data/sig/sentdm/models/message_send_result.rbs +45 -0
  391. data/sig/sentdm/models/message_status_event.rbs +40 -0
  392. data/sig/sentdm/models/mms_market.rbs +35 -0
  393. data/sig/sentdm/models/number_lookup_result.rbs +64 -0
  394. data/sig/sentdm/models/pagination_cursors.rbs +15 -0
  395. data/sig/sentdm/models/pagination_meta.rbs +4 -16
  396. data/sig/sentdm/models/profile_completion_accepted.rbs +15 -0
  397. data/sig/sentdm/models/profile_completion_result.rbs +19 -0
  398. data/sig/sentdm/models/profile_detail.rbs +8 -315
  399. data/sig/sentdm/models/profiles/brand_campaign.rbs +4 -16
  400. data/sig/sentdm/models/profiles_list.rbs +31 -0
  401. data/sig/sentdm/models/sender_profile.rbs +76 -0
  402. data/sig/sentdm/models/sender_profile_billing.rbs +15 -0
  403. data/sig/sentdm/models/sender_profile_billing_request.rbs +15 -0
  404. data/sig/sentdm/models/sender_profile_channels.rbs +30 -0
  405. data/sig/sentdm/models/sender_profile_create_params.rbs +78 -0
  406. data/sig/sentdm/models/sender_profile_delete_params.rbs +20 -0
  407. data/sig/sentdm/models/sender_profile_list_params.rbs +32 -0
  408. data/sig/sentdm/models/sender_profile_rcs.rbs +150 -0
  409. data/sig/sentdm/models/sender_profile_retrieve_params.rbs +20 -0
  410. data/sig/sentdm/models/sender_profile_sms.rbs +40 -0
  411. data/sig/sentdm/models/sender_profile_update_params.rbs +62 -0
  412. data/sig/sentdm/models/sender_profile_whatsapp.rbs +16 -0
  413. data/sig/sentdm/models/sender_profiles_list.rbs +31 -0
  414. data/sig/sentdm/models/tcr_brand_identity_status.rbs +17 -0
  415. data/sig/sentdm/models/tcr_brand_status.rbs +15 -0
  416. data/sig/sentdm/models/tcr_campaign_status.rbs +15 -0
  417. data/sig/sentdm/models/template_body.rbs +4 -43
  418. data/sig/sentdm/models/template_create_params.rbs +5 -0
  419. data/sig/sentdm/models/template_header.rbs +4 -31
  420. data/sig/sentdm/models/template_header_location.rbs +30 -0
  421. data/sig/sentdm/models/template_media_item.rbs +17 -0
  422. data/sig/sentdm/models/template_mms_body_content.rbs +28 -0
  423. data/sig/sentdm/models/template_ref.rbs +26 -0
  424. data/sig/sentdm/models/template_variable.rbs +4 -51
  425. data/sig/sentdm/models/template_variable_props.rbs +50 -0
  426. data/sig/sentdm/models/templates_list.rbs +29 -0
  427. data/sig/sentdm/models/users_list.rbs +31 -0
  428. data/sig/sentdm/models/voice/call.rbs +4 -49
  429. data/sig/sentdm/models/voice/call_leg.rbs +50 -0
  430. data/sig/sentdm/models/webhook_create_params.rbs +4 -28
  431. data/sig/sentdm/models/webhook_delivery.rbs +99 -0
  432. data/sig/sentdm/models/webhook_event_types_list.rbs +31 -0
  433. data/sig/sentdm/models/webhook_events_list.rbs +31 -0
  434. data/sig/sentdm/models/webhook_response.rbs +4 -28
  435. data/sig/sentdm/models/webhook_secret.rbs +15 -0
  436. data/sig/sentdm/models/webhook_sender_profile.rbs +27 -0
  437. data/sig/sentdm/models/webhook_sender_profile_config.rbs +27 -0
  438. data/sig/sentdm/models/webhook_test.rbs +19 -0
  439. data/sig/sentdm/models/webhook_update_params.rbs +4 -28
  440. data/sig/sentdm/models/webhooks_list.rbs +31 -0
  441. data/sig/sentdm/models.rbs +188 -0
  442. data/sig/sentdm/resources/channels/rcs.rbs +41 -0
  443. data/sig/sentdm/resources/channels/sms.rbs +44 -0
  444. data/sig/sentdm/resources/channels/whatsapp.rbs +18 -0
  445. data/sig/sentdm/resources/channels.rbs +11 -0
  446. data/sig/sentdm/resources/compliance.rbs +15 -0
  447. data/sig/sentdm/resources/conversations.rbs +2 -2
  448. data/sig/sentdm/resources/me.rbs +1 -1
  449. data/sig/sentdm/resources/messages.rbs +12 -4
  450. data/sig/sentdm/resources/numbers.rbs +1 -1
  451. data/sig/sentdm/resources/profiles.rbs +2 -2
  452. data/sig/sentdm/resources/sender_profiles.rbs +44 -0
  453. data/sig/sentdm/resources/templates.rbs +1 -0
  454. data/sig/sentdm/resources/users.rbs +1 -1
  455. data/sig/sentdm/resources/webhooks.rbs +6 -6
  456. metadata +362 -35
  457. data/lib/sentdm/models/me_retrieve_response.rb +0 -409
  458. data/lib/sentdm/models/message_retrieve_activities_response.rb +0 -175
  459. data/lib/sentdm/models/message_retrieve_status_response.rb +0 -477
  460. data/lib/sentdm/models/number_lookup_response.rb +0 -104
  461. data/lib/sentdm/models/profile_complete_response.rb +0 -74
  462. data/lib/sentdm/models/profile_list_response.rb +0 -65
  463. data/lib/sentdm/models/user_list_response.rb +0 -65
  464. data/lib/sentdm/models/webhook_list_event_types_response.rb +0 -65
  465. data/lib/sentdm/models/webhook_list_events_response.rb +0 -445
  466. data/rbi/sentdm/models/me_retrieve_response.rbi +0 -705
  467. data/rbi/sentdm/models/message_retrieve_activities_response.rbi +0 -319
  468. data/rbi/sentdm/models/message_retrieve_status_response.rbi +0 -765
  469. data/rbi/sentdm/models/number_lookup_response.rbi +0 -166
  470. data/rbi/sentdm/models/profile_list_response.rbi +0 -128
  471. data/rbi/sentdm/models/user_list_response.rbi +0 -128
  472. data/rbi/sentdm/models/webhook_list_event_types_response.rbi +0 -142
  473. data/rbi/sentdm/models/webhook_list_events_response.rbi +0 -647
  474. data/sig/sentdm/models/me_retrieve_response.rbs +0 -306
  475. data/sig/sentdm/models/message_retrieve_activities_response.rbs +0 -137
  476. data/sig/sentdm/models/message_retrieve_status_response.rbs +0 -341
  477. data/sig/sentdm/models/number_lookup_response.rbs +0 -100
  478. data/sig/sentdm/models/profile_complete_response.rbs +0 -55
  479. data/sig/sentdm/models/profile_list_response.rbs +0 -67
  480. data/sig/sentdm/models/user_list_response.rbs +0 -67
  481. data/sig/sentdm/models/webhook_list_event_types_response.rbs +0 -67
  482. data/sig/sentdm/models/webhook_list_events_response.rbs +0 -243
  483. data/sig/sentdm/models/webhook_rotate_secret_response.rbs +0 -51
  484. data/sig/sentdm/models/webhook_test_response.rbs +0 -55
@@ -0,0 +1,242 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class Account < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Sentdm::Account, Sentdm::Internal::AnyHash) }
8
+
9
+ # Customer ID (organization, account, or profile)
10
+ sig { returns(T.nilable(String)) }
11
+ attr_reader :id
12
+
13
+ sig { params(id: String).void }
14
+ attr_writer :id
15
+
16
+ # Messaging channel configuration. All three channels are always present. Each
17
+ # channel has a "configured" flag; configured channels expose additional details.
18
+ sig { returns(T.nilable(Sentdm::AccountChannels)) }
19
+ attr_reader :channels
20
+
21
+ sig { params(channels: Sentdm::AccountChannels::OrHash).void }
22
+ attr_writer :channels
23
+
24
+ # When the account was created
25
+ sig { returns(T.nilable(Time)) }
26
+ attr_reader :created_at
27
+
28
+ sig { params(created_at: Time).void }
29
+ attr_writer :created_at
30
+
31
+ # Account description
32
+ sig { returns(T.nilable(String)) }
33
+ attr_accessor :description
34
+
35
+ # Contact email address
36
+ sig { returns(T.nilable(String)) }
37
+ attr_accessor :email
38
+
39
+ # Whether this account may mark a template for automatic creation on its sender
40
+ # profiles. Granted by Sent per account and off by default, so it is what a
41
+ # template-create form reads to decide whether to offer the option at all —
42
+ # marking a template without it does nothing.
43
+ #
44
+ # Top-level rather than inside settings, which is written for type: "profile" only
45
+ # and so would never carry it to the account type that can act on it.
46
+ #
47
+ # This is the capability, not the stored flag: a profile reports false whatever
48
+ # its own row holds. A sender profile owns no sender profiles, so a template it
49
+ # marked would have nothing to be created on and the fan-out would never read the
50
+ # flag. The admin GET /customers/{id} reports the stored value instead, because
51
+ # that is the one an operator granted.
52
+ sig { returns(T.nilable(T::Boolean)) }
53
+ attr_reader :enable_template_auto_creation_for_sp
54
+
55
+ sig { params(enable_template_auto_creation_for_sp: T::Boolean).void }
56
+ attr_writer :enable_template_auto_creation_for_sp
57
+
58
+ # Account icon URL
59
+ sig { returns(T.nilable(String)) }
60
+ attr_accessor :icon
61
+
62
+ # Account name
63
+ sig { returns(T.nilable(String)) }
64
+ attr_reader :name
65
+
66
+ sig { params(name: String).void }
67
+ attr_writer :name
68
+
69
+ # Organization ID (only for profile type — the parent organization)
70
+ sig { returns(T.nilable(String)) }
71
+ attr_accessor :organization_id
72
+
73
+ # List of profiles (populated for organization type, empty for user and profile
74
+ # types)
75
+ sig { returns(T.nilable(T::Array[Sentdm::AccountProfile])) }
76
+ attr_reader :profiles
77
+
78
+ sig { params(profiles: T::Array[Sentdm::AccountProfile::OrHash]).void }
79
+ attr_writer :profiles
80
+
81
+ # The SMS sender this account sends from in the United States, in E.164 form. Null
82
+ # when the account has no US SMS sender.
83
+ #
84
+ # The same value as channels.sms.phone_number, published under both names on
85
+ # purpose: sending_phone_number is what this value is already called on GET
86
+ # /v3/profiles, so the same key answers the same question whichever of the two
87
+ # endpoints you ask. Neither name is preferred over the other and neither is
88
+ # deprecated.
89
+ #
90
+ # The same value, not the same presence: this key is always written, including as
91
+ # null, whereas channels.sms.phone_number is left out entirely when there is no
92
+ # sender.
93
+ sig { returns(T.nilable(String)) }
94
+ attr_accessor :sending_phone_number
95
+
96
+ # The account that holds sending_phone_number in number inventory: normally this
97
+ # account itself, and a different account when the number is held elsewhere. Null
98
+ # when there is no US sender, or when the sender is not a number drawn from
99
+ # inventory — an alphanumeric sender ID or a short code.
100
+ sig { returns(T.nilable(String)) }
101
+ attr_accessor :sending_phone_number_profile_id
102
+
103
+ # Profile configuration settings
104
+ sig { returns(T.nilable(Sentdm::ProfileSettings)) }
105
+ attr_reader :settings
106
+
107
+ sig { params(settings: T.nilable(Sentdm::ProfileSettings::OrHash)).void }
108
+ attr_writer :settings
109
+
110
+ # Short name / abbreviation (only for profile type)
111
+ sig { returns(T.nilable(String)) }
112
+ attr_accessor :short_name
113
+
114
+ # Profile status (only for profile type): incomplete, pending_review, approved,
115
+ # etc.
116
+ sig { returns(T.nilable(String)) }
117
+ attr_accessor :status
118
+
119
+ # Account type: "organization" (has profiles), "user" (no profiles), or "profile"
120
+ # (child of an organization)
121
+ sig { returns(T.nilable(String)) }
122
+ attr_reader :type
123
+
124
+ sig { params(type: String).void }
125
+ attr_writer :type
126
+
127
+ # Account response for GET /v3/me endpoint. Returns organization (with profiles),
128
+ # user (standalone), or profile (child of an organization) data depending on the
129
+ # API key type. Always includes messaging channel configuration.
130
+ sig do
131
+ params(
132
+ id: String,
133
+ channels: Sentdm::AccountChannels::OrHash,
134
+ created_at: Time,
135
+ description: T.nilable(String),
136
+ email: T.nilable(String),
137
+ enable_template_auto_creation_for_sp: T::Boolean,
138
+ icon: T.nilable(String),
139
+ name: String,
140
+ organization_id: T.nilable(String),
141
+ profiles: T::Array[Sentdm::AccountProfile::OrHash],
142
+ sending_phone_number: T.nilable(String),
143
+ sending_phone_number_profile_id: T.nilable(String),
144
+ settings: T.nilable(Sentdm::ProfileSettings::OrHash),
145
+ short_name: T.nilable(String),
146
+ status: T.nilable(String),
147
+ type: String
148
+ ).returns(T.attached_class)
149
+ end
150
+ def self.new(
151
+ # Customer ID (organization, account, or profile)
152
+ id: nil,
153
+ # Messaging channel configuration. All three channels are always present. Each
154
+ # channel has a "configured" flag; configured channels expose additional details.
155
+ channels: nil,
156
+ # When the account was created
157
+ created_at: nil,
158
+ # Account description
159
+ description: nil,
160
+ # Contact email address
161
+ email: nil,
162
+ # Whether this account may mark a template for automatic creation on its sender
163
+ # profiles. Granted by Sent per account and off by default, so it is what a
164
+ # template-create form reads to decide whether to offer the option at all —
165
+ # marking a template without it does nothing.
166
+ #
167
+ # Top-level rather than inside settings, which is written for type: "profile" only
168
+ # and so would never carry it to the account type that can act on it.
169
+ #
170
+ # This is the capability, not the stored flag: a profile reports false whatever
171
+ # its own row holds. A sender profile owns no sender profiles, so a template it
172
+ # marked would have nothing to be created on and the fan-out would never read the
173
+ # flag. The admin GET /customers/{id} reports the stored value instead, because
174
+ # that is the one an operator granted.
175
+ enable_template_auto_creation_for_sp: nil,
176
+ # Account icon URL
177
+ icon: nil,
178
+ # Account name
179
+ name: nil,
180
+ # Organization ID (only for profile type — the parent organization)
181
+ organization_id: nil,
182
+ # List of profiles (populated for organization type, empty for user and profile
183
+ # types)
184
+ profiles: nil,
185
+ # The SMS sender this account sends from in the United States, in E.164 form. Null
186
+ # when the account has no US SMS sender.
187
+ #
188
+ # The same value as channels.sms.phone_number, published under both names on
189
+ # purpose: sending_phone_number is what this value is already called on GET
190
+ # /v3/profiles, so the same key answers the same question whichever of the two
191
+ # endpoints you ask. Neither name is preferred over the other and neither is
192
+ # deprecated.
193
+ #
194
+ # The same value, not the same presence: this key is always written, including as
195
+ # null, whereas channels.sms.phone_number is left out entirely when there is no
196
+ # sender.
197
+ sending_phone_number: nil,
198
+ # The account that holds sending_phone_number in number inventory: normally this
199
+ # account itself, and a different account when the number is held elsewhere. Null
200
+ # when there is no US sender, or when the sender is not a number drawn from
201
+ # inventory — an alphanumeric sender ID or a short code.
202
+ sending_phone_number_profile_id: nil,
203
+ # Profile configuration settings
204
+ settings: nil,
205
+ # Short name / abbreviation (only for profile type)
206
+ short_name: nil,
207
+ # Profile status (only for profile type): incomplete, pending_review, approved,
208
+ # etc.
209
+ status: nil,
210
+ # Account type: "organization" (has profiles), "user" (no profiles), or "profile"
211
+ # (child of an organization)
212
+ type: nil
213
+ )
214
+ end
215
+
216
+ sig do
217
+ override.returns(
218
+ {
219
+ id: String,
220
+ channels: Sentdm::AccountChannels,
221
+ created_at: Time,
222
+ description: T.nilable(String),
223
+ email: T.nilable(String),
224
+ enable_template_auto_creation_for_sp: T::Boolean,
225
+ icon: T.nilable(String),
226
+ name: String,
227
+ organization_id: T.nilable(String),
228
+ profiles: T::Array[Sentdm::AccountProfile],
229
+ sending_phone_number: T.nilable(String),
230
+ sending_phone_number_profile_id: T.nilable(String),
231
+ settings: T.nilable(Sentdm::ProfileSettings),
232
+ short_name: T.nilable(String),
233
+ status: T.nilable(String),
234
+ type: String
235
+ }
236
+ )
237
+ end
238
+ def to_hash
239
+ end
240
+ end
241
+ end
242
+ end
@@ -0,0 +1,66 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class AccountChannels < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::AccountChannels, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # RCS channel configuration. When configured, includes the RCS phone number.
12
+ sig { returns(T.nilable(Sentdm::AccountRcsChannel)) }
13
+ attr_reader :rcs
14
+
15
+ sig { params(rcs: Sentdm::AccountRcsChannel::OrHash).void }
16
+ attr_writer :rcs
17
+
18
+ # SMS channel configuration. When configured, includes the sending phone number.
19
+ sig { returns(T.nilable(Sentdm::AccountSMSChannel)) }
20
+ attr_reader :sms
21
+
22
+ sig { params(sms: Sentdm::AccountSMSChannel::OrHash).void }
23
+ attr_writer :sms
24
+
25
+ # WhatsApp Business channel configuration. When configured, includes the WhatsApp
26
+ # phone number and business name.
27
+ sig { returns(T.nilable(Sentdm::AccountWhatsappChannel)) }
28
+ attr_reader :whatsapp
29
+
30
+ sig { params(whatsapp: Sentdm::AccountWhatsappChannel::OrHash).void }
31
+ attr_writer :whatsapp
32
+
33
+ # Messaging channel configuration. All three channels are always present. Each
34
+ # channel has a "configured" flag; configured channels expose additional details.
35
+ sig do
36
+ params(
37
+ rcs: Sentdm::AccountRcsChannel::OrHash,
38
+ sms: Sentdm::AccountSMSChannel::OrHash,
39
+ whatsapp: Sentdm::AccountWhatsappChannel::OrHash
40
+ ).returns(T.attached_class)
41
+ end
42
+ def self.new(
43
+ # RCS channel configuration. When configured, includes the RCS phone number.
44
+ rcs: nil,
45
+ # SMS channel configuration. When configured, includes the sending phone number.
46
+ sms: nil,
47
+ # WhatsApp Business channel configuration. When configured, includes the WhatsApp
48
+ # phone number and business name.
49
+ whatsapp: nil
50
+ )
51
+ end
52
+
53
+ sig do
54
+ override.returns(
55
+ {
56
+ rcs: Sentdm::AccountRcsChannel,
57
+ sms: Sentdm::AccountSMSChannel,
58
+ whatsapp: Sentdm::AccountWhatsappChannel
59
+ }
60
+ )
61
+ end
62
+ def to_hash
63
+ end
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,116 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class AccountProfile < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::AccountProfile, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # Profile unique identifier
12
+ sig { returns(T.nilable(String)) }
13
+ attr_reader :id
14
+
15
+ sig { params(id: String).void }
16
+ attr_writer :id
17
+
18
+ # When the profile was created
19
+ sig { returns(T.nilable(Time)) }
20
+ attr_reader :created_at
21
+
22
+ sig { params(created_at: Time).void }
23
+ attr_writer :created_at
24
+
25
+ # Profile description
26
+ sig { returns(T.nilable(String)) }
27
+ attr_accessor :description
28
+
29
+ # Profile icon URL
30
+ sig { returns(T.nilable(String)) }
31
+ attr_accessor :icon
32
+
33
+ # Profile name
34
+ sig { returns(T.nilable(String)) }
35
+ attr_reader :name
36
+
37
+ sig { params(name: String).void }
38
+ attr_writer :name
39
+
40
+ # User's role in this profile: admin, billing, developer (inherited from
41
+ # organization if not explicitly set)
42
+ sig { returns(T.nilable(String)) }
43
+ attr_accessor :role
44
+
45
+ # Profile configuration settings
46
+ sig { returns(T.nilable(Sentdm::ProfileSettings)) }
47
+ attr_reader :settings
48
+
49
+ sig { params(settings: Sentdm::ProfileSettings::OrHash).void }
50
+ attr_writer :settings
51
+
52
+ # Profile short name (abbreviation)
53
+ sig { returns(T.nilable(String)) }
54
+ attr_accessor :short_name
55
+
56
+ # Profile setup status: incomplete, pending_review, approved, rejected
57
+ sig { returns(T.nilable(String)) }
58
+ attr_accessor :status
59
+
60
+ # Profile (sender profile) response for v3 API
61
+ sig do
62
+ params(
63
+ id: String,
64
+ created_at: Time,
65
+ description: T.nilable(String),
66
+ icon: T.nilable(String),
67
+ name: String,
68
+ role: T.nilable(String),
69
+ settings: Sentdm::ProfileSettings::OrHash,
70
+ short_name: T.nilable(String),
71
+ status: T.nilable(String)
72
+ ).returns(T.attached_class)
73
+ end
74
+ def self.new(
75
+ # Profile unique identifier
76
+ id: nil,
77
+ # When the profile was created
78
+ created_at: nil,
79
+ # Profile description
80
+ description: nil,
81
+ # Profile icon URL
82
+ icon: nil,
83
+ # Profile name
84
+ name: nil,
85
+ # User's role in this profile: admin, billing, developer (inherited from
86
+ # organization if not explicitly set)
87
+ role: nil,
88
+ # Profile configuration settings
89
+ settings: nil,
90
+ # Profile short name (abbreviation)
91
+ short_name: nil,
92
+ # Profile setup status: incomplete, pending_review, approved, rejected
93
+ status: nil
94
+ )
95
+ end
96
+
97
+ sig do
98
+ override.returns(
99
+ {
100
+ id: String,
101
+ created_at: Time,
102
+ description: T.nilable(String),
103
+ icon: T.nilable(String),
104
+ name: String,
105
+ role: T.nilable(String),
106
+ settings: Sentdm::ProfileSettings,
107
+ short_name: T.nilable(String),
108
+ status: T.nilable(String)
109
+ }
110
+ )
111
+ end
112
+ def to_hash
113
+ end
114
+ end
115
+ end
116
+ end
@@ -0,0 +1,45 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class AccountRcsChannel < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::AccountRcsChannel, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # Whether RCS is configured for this account
12
+ sig { returns(T.nilable(T::Boolean)) }
13
+ attr_reader :configured
14
+
15
+ sig { params(configured: T::Boolean).void }
16
+ attr_writer :configured
17
+
18
+ # RCS-enabled phone number in E.164 format
19
+ sig { returns(T.nilable(String)) }
20
+ attr_accessor :phone_number
21
+
22
+ # RCS channel configuration. When configured, includes the RCS phone number.
23
+ sig do
24
+ params(configured: T::Boolean, phone_number: T.nilable(String)).returns(
25
+ T.attached_class
26
+ )
27
+ end
28
+ def self.new(
29
+ # Whether RCS is configured for this account
30
+ configured: nil,
31
+ # RCS-enabled phone number in E.164 format
32
+ phone_number: nil
33
+ )
34
+ end
35
+
36
+ sig do
37
+ override.returns(
38
+ { configured: T::Boolean, phone_number: T.nilable(String) }
39
+ )
40
+ end
41
+ def to_hash
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,45 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class AccountSMSChannel < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::AccountSMSChannel, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # Whether SMS is configured for this account
12
+ sig { returns(T.nilable(T::Boolean)) }
13
+ attr_reader :configured
14
+
15
+ sig { params(configured: T::Boolean).void }
16
+ attr_writer :configured
17
+
18
+ # Sending phone number in E.164 format
19
+ sig { returns(T.nilable(String)) }
20
+ attr_accessor :phone_number
21
+
22
+ # SMS channel configuration. When configured, includes the sending phone number.
23
+ sig do
24
+ params(configured: T::Boolean, phone_number: T.nilable(String)).returns(
25
+ T.attached_class
26
+ )
27
+ end
28
+ def self.new(
29
+ # Whether SMS is configured for this account
30
+ configured: nil,
31
+ # Sending phone number in E.164 format
32
+ phone_number: nil
33
+ )
34
+ end
35
+
36
+ sig do
37
+ override.returns(
38
+ { configured: T::Boolean, phone_number: T.nilable(String) }
39
+ )
40
+ end
41
+ def to_hash
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,58 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class AccountWhatsappChannel < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::AccountWhatsappChannel, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # WhatsApp Business display name
12
+ sig { returns(T.nilable(String)) }
13
+ attr_accessor :business_name
14
+
15
+ # Whether WhatsApp is configured for this account
16
+ sig { returns(T.nilable(T::Boolean)) }
17
+ attr_reader :configured
18
+
19
+ sig { params(configured: T::Boolean).void }
20
+ attr_writer :configured
21
+
22
+ # WhatsApp phone number in E.164 format
23
+ sig { returns(T.nilable(String)) }
24
+ attr_accessor :phone_number
25
+
26
+ # WhatsApp Business channel configuration. When configured, includes the WhatsApp
27
+ # phone number and business name.
28
+ sig do
29
+ params(
30
+ business_name: T.nilable(String),
31
+ configured: T::Boolean,
32
+ phone_number: T.nilable(String)
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ # WhatsApp Business display name
37
+ business_name: nil,
38
+ # Whether WhatsApp is configured for this account
39
+ configured: nil,
40
+ # WhatsApp phone number in E.164 format
41
+ phone_number: nil
42
+ )
43
+ end
44
+
45
+ sig do
46
+ override.returns(
47
+ {
48
+ business_name: T.nilable(String),
49
+ configured: T::Boolean,
50
+ phone_number: T.nilable(String)
51
+ }
52
+ )
53
+ end
54
+ def to_hash
55
+ end
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,78 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class APIResponseOfAccount < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::APIResponseOfAccount, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # Account response for GET /v3/me endpoint. Returns organization (with profiles),
12
+ # user (standalone), or profile (child of an organization) data depending on the
13
+ # API key type. Always includes messaging channel configuration.
14
+ sig { returns(T.nilable(Sentdm::Account)) }
15
+ attr_reader :data
16
+
17
+ sig { params(data: T.nilable(Sentdm::Account::OrHash)).void }
18
+ attr_writer :data
19
+
20
+ # Error information
21
+ sig { returns(T.nilable(Sentdm::ErrorDetail)) }
22
+ attr_reader :error
23
+
24
+ sig { params(error: T.nilable(Sentdm::ErrorDetail::OrHash)).void }
25
+ attr_writer :error
26
+
27
+ # Request and response metadata
28
+ sig { returns(T.nilable(Sentdm::APIMeta)) }
29
+ attr_reader :meta
30
+
31
+ sig { params(meta: Sentdm::APIMeta::OrHash).void }
32
+ attr_writer :meta
33
+
34
+ # Indicates whether the request was successful
35
+ sig { returns(T.nilable(T::Boolean)) }
36
+ attr_reader :success
37
+
38
+ sig { params(success: T::Boolean).void }
39
+ attr_writer :success
40
+
41
+ # Standard API response envelope for all v3 endpoints
42
+ sig do
43
+ params(
44
+ data: T.nilable(Sentdm::Account::OrHash),
45
+ error: T.nilable(Sentdm::ErrorDetail::OrHash),
46
+ meta: Sentdm::APIMeta::OrHash,
47
+ success: T::Boolean
48
+ ).returns(T.attached_class)
49
+ end
50
+ def self.new(
51
+ # Account response for GET /v3/me endpoint. Returns organization (with profiles),
52
+ # user (standalone), or profile (child of an organization) data depending on the
53
+ # API key type. Always includes messaging channel configuration.
54
+ data: nil,
55
+ # Error information
56
+ error: nil,
57
+ # Request and response metadata
58
+ meta: nil,
59
+ # Indicates whether the request was successful
60
+ success: nil
61
+ )
62
+ end
63
+
64
+ sig do
65
+ override.returns(
66
+ {
67
+ data: T.nilable(Sentdm::Account),
68
+ error: T.nilable(Sentdm::ErrorDetail),
69
+ meta: Sentdm::APIMeta,
70
+ success: T::Boolean
71
+ }
72
+ )
73
+ end
74
+ def to_hash
75
+ end
76
+ end
77
+ end
78
+ end