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,73 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class TemplateMmsBodyContent < Sentdm::Models::TemplateBodyContent
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::TemplateMmsBodyContent, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # Attachments carried by every send on this template, in order. A per-send
12
+ # media_urls on the request replaces this list rather than adding to it, so a
13
+ # template can hold a default creative and a caller can still send something
14
+ # recipient-specific.
15
+ sig { returns(T.nilable(T::Array[Sentdm::TemplateMediaItem])) }
16
+ attr_accessor :media
17
+
18
+ # MMS subject line. Optional — most handsets render it above the body, some ignore
19
+ # it entirely. Deliberately its own field rather than riding TemplateHeader: the
20
+ # header is authored once and shared across every channel, and carries Meta's
21
+ # 60-character cap plus its no-newline, no-emoji text rules, none of which
22
+ # describe an MMS subject.
23
+ sig { returns(T.nilable(String)) }
24
+ attr_accessor :subject
25
+
26
+ # MMS-specific body content.
27
+ #
28
+ # Why MMS needs its own type when the other channels share one: it is the only
29
+ # channel with a subject line and the only one with attachments. Every other
30
+ # channel's body is text and variables, which is exactly what TemplateBodyContent
31
+ # already is. Putting Subject and Media on the shared type instead would give sms,
32
+ # whatsapp and rcs two members none of them can ever use.
33
+ #
34
+ # Derives from TemplateBodyContent so that every existing consumer of a body slot
35
+ # — MessageUtils.ConvertVariableToReadable,
36
+ # TemplateDefinition.GetRequiredVariables,
37
+ # TemplateDefinitionValidator.ApplyBodyContentRules — reads it with no change. The
38
+ # two extra members are what the MMS strategy and the provider request need on
39
+ # top.
40
+ sig do
41
+ params(
42
+ media: T.nilable(T::Array[Sentdm::TemplateMediaItem::OrHash]),
43
+ subject: T.nilable(String)
44
+ ).returns(T.attached_class)
45
+ end
46
+ def self.new(
47
+ # Attachments carried by every send on this template, in order. A per-send
48
+ # media_urls on the request replaces this list rather than adding to it, so a
49
+ # template can hold a default creative and a caller can still send something
50
+ # recipient-specific.
51
+ media: nil,
52
+ # MMS subject line. Optional — most handsets render it above the body, some ignore
53
+ # it entirely. Deliberately its own field rather than riding TemplateHeader: the
54
+ # header is authored once and shared across every channel, and carries Meta's
55
+ # 60-character cap plus its no-newline, no-emoji text rules, none of which
56
+ # describe an MMS subject.
57
+ subject: nil
58
+ )
59
+ end
60
+
61
+ sig do
62
+ override.returns(
63
+ {
64
+ media: T.nilable(T::Array[Sentdm::TemplateMediaItem]),
65
+ subject: T.nilable(String)
66
+ }
67
+ )
68
+ end
69
+ def to_hash
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,79 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class TemplateRef < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Sentdm::TemplateRef, Sentdm::Internal::AnyHash) }
8
+
9
+ # Template ID (mutually exclusive with name)
10
+ sig { returns(T.nilable(String)) }
11
+ attr_accessor :id
12
+
13
+ # Template name (mutually exclusive with id)
14
+ sig { returns(T.nilable(String)) }
15
+ attr_accessor :name
16
+
17
+ # Template variable parameters for personalization, keyed by variable name.
18
+ #
19
+ # Every variable the template declares is required; GET /v3/templates/{id} lists
20
+ # them. Supplying a key the template does not declare is ignored.
21
+ #
22
+ # Media headers. A template whose header is an image (designed in WhatsApp Manager
23
+ # and imported into Sent) declares a reserved header_image key. Its value is a
24
+ # publicly reachable https URL that Meta fetches at send time — Sent does not host
25
+ # the asset, and the sample approved with the template is not reused. The key is
26
+ # derived from the header's media type, so header_video and header_document follow
27
+ # the same shape when those formats ship.
28
+ #
29
+ # "parameters": { "header_image": "https://cdn.example.com/banner.jpg", "name":
30
+ # "John Doe" }
31
+ sig { returns(T.nilable(T::Hash[Symbol, String])) }
32
+ attr_accessor :parameters
33
+
34
+ # SDK-style template reference: resolve by ID or by name, with optional
35
+ # parameters.
36
+ sig do
37
+ params(
38
+ id: T.nilable(String),
39
+ name: T.nilable(String),
40
+ parameters: T.nilable(T::Hash[Symbol, String])
41
+ ).returns(T.attached_class)
42
+ end
43
+ def self.new(
44
+ # Template ID (mutually exclusive with name)
45
+ id: nil,
46
+ # Template name (mutually exclusive with id)
47
+ name: nil,
48
+ # Template variable parameters for personalization, keyed by variable name.
49
+ #
50
+ # Every variable the template declares is required; GET /v3/templates/{id} lists
51
+ # them. Supplying a key the template does not declare is ignored.
52
+ #
53
+ # Media headers. A template whose header is an image (designed in WhatsApp Manager
54
+ # and imported into Sent) declares a reserved header_image key. Its value is a
55
+ # publicly reachable https URL that Meta fetches at send time — Sent does not host
56
+ # the asset, and the sample approved with the template is not reused. The key is
57
+ # derived from the header's media type, so header_video and header_document follow
58
+ # the same shape when those formats ship.
59
+ #
60
+ # "parameters": { "header_image": "https://cdn.example.com/banner.jpg", "name":
61
+ # "John Doe" }
62
+ parameters: nil
63
+ )
64
+ end
65
+
66
+ sig do
67
+ override.returns(
68
+ {
69
+ id: T.nilable(String),
70
+ name: T.nilable(String),
71
+ parameters: T.nilable(T::Hash[Symbol, String])
72
+ }
73
+ )
74
+ end
75
+ def to_hash
76
+ end
77
+ end
78
+ end
79
+ end
@@ -14,10 +14,10 @@ module Sentdm
14
14
  sig { returns(String) }
15
15
  attr_accessor :name
16
16
 
17
- sig { returns(Sentdm::TemplateVariable::Props) }
17
+ sig { returns(Sentdm::TemplateVariableProps) }
18
18
  attr_reader :props
19
19
 
20
- sig { params(props: Sentdm::TemplateVariable::Props::OrHash).void }
20
+ sig { params(props: Sentdm::TemplateVariableProps::OrHash).void }
21
21
  attr_writer :props
22
22
 
23
23
  # One of variable, link or media. Decides which Props fields are required.
@@ -40,7 +40,7 @@ module Sentdm
40
40
  sig do
41
41
  params(
42
42
  name: String,
43
- props: Sentdm::TemplateVariable::Props::OrHash,
43
+ props: Sentdm::TemplateVariableProps::OrHash,
44
44
  type: String,
45
45
  id: Integer
46
46
  ).returns(T.attached_class)
@@ -68,7 +68,7 @@ module Sentdm
68
68
  override.returns(
69
69
  {
70
70
  name: String,
71
- props: Sentdm::TemplateVariable::Props,
71
+ props: Sentdm::TemplateVariableProps,
72
72
  type: String,
73
73
  id: Integer
74
74
  }
@@ -76,82 +76,6 @@ module Sentdm
76
76
  end
77
77
  def to_hash
78
78
  end
79
-
80
- class Props < Sentdm::Internal::Type::BaseModel
81
- OrHash =
82
- T.type_alias do
83
- T.any(Sentdm::TemplateVariable::Props, Sentdm::Internal::AnyHash)
84
- end
85
-
86
- sig { returns(String) }
87
- attr_accessor :media_type
88
-
89
- # Example value substituted into the template when previewing it and when
90
- # submitting it to Meta for review. Free text by nature, so the converter accepts
91
- # a JSON number or boolean here and normalizes it — see
92
- # JsonScalarToStringConverter for why — and guarantees it is always serialized
93
- # back out as a JSON string.
94
- sig { returns(String) }
95
- attr_accessor :sample
96
-
97
- sig { returns(String) }
98
- attr_accessor :url
99
-
100
- sig { returns(String) }
101
- attr_accessor :variable_type
102
-
103
- sig { returns(T.nilable(String)) }
104
- attr_accessor :alt
105
-
106
- sig { returns(T.nilable(String)) }
107
- attr_accessor :regex
108
-
109
- sig { returns(T.nilable(String)) }
110
- attr_accessor :short_url
111
-
112
- sig do
113
- params(
114
- media_type: String,
115
- sample: String,
116
- url: String,
117
- variable_type: String,
118
- alt: T.nilable(String),
119
- regex: T.nilable(String),
120
- short_url: T.nilable(String)
121
- ).returns(T.attached_class)
122
- end
123
- def self.new(
124
- media_type:,
125
- # Example value substituted into the template when previewing it and when
126
- # submitting it to Meta for review. Free text by nature, so the converter accepts
127
- # a JSON number or boolean here and normalizes it — see
128
- # JsonScalarToStringConverter for why — and guarantees it is always serialized
129
- # back out as a JSON string.
130
- sample:,
131
- url:,
132
- variable_type:,
133
- alt: nil,
134
- regex: nil,
135
- short_url: nil
136
- )
137
- end
138
-
139
- sig do
140
- override.returns(
141
- {
142
- media_type: String,
143
- sample: String,
144
- url: String,
145
- variable_type: String,
146
- alt: T.nilable(String),
147
- regex: T.nilable(String),
148
- short_url: T.nilable(String)
149
- }
150
- )
151
- end
152
- def to_hash
153
- end
154
- end
155
79
  end
156
80
  end
157
81
  end
@@ -0,0 +1,81 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class TemplateVariableProps < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::TemplateVariableProps, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :media_type
13
+
14
+ # Example value substituted into the template when previewing it and when
15
+ # submitting it to Meta for review. Free text by nature, so the converter accepts
16
+ # a JSON number or boolean here and normalizes it — see
17
+ # JsonScalarToStringConverter for why — and guarantees it is always serialized
18
+ # back out as a JSON string.
19
+ sig { returns(String) }
20
+ attr_accessor :sample
21
+
22
+ sig { returns(String) }
23
+ attr_accessor :url
24
+
25
+ sig { returns(String) }
26
+ attr_accessor :variable_type
27
+
28
+ sig { returns(T.nilable(String)) }
29
+ attr_accessor :alt
30
+
31
+ sig { returns(T.nilable(String)) }
32
+ attr_accessor :regex
33
+
34
+ sig { returns(T.nilable(String)) }
35
+ attr_accessor :short_url
36
+
37
+ sig do
38
+ params(
39
+ media_type: String,
40
+ sample: String,
41
+ url: String,
42
+ variable_type: String,
43
+ alt: T.nilable(String),
44
+ regex: T.nilable(String),
45
+ short_url: T.nilable(String)
46
+ ).returns(T.attached_class)
47
+ end
48
+ def self.new(
49
+ media_type:,
50
+ # Example value substituted into the template when previewing it and when
51
+ # submitting it to Meta for review. Free text by nature, so the converter accepts
52
+ # a JSON number or boolean here and normalizes it — see
53
+ # JsonScalarToStringConverter for why — and guarantees it is always serialized
54
+ # back out as a JSON string.
55
+ sample:,
56
+ url:,
57
+ variable_type:,
58
+ alt: nil,
59
+ regex: nil,
60
+ short_url: nil
61
+ )
62
+ end
63
+
64
+ sig do
65
+ override.returns(
66
+ {
67
+ media_type: String,
68
+ sample: String,
69
+ url: String,
70
+ variable_type: String,
71
+ alt: T.nilable(String),
72
+ regex: T.nilable(String),
73
+ short_url: T.nilable(String)
74
+ }
75
+ )
76
+ end
77
+ def to_hash
78
+ end
79
+ end
80
+ end
81
+ end
@@ -0,0 +1,50 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class TemplatesList < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Sentdm::TemplatesList, Sentdm::Internal::AnyHash) }
8
+
9
+ # Pagination metadata for list responses
10
+ sig { returns(T.nilable(Sentdm::PaginationMeta)) }
11
+ attr_reader :pagination
12
+
13
+ sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
14
+ attr_writer :pagination
15
+
16
+ # The templates on this page.
17
+ sig { returns(T.nilable(T::Array[Sentdm::Template])) }
18
+ attr_reader :templates
19
+
20
+ sig { params(templates: T::Array[Sentdm::Template::OrHash]).void }
21
+ attr_writer :templates
22
+
23
+ # A paginated list of templates.
24
+ sig do
25
+ params(
26
+ pagination: Sentdm::PaginationMeta::OrHash,
27
+ templates: T::Array[Sentdm::Template::OrHash]
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(
31
+ # Pagination metadata for list responses
32
+ pagination: nil,
33
+ # The templates on this page.
34
+ templates: nil
35
+ )
36
+ end
37
+
38
+ sig do
39
+ override.returns(
40
+ {
41
+ pagination: Sentdm::PaginationMeta,
42
+ templates: T::Array[Sentdm::Template]
43
+ }
44
+ )
45
+ end
46
+ def to_hash
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,50 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class UsersList < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias { T.any(Sentdm::UsersList, Sentdm::Internal::AnyHash) }
8
+
9
+ # Pagination metadata for list responses
10
+ sig { returns(T.nilable(Sentdm::PaginationMeta)) }
11
+ attr_reader :pagination
12
+
13
+ sig { params(pagination: Sentdm::PaginationMeta::OrHash).void }
14
+ attr_writer :pagination
15
+
16
+ # The users on this page.
17
+ sig { returns(T.nilable(T::Array[Sentdm::UserResponse])) }
18
+ attr_reader :users
19
+
20
+ sig { params(users: T::Array[Sentdm::UserResponse::OrHash]).void }
21
+ attr_writer :users
22
+
23
+ # The users in the organization.
24
+ sig do
25
+ params(
26
+ pagination: Sentdm::PaginationMeta::OrHash,
27
+ users: T::Array[Sentdm::UserResponse::OrHash]
28
+ ).returns(T.attached_class)
29
+ end
30
+ def self.new(
31
+ # Pagination metadata for list responses
32
+ pagination: nil,
33
+ # The users on this page.
34
+ users: nil
35
+ )
36
+ end
37
+
38
+ sig do
39
+ override.returns(
40
+ {
41
+ pagination: Sentdm::PaginationMeta,
42
+ users: T::Array[Sentdm::UserResponse]
43
+ }
44
+ )
45
+ end
46
+ def to_hash
47
+ end
48
+ end
49
+ end
50
+ end
@@ -71,7 +71,7 @@ module Sentdm
71
71
  # call your answer connected to a phone number ran the caller's leg to your number
72
72
  # and the leg to the connected number at once, and both are billed. Null until the
73
73
  # call has been priced
74
- sig { returns(T.nilable(T::Array[Sentdm::Voice::Call::Leg])) }
74
+ sig { returns(T.nilable(T::Array[Sentdm::Voice::CallLeg])) }
75
75
  attr_accessor :legs
76
76
 
77
77
  # The calling mode: inapp for a call between people in your app and phone numbers,
@@ -141,7 +141,7 @@ module Sentdm
141
141
  ended_at: T.nilable(Time),
142
142
  failure_reason: T.nilable(String),
143
143
  from: Sentdm::Voice::CallParty::OrHash,
144
- legs: T.nilable(T::Array[Sentdm::Voice::Call::Leg::OrHash]),
144
+ legs: T.nilable(T::Array[Sentdm::Voice::CallLeg::OrHash]),
145
145
  mode: String,
146
146
  number: String,
147
147
  price: T.nilable(Float),
@@ -226,7 +226,7 @@ module Sentdm
226
226
  ended_at: T.nilable(Time),
227
227
  failure_reason: T.nilable(String),
228
228
  from: Sentdm::Voice::CallParty,
229
- legs: T.nilable(T::Array[Sentdm::Voice::Call::Leg]),
229
+ legs: T.nilable(T::Array[Sentdm::Voice::CallLeg]),
230
230
  mode: String,
231
231
  number: String,
232
232
  price: T.nilable(Float),
@@ -240,89 +240,6 @@ module Sentdm
240
240
  end
241
241
  def to_hash
242
242
  end
243
-
244
- class Leg < Sentdm::Internal::Type::BaseModel
245
- OrHash =
246
- T.type_alias do
247
- T.any(Sentdm::Voice::Call::Leg, Sentdm::Internal::AnyHash)
248
- end
249
-
250
- # The whole minutes the leg was billed for
251
- sig { returns(T.nilable(Integer)) }
252
- attr_reader :billed_minutes
253
-
254
- sig { params(billed_minutes: Integer).void }
255
- attr_writer :billed_minutes
256
-
257
- # What the leg cost, in the same unit as the call's price
258
- sig { returns(T.nilable(Float)) }
259
- attr_reader :cost
260
-
261
- sig { params(cost: Float).void }
262
- attr_writer :cost
263
-
264
- # The currency of the cost: USD
265
- sig { returns(T.nilable(String)) }
266
- attr_reader :currency
267
-
268
- sig { params(currency: String).void }
269
- attr_writer :currency
270
-
271
- # inbound for the caller's leg to your number, outbound for a leg placed on your
272
- # behalf
273
- sig { returns(T.nilable(String)) }
274
- attr_reader :direction
275
-
276
- sig { params(direction: String).void }
277
- attr_writer :direction
278
-
279
- # The phone number the leg reached, in E.164 format: your number for the inbound
280
- # leg, the number dialed for an outbound one. Null for a leg to one of your app
281
- # users or a room
282
- sig { returns(T.nilable(String)) }
283
- attr_accessor :number
284
-
285
- # One leg of a call the price covers
286
- sig do
287
- params(
288
- billed_minutes: Integer,
289
- cost: Float,
290
- currency: String,
291
- direction: String,
292
- number: T.nilable(String)
293
- ).returns(T.attached_class)
294
- end
295
- def self.new(
296
- # The whole minutes the leg was billed for
297
- billed_minutes: nil,
298
- # What the leg cost, in the same unit as the call's price
299
- cost: nil,
300
- # The currency of the cost: USD
301
- currency: nil,
302
- # inbound for the caller's leg to your number, outbound for a leg placed on your
303
- # behalf
304
- direction: nil,
305
- # The phone number the leg reached, in E.164 format: your number for the inbound
306
- # leg, the number dialed for an outbound one. Null for a leg to one of your app
307
- # users or a room
308
- number: nil
309
- )
310
- end
311
-
312
- sig do
313
- override.returns(
314
- {
315
- billed_minutes: Integer,
316
- cost: Float,
317
- currency: String,
318
- direction: String,
319
- number: T.nilable(String)
320
- }
321
- )
322
- end
323
- def to_hash
324
- end
325
- end
326
243
  end
327
244
  end
328
245
  end
@@ -0,0 +1,90 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ module Voice
6
+ class CallLeg < Sentdm::Internal::Type::BaseModel
7
+ OrHash =
8
+ T.type_alias do
9
+ T.any(Sentdm::Voice::CallLeg, Sentdm::Internal::AnyHash)
10
+ end
11
+
12
+ # The whole minutes the leg was billed for
13
+ sig { returns(T.nilable(Integer)) }
14
+ attr_reader :billed_minutes
15
+
16
+ sig { params(billed_minutes: Integer).void }
17
+ attr_writer :billed_minutes
18
+
19
+ # What the leg cost, in the same unit as the call's price
20
+ sig { returns(T.nilable(Float)) }
21
+ attr_reader :cost
22
+
23
+ sig { params(cost: Float).void }
24
+ attr_writer :cost
25
+
26
+ # The currency of the cost: USD
27
+ sig { returns(T.nilable(String)) }
28
+ attr_reader :currency
29
+
30
+ sig { params(currency: String).void }
31
+ attr_writer :currency
32
+
33
+ # inbound for the caller's leg to your number, outbound for a leg placed on your
34
+ # behalf
35
+ sig { returns(T.nilable(String)) }
36
+ attr_reader :direction
37
+
38
+ sig { params(direction: String).void }
39
+ attr_writer :direction
40
+
41
+ # The phone number the leg reached, in E.164 format: your number for the inbound
42
+ # leg, the number dialed for an outbound one. Null for a leg to one of your app
43
+ # users or a room
44
+ sig { returns(T.nilable(String)) }
45
+ attr_accessor :number
46
+
47
+ # One leg of a call the price covers
48
+ sig do
49
+ params(
50
+ billed_minutes: Integer,
51
+ cost: Float,
52
+ currency: String,
53
+ direction: String,
54
+ number: T.nilable(String)
55
+ ).returns(T.attached_class)
56
+ end
57
+ def self.new(
58
+ # The whole minutes the leg was billed for
59
+ billed_minutes: nil,
60
+ # What the leg cost, in the same unit as the call's price
61
+ cost: nil,
62
+ # The currency of the cost: USD
63
+ currency: nil,
64
+ # inbound for the caller's leg to your number, outbound for a leg placed on your
65
+ # behalf
66
+ direction: nil,
67
+ # The phone number the leg reached, in E.164 format: your number for the inbound
68
+ # leg, the number dialed for an outbound one. Null for a leg to one of your app
69
+ # users or a room
70
+ number: nil
71
+ )
72
+ end
73
+
74
+ sig do
75
+ override.returns(
76
+ {
77
+ billed_minutes: Integer,
78
+ cost: Float,
79
+ currency: String,
80
+ direction: String,
81
+ number: T.nilable(String)
82
+ }
83
+ )
84
+ end
85
+ def to_hash
86
+ end
87
+ end
88
+ end
89
+ end
90
+ end