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,190 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SenderProfileCreateParams < Sentdm::Internal::Type::BaseModel
6
+ extend Sentdm::Internal::Type::RequestParameters::Converter
7
+ include Sentdm::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Sentdm::SenderProfileCreateParams, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ # Who pays for what a sender profile sends.
15
+ #
16
+ # Ownership reads the same way as BrandRequest and CampaignRequest: inherit: true
17
+ # is the organization paying; inherit: false (or an empty block) is the profile
18
+ # paying for itself.
19
+ #
20
+ # An absent block is the one place billing differs from brand and campaign: a
21
+ # profile still has to be paid for, so omitting billing stores
22
+ # ProfileAndOrganizationBilling — the profile pays first and its organization
23
+ # covers what the profile's balance cannot (see ResolveStored). { "name": "..." }
24
+ # stays a complete request.
25
+ #
26
+ # Billing carries no fields of its own yet, so a profile paying for itself is {
27
+ # "inherit": false } — or an empty block, which means the same. That is thinner
28
+ # than brand and campaign, where supplying data is the act of owning; it becomes
29
+ # ordinary the moment billing gains a contact or a payment method to carry.
30
+ sig { returns(T.nilable(Sentdm::SenderProfileBillingRequest)) }
31
+ attr_reader :billing
32
+
33
+ sig do
34
+ params(
35
+ billing: T.nilable(Sentdm::SenderProfileBillingRequest::OrHash)
36
+ ).void
37
+ end
38
+ attr_writer :billing
39
+
40
+ # The channels the profile sends on. Each is independently the profile's own or
41
+ # absent — none can be inherited, so none carries a mode and presence is the whole
42
+ # of the request.
43
+ #
44
+ # A profile can send SMS in several markets, but create takes one — the market it
45
+ # starts in. Further markets are added through POST /v3/channels/sms with
46
+ # x-profile-id, and a read returns them all as a list. Create stays singular
47
+ # permanently rather than being a list that accepts one entry: the constraint is
48
+ # in the type, and there is no later widening to break the contract.
49
+ sig { returns(T.nilable(Sentdm::SenderProfileChannels)) }
50
+ attr_reader :channels
51
+
52
+ sig do
53
+ params(channels: T.nilable(Sentdm::SenderProfileChannels::OrHash)).void
54
+ end
55
+ attr_writer :channels
56
+
57
+ # The compliance values a market registers with. `brand` and `campaign` apply to
58
+ # US `TEN_DLC`; other markets fill this map with the document keys their own
59
+ # requirements name.
60
+ sig { returns(T.nilable(Sentdm::Channels::MarketCompliance)) }
61
+ attr_reader :compliance
62
+
63
+ sig do
64
+ params(compliance: Sentdm::Channels::MarketCompliance::OrHash).void
65
+ end
66
+ attr_writer :compliance
67
+
68
+ sig { returns(T.nilable(String)) }
69
+ attr_accessor :description
70
+
71
+ # Display name for the profile. Required.
72
+ sig { returns(T.nilable(String)) }
73
+ attr_reader :name
74
+
75
+ sig { params(name: String).void }
76
+ attr_writer :name
77
+
78
+ # Who is notified about this profile's events: ORGANIZATION, SENDER_PROFILE, or
79
+ # ORGANIZATION_AND_SENDER_PROFILE. Omitting it leaves the profile on the
80
+ # Organization default.
81
+ sig { returns(T.nilable(String)) }
82
+ attr_accessor :notifications
83
+
84
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
85
+ # for testing integrations without actual execution
86
+ sig { returns(T.nilable(T::Boolean)) }
87
+ attr_reader :sandbox
88
+
89
+ sig { params(sandbox: T::Boolean).void }
90
+ attr_writer :sandbox
91
+
92
+ # Short name, which is also the SMS sender id — required. 3–11 characters of
93
+ # letters, numbers and spaces, with at least one letter.
94
+ sig { returns(T.nilable(String)) }
95
+ attr_reader :short_name
96
+
97
+ sig { params(short_name: String).void }
98
+ attr_writer :short_name
99
+
100
+ sig { returns(T.nilable(String)) }
101
+ attr_reader :idempotency_key
102
+
103
+ sig { params(idempotency_key: String).void }
104
+ attr_writer :idempotency_key
105
+
106
+ sig do
107
+ params(
108
+ billing: T.nilable(Sentdm::SenderProfileBillingRequest::OrHash),
109
+ channels: T.nilable(Sentdm::SenderProfileChannels::OrHash),
110
+ compliance: Sentdm::Channels::MarketCompliance::OrHash,
111
+ description: T.nilable(String),
112
+ name: String,
113
+ notifications: T.nilable(String),
114
+ sandbox: T::Boolean,
115
+ short_name: String,
116
+ idempotency_key: String,
117
+ request_options: Sentdm::RequestOptions::OrHash
118
+ ).returns(T.attached_class)
119
+ end
120
+ def self.new(
121
+ # Who pays for what a sender profile sends.
122
+ #
123
+ # Ownership reads the same way as BrandRequest and CampaignRequest: inherit: true
124
+ # is the organization paying; inherit: false (or an empty block) is the profile
125
+ # paying for itself.
126
+ #
127
+ # An absent block is the one place billing differs from brand and campaign: a
128
+ # profile still has to be paid for, so omitting billing stores
129
+ # ProfileAndOrganizationBilling — the profile pays first and its organization
130
+ # covers what the profile's balance cannot (see ResolveStored). { "name": "..." }
131
+ # stays a complete request.
132
+ #
133
+ # Billing carries no fields of its own yet, so a profile paying for itself is {
134
+ # "inherit": false } — or an empty block, which means the same. That is thinner
135
+ # than brand and campaign, where supplying data is the act of owning; it becomes
136
+ # ordinary the moment billing gains a contact or a payment method to carry.
137
+ billing: nil,
138
+ # The channels the profile sends on. Each is independently the profile's own or
139
+ # absent — none can be inherited, so none carries a mode and presence is the whole
140
+ # of the request.
141
+ #
142
+ # A profile can send SMS in several markets, but create takes one — the market it
143
+ # starts in. Further markets are added through POST /v3/channels/sms with
144
+ # x-profile-id, and a read returns them all as a list. Create stays singular
145
+ # permanently rather than being a list that accepts one entry: the constraint is
146
+ # in the type, and there is no later widening to break the contract.
147
+ channels: nil,
148
+ # The compliance values a market registers with. `brand` and `campaign` apply to
149
+ # US `TEN_DLC`; other markets fill this map with the document keys their own
150
+ # requirements name.
151
+ compliance: nil,
152
+ description: nil,
153
+ # Display name for the profile. Required.
154
+ name: nil,
155
+ # Who is notified about this profile's events: ORGANIZATION, SENDER_PROFILE, or
156
+ # ORGANIZATION_AND_SENDER_PROFILE. Omitting it leaves the profile on the
157
+ # Organization default.
158
+ notifications: nil,
159
+ # Sandbox flag - when true, the operation is simulated without side effects Useful
160
+ # for testing integrations without actual execution
161
+ sandbox: nil,
162
+ # Short name, which is also the SMS sender id — required. 3–11 characters of
163
+ # letters, numbers and spaces, with at least one letter.
164
+ short_name: nil,
165
+ idempotency_key: nil,
166
+ request_options: {}
167
+ )
168
+ end
169
+
170
+ sig do
171
+ override.returns(
172
+ {
173
+ billing: T.nilable(Sentdm::SenderProfileBillingRequest),
174
+ channels: T.nilable(Sentdm::SenderProfileChannels),
175
+ compliance: Sentdm::Channels::MarketCompliance,
176
+ description: T.nilable(String),
177
+ name: String,
178
+ notifications: T.nilable(String),
179
+ sandbox: T::Boolean,
180
+ short_name: String,
181
+ idempotency_key: String,
182
+ request_options: Sentdm::RequestOptions
183
+ }
184
+ )
185
+ end
186
+ def to_hash
187
+ end
188
+ end
189
+ end
190
+ end
@@ -0,0 +1,35 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SenderProfileDeleteParams < Sentdm::Internal::Type::BaseModel
6
+ extend Sentdm::Internal::Type::RequestParameters::Converter
7
+ include Sentdm::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Sentdm::SenderProfileDeleteParams, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
17
+ sig do
18
+ params(
19
+ id: String,
20
+ request_options: Sentdm::RequestOptions::OrHash
21
+ ).returns(T.attached_class)
22
+ end
23
+ def self.new(id:, request_options: {})
24
+ end
25
+
26
+ sig do
27
+ override.returns(
28
+ { id: String, request_options: Sentdm::RequestOptions }
29
+ )
30
+ end
31
+ def to_hash
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,57 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SenderProfileListParams < Sentdm::Internal::Type::BaseModel
6
+ extend Sentdm::Internal::Type::RequestParameters::Converter
7
+ include Sentdm::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Sentdm::SenderProfileListParams, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ # Page number, 1-indexed.
15
+ sig { returns(T.nilable(Integer)) }
16
+ attr_reader :page
17
+
18
+ sig { params(page: Integer).void }
19
+ attr_writer :page
20
+
21
+ # Profiles per page. Between 1 and 100.
22
+ sig { returns(T.nilable(Integer)) }
23
+ attr_reader :page_size
24
+
25
+ sig { params(page_size: Integer).void }
26
+ attr_writer :page_size
27
+
28
+ sig do
29
+ params(
30
+ page: Integer,
31
+ page_size: Integer,
32
+ request_options: Sentdm::RequestOptions::OrHash
33
+ ).returns(T.attached_class)
34
+ end
35
+ def self.new(
36
+ # Page number, 1-indexed.
37
+ page: nil,
38
+ # Profiles per page. Between 1 and 100.
39
+ page_size: nil,
40
+ request_options: {}
41
+ )
42
+ end
43
+
44
+ sig do
45
+ override.returns(
46
+ {
47
+ page: Integer,
48
+ page_size: Integer,
49
+ request_options: Sentdm::RequestOptions
50
+ }
51
+ )
52
+ end
53
+ def to_hash
54
+ end
55
+ end
56
+ end
57
+ end
@@ -0,0 +1,211 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SenderProfileRcs < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::SenderProfileRcs, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ sig { returns(String) }
12
+ attr_accessor :description
13
+
14
+ sig { returns(T.nilable(String)) }
15
+ attr_accessor :agent_use_case
16
+
17
+ sig { returns(T.nilable(String)) }
18
+ attr_accessor :banner_url
19
+
20
+ sig { returns(T.nilable(String)) }
21
+ attr_accessor :billing_category
22
+
23
+ sig { returns(T.nilable(String)) }
24
+ attr_accessor :brand_color
25
+
26
+ sig { returns(T.nilable(String)) }
27
+ attr_accessor :brand_email
28
+
29
+ sig { returns(T.nilable(String)) }
30
+ attr_accessor :brand_name
31
+
32
+ sig { returns(T.nilable(String)) }
33
+ attr_accessor :brand_phone_number
34
+
35
+ sig { returns(T.nilable(String)) }
36
+ attr_accessor :brief_company_description
37
+
38
+ sig { returns(T.nilable(String)) }
39
+ attr_accessor :company_ein
40
+
41
+ sig { returns(T.nilable(String)) }
42
+ attr_accessor :contact_name_and_title
43
+
44
+ sig { returns(T.nilable(String)) }
45
+ attr_accessor :customer_support_email
46
+
47
+ sig { returns(T.nilable(String)) }
48
+ attr_accessor :customer_support_phone_number
49
+
50
+ sig { returns(T.nilable(String)) }
51
+ attr_accessor :display_name
52
+
53
+ sig { returns(T.nilable(String)) }
54
+ attr_accessor :entity_type
55
+
56
+ sig { returns(T.nilable(String)) }
57
+ attr_accessor :help_message
58
+
59
+ sig { returns(T.nilable(String)) }
60
+ attr_accessor :hosting_region
61
+
62
+ sig { returns(T.nilable(String)) }
63
+ attr_accessor :logo_url
64
+
65
+ # The registered address of the company behind the agent.
66
+ sig { returns(T.nilable(Sentdm::Channels::RcsAddress)) }
67
+ attr_reader :official_address
68
+
69
+ sig do
70
+ params(
71
+ official_address: T.nilable(Sentdm::Channels::RcsAddress::OrHash)
72
+ ).void
73
+ end
74
+ attr_writer :official_address
75
+
76
+ sig { returns(T.nilable(String)) }
77
+ attr_accessor :opt_in_process_description
78
+
79
+ # Optional — uploaded separately and its URL may not be known at submission time.
80
+ sig { returns(T.nilable(String)) }
81
+ attr_accessor :opt_in_screenshot_url
82
+
83
+ sig { returns(T.nilable(String)) }
84
+ attr_accessor :privacy_policy_url
85
+
86
+ sig { returns(T.nilable(T::Array[String])) }
87
+ attr_accessor :sample_messages
88
+
89
+ sig { returns(T.nilable(String)) }
90
+ attr_accessor :start_message
91
+
92
+ sig { returns(T.nilable(String)) }
93
+ attr_accessor :stop_message
94
+
95
+ sig { returns(T.nilable(String)) }
96
+ attr_accessor :terms_and_conditions_url
97
+
98
+ sig { returns(T.nilable(String)) }
99
+ attr_accessor :website_url
100
+
101
+ # Asks for an RCS agent of the profile's own, optionally with the full order form
102
+ # inline.
103
+ #
104
+ # Two modes, distinguished by whether any field is populated: "rcs": {} — intent
105
+ # only. Records that the profile wants its own agent; the order form is submitted
106
+ # separately through POST /v3/channels/rcs once the fields are ready. "rcs": {
107
+ # ...fields... } — full form. All required fields must be present; the agent is
108
+ # created alongside the profile in one call. Omitting opt_in_screenshot_url is
109
+ # allowed.
110
+ sig do
111
+ params(
112
+ description: String,
113
+ agent_use_case: T.nilable(String),
114
+ banner_url: T.nilable(String),
115
+ billing_category: T.nilable(String),
116
+ brand_color: T.nilable(String),
117
+ brand_email: T.nilable(String),
118
+ brand_name: T.nilable(String),
119
+ brand_phone_number: T.nilable(String),
120
+ brief_company_description: T.nilable(String),
121
+ company_ein: T.nilable(String),
122
+ contact_name_and_title: T.nilable(String),
123
+ customer_support_email: T.nilable(String),
124
+ customer_support_phone_number: T.nilable(String),
125
+ display_name: T.nilable(String),
126
+ entity_type: T.nilable(String),
127
+ help_message: T.nilable(String),
128
+ hosting_region: T.nilable(String),
129
+ logo_url: T.nilable(String),
130
+ official_address: T.nilable(Sentdm::Channels::RcsAddress::OrHash),
131
+ opt_in_process_description: T.nilable(String),
132
+ opt_in_screenshot_url: T.nilable(String),
133
+ privacy_policy_url: T.nilable(String),
134
+ sample_messages: T.nilable(T::Array[String]),
135
+ start_message: T.nilable(String),
136
+ stop_message: T.nilable(String),
137
+ terms_and_conditions_url: T.nilable(String),
138
+ website_url: T.nilable(String)
139
+ ).returns(T.attached_class)
140
+ end
141
+ def self.new(
142
+ description:,
143
+ agent_use_case: nil,
144
+ banner_url: nil,
145
+ billing_category: nil,
146
+ brand_color: nil,
147
+ brand_email: nil,
148
+ brand_name: nil,
149
+ brand_phone_number: nil,
150
+ brief_company_description: nil,
151
+ company_ein: nil,
152
+ contact_name_and_title: nil,
153
+ customer_support_email: nil,
154
+ customer_support_phone_number: nil,
155
+ display_name: nil,
156
+ entity_type: nil,
157
+ help_message: nil,
158
+ hosting_region: nil,
159
+ logo_url: nil,
160
+ # The registered address of the company behind the agent.
161
+ official_address: nil,
162
+ opt_in_process_description: nil,
163
+ # Optional — uploaded separately and its URL may not be known at submission time.
164
+ opt_in_screenshot_url: nil,
165
+ privacy_policy_url: nil,
166
+ sample_messages: nil,
167
+ start_message: nil,
168
+ stop_message: nil,
169
+ terms_and_conditions_url: nil,
170
+ website_url: nil
171
+ )
172
+ end
173
+
174
+ sig do
175
+ override.returns(
176
+ {
177
+ description: String,
178
+ agent_use_case: T.nilable(String),
179
+ banner_url: T.nilable(String),
180
+ billing_category: T.nilable(String),
181
+ brand_color: T.nilable(String),
182
+ brand_email: T.nilable(String),
183
+ brand_name: T.nilable(String),
184
+ brand_phone_number: T.nilable(String),
185
+ brief_company_description: T.nilable(String),
186
+ company_ein: T.nilable(String),
187
+ contact_name_and_title: T.nilable(String),
188
+ customer_support_email: T.nilable(String),
189
+ customer_support_phone_number: T.nilable(String),
190
+ display_name: T.nilable(String),
191
+ entity_type: T.nilable(String),
192
+ help_message: T.nilable(String),
193
+ hosting_region: T.nilable(String),
194
+ logo_url: T.nilable(String),
195
+ official_address: T.nilable(Sentdm::Channels::RcsAddress),
196
+ opt_in_process_description: T.nilable(String),
197
+ opt_in_screenshot_url: T.nilable(String),
198
+ privacy_policy_url: T.nilable(String),
199
+ sample_messages: T.nilable(T::Array[String]),
200
+ start_message: T.nilable(String),
201
+ stop_message: T.nilable(String),
202
+ terms_and_conditions_url: T.nilable(String),
203
+ website_url: T.nilable(String)
204
+ }
205
+ )
206
+ end
207
+ def to_hash
208
+ end
209
+ end
210
+ end
211
+ end
@@ -0,0 +1,35 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SenderProfileRetrieveParams < Sentdm::Internal::Type::BaseModel
6
+ extend Sentdm::Internal::Type::RequestParameters::Converter
7
+ include Sentdm::Internal::Type::RequestParameters
8
+
9
+ OrHash =
10
+ T.type_alias do
11
+ T.any(Sentdm::SenderProfileRetrieveParams, Sentdm::Internal::AnyHash)
12
+ end
13
+
14
+ sig { returns(String) }
15
+ attr_accessor :id
16
+
17
+ sig do
18
+ params(
19
+ id: String,
20
+ request_options: Sentdm::RequestOptions::OrHash
21
+ ).returns(T.attached_class)
22
+ end
23
+ def self.new(id:, request_options: {})
24
+ end
25
+
26
+ sig do
27
+ override.returns(
28
+ { id: String, request_options: Sentdm::RequestOptions }
29
+ )
30
+ end
31
+ def to_hash
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,156 @@
1
+ # typed: strong
2
+
3
+ module Sentdm
4
+ module Models
5
+ class SenderProfileSMS < Sentdm::Internal::Type::BaseModel
6
+ OrHash =
7
+ T.type_alias do
8
+ T.any(Sentdm::SenderProfileSMS, Sentdm::Internal::AnyHash)
9
+ end
10
+
11
+ # ISO 3166-1 alpha-2 country the sender operates in, e.g. US.
12
+ sig { returns(String) }
13
+ attr_accessor :country
14
+
15
+ # The area codes to put this sender in, in your own order of preference, e.g.
16
+ # ["415", "628"] for the US or ["20"] for London. Omit it and a number is claimed
17
+ # anywhere in the country.
18
+ #
19
+ # Ordered, and the order is the request. The claim tries each code in turn and
20
+ # stops at the first that yields a number. Nothing sorts the list and a code
21
+ # listed twice is refused.
22
+ #
23
+ # One to fifty entries, each the area code as digits: 415, with the trunk prefix
24
+ # as 020, or with the country's dialing prefix as +1415 (all are stored as the
25
+ # bare code). A dialing prefix from a different country than country is refused.
26
+ # Each code is checked against the country's numbering plan: it must start real
27
+ # local or mobile numbers there, so toll-free and premium ranges, service codes
28
+ # and another country's codes are refused with a reason.
29
+ #
30
+ # LOCAL senders in any country, and US TEN_DLC senders. No other sender type has a
31
+ # geographic area code, and the list is refused with one rather than accepted and
32
+ # dropped.
33
+ #
34
+ # Honoured exactly or not at all. Ask for 415 and you get a 415 number or you get
35
+ # none, never a neighbouring code you did not name. A miss leaves the market with
36
+ # no sender yet and the codes recorded on it, so it is filled when stock appears
37
+ # rather than filled now from somewhere else. Many countries outside North America
38
+ # require address or business documents before a local number can be bought, which
39
+ # can delay or prevent the fill.
40
+ sig { returns(T.nilable(T::Array[String])) }
41
+ attr_accessor :area_codes
42
+
43
+ # Sender type: LOCAL, MOBILE, TEN_DLC, TOLL_FREE, SHORT_CODE or ALPHANUMERIC.
44
+ # 10DLC is accepted as a synonym of TEN_DLC. Availability varies by country.
45
+ sig { returns(T.nilable(String)) }
46
+ attr_accessor :number_type
47
+
48
+ # The numbers to assign, one entry per area code, e.g. [{"area_code": "212",
49
+ # "quantity": 2}, {"area_code": "415"}, {"quantity": 1}]: two numbers in 212, one
50
+ # in 415 and one in any area code. quantity defaults to 1, and an entry without
51
+ # area_code means any area code. Omit numbers for one number.
52
+ #
53
+ # Only with LOCAL or TEN_DLC, and not together with area_codes. Each area code is
54
+ # validated against country the same way area_codes is and may appear once, and at
55
+ # most one entry may leave area_code out. US TEN_DLC numbers are assigned when the
56
+ # campaign is approved, not at request time. Not available when the profile
57
+ # inherits the organization's campaign.
58
+ sig { returns(T.nilable(T::Array[Sentdm::Channels::SMSNumberRequest])) }
59
+ attr_accessor :numbers
60
+
61
+ # The sender's identity, where the caller chooses it rather than the carrier
62
+ # assigning it. Required when number_type is ALPHANUMERIC; omit for
63
+ # carrier-assigned types and one is provisioned.
64
+ sig { returns(T.nilable(String)) }
65
+ attr_accessor :sender_value
66
+
67
+ # One SMS market a profile sends in — a country and a sender type.
68
+ #
69
+ # A profile may have several. It is a tenant, not a market: a business sending to
70
+ # two countries is one customer of yours, and forcing it into two profiles would
71
+ # give it two API keys, two inboxes and two contact lists for one business. The
72
+ # platform already assumes many — CustomerChannelProviders is unique on (customer,
73
+ # channel, iso, number).
74
+ #
75
+ # No mode: a sender is the profile's own or it has none. Listing a market is the
76
+ # request for one.
77
+ #
78
+ # Also the discriminator for everything else: the compliance catalog is keyed on
79
+ # (country, number type), and that pair decides which fields brand accepts and
80
+ # what compliance is asked for.
81
+ sig do
82
+ params(
83
+ country: String,
84
+ area_codes: T.nilable(T::Array[String]),
85
+ number_type: T.nilable(String),
86
+ numbers:
87
+ T.nilable(T::Array[Sentdm::Channels::SMSNumberRequest::OrHash]),
88
+ sender_value: T.nilable(String)
89
+ ).returns(T.attached_class)
90
+ end
91
+ def self.new(
92
+ # ISO 3166-1 alpha-2 country the sender operates in, e.g. US.
93
+ country:,
94
+ # The area codes to put this sender in, in your own order of preference, e.g.
95
+ # ["415", "628"] for the US or ["20"] for London. Omit it and a number is claimed
96
+ # anywhere in the country.
97
+ #
98
+ # Ordered, and the order is the request. The claim tries each code in turn and
99
+ # stops at the first that yields a number. Nothing sorts the list and a code
100
+ # listed twice is refused.
101
+ #
102
+ # One to fifty entries, each the area code as digits: 415, with the trunk prefix
103
+ # as 020, or with the country's dialing prefix as +1415 (all are stored as the
104
+ # bare code). A dialing prefix from a different country than country is refused.
105
+ # Each code is checked against the country's numbering plan: it must start real
106
+ # local or mobile numbers there, so toll-free and premium ranges, service codes
107
+ # and another country's codes are refused with a reason.
108
+ #
109
+ # LOCAL senders in any country, and US TEN_DLC senders. No other sender type has a
110
+ # geographic area code, and the list is refused with one rather than accepted and
111
+ # dropped.
112
+ #
113
+ # Honoured exactly or not at all. Ask for 415 and you get a 415 number or you get
114
+ # none, never a neighbouring code you did not name. A miss leaves the market with
115
+ # no sender yet and the codes recorded on it, so it is filled when stock appears
116
+ # rather than filled now from somewhere else. Many countries outside North America
117
+ # require address or business documents before a local number can be bought, which
118
+ # can delay or prevent the fill.
119
+ area_codes: nil,
120
+ # Sender type: LOCAL, MOBILE, TEN_DLC, TOLL_FREE, SHORT_CODE or ALPHANUMERIC.
121
+ # 10DLC is accepted as a synonym of TEN_DLC. Availability varies by country.
122
+ number_type: nil,
123
+ # The numbers to assign, one entry per area code, e.g. [{"area_code": "212",
124
+ # "quantity": 2}, {"area_code": "415"}, {"quantity": 1}]: two numbers in 212, one
125
+ # in 415 and one in any area code. quantity defaults to 1, and an entry without
126
+ # area_code means any area code. Omit numbers for one number.
127
+ #
128
+ # Only with LOCAL or TEN_DLC, and not together with area_codes. Each area code is
129
+ # validated against country the same way area_codes is and may appear once, and at
130
+ # most one entry may leave area_code out. US TEN_DLC numbers are assigned when the
131
+ # campaign is approved, not at request time. Not available when the profile
132
+ # inherits the organization's campaign.
133
+ numbers: nil,
134
+ # The sender's identity, where the caller chooses it rather than the carrier
135
+ # assigning it. Required when number_type is ALPHANUMERIC; omit for
136
+ # carrier-assigned types and one is provisioned.
137
+ sender_value: nil
138
+ )
139
+ end
140
+
141
+ sig do
142
+ override.returns(
143
+ {
144
+ country: String,
145
+ area_codes: T.nilable(T::Array[String]),
146
+ number_type: T.nilable(String),
147
+ numbers: T.nilable(T::Array[Sentdm::Channels::SMSNumberRequest]),
148
+ sender_value: T.nilable(String)
149
+ }
150
+ )
151
+ end
152
+ def to_hash
153
+ end
154
+ end
155
+ end
156
+ end